Dez

1

By emonkey

No Comments

Categories: GNU/Linux, Kubuntu, Ubuntu, kubuntu-de.org

PGP/GPG key signing commands

Because I don’t sign keys very often I always have to search for the commands. So here is a little reminder for my bad memory(called /dev/brain).  ;-)

Get keys from a keyserver: gpg –keyserver pgp.mit.edu –recv-keys  <key>

Sign the key with your key: gpg –sign-key <key>

Export the key to a public keyserver: gpg –keyserver pgp.mit.edu –send-keys <key>

Remember that not everyone want to have his keyy on a public keyserver. And yes there are ways to do that with kgpg, but for key signing sessions where a lot of keys should be signed it’s much more comfortable with the command line interface.

More Informations under this links:

Sep

16

By emonkey

No Comments

Categories: GNU/Linux, Kubuntu, Persönlich - personal, Pfadfinder - scouts, Ubuntu, kubuntu-de.org

On the road … – Tour de Suisse

I wrote this blogentry already but unfortunately I deleted it on my own stupidity. Nevertheless I want to tell you a bit about my holiday job. After my last exam I received a call for this job and I accept it because it matched very well with my spare time until the beginning of the new semester. The cool thing about the job was that I was able to travel through our whole country and visit many friends. And of course there we’re many beautiful places alle over the whole journey:

http://blog.diener.li/uploads/080901_gatour_thunersee.jpg – Blick in der Nähe von Spiez in Richtung Norden über den Thunersee

http://blog.diener.li/uploads/080901_gatour_bodensee.jpg – Blick über den Untersee des Bodensee zwischen Stein am Rhein und Konstanz

http://blog.diener.li/uploads/080901_gatour_lacdeneuchatel.jpg – Blick westlich von Neuenburg Richtung Murten

http://blog.diener.li/uploads/080901_gatour_lacleman.jpg – Blick westlich von Lausanne in Richtung Südosten

http://blog.diener.li/uploads/080901_gatour_zuerichsee.jpg – Blick von der Autofähre über den Zürichsee in Richtung Meilen/Rapperswil

Ok there we’re also negative sides, especially a lot of time which I spent alone in the car. Therefore it was very importent for me to see friends for lunch or a coffee in the afternoon. Thank you very much for being around and taking some time for me! Thanks also to the very friendly staffs from the Kandersteg International Scout Center (KISC) where I spent one of the nights. And don’t forget to thanks all the people around me which had a lot of patient because I was just away without really an announcement. It was truly a bit an impulsiv and offhanded decision to get this job down. Sorry for not announcing it very well.

Thank you all again you’re just great!

Jan

25

By emonkey

No Comments

Categories: GNU/Linux

Audio Dateien mit sox konvertieren

Eines der System welche ich geschäftlich betreue ist ein Call Center. Zur Zeit gibt es immer mehr Hotlines die mit diesem System arbeiten. Das hat zur Folge das wir auch immer mehr mit den Begrüssungs- und Ansagetexten der verschiedenen Hotlines zu tun haben. Über die Jahre gibt es mittlerweile an die tausend Textbausteine mit denen die Texte zusammen gestellt werden. Jede Gruppe hat verschiedene eigene Texte, welche natürlich auch in den drei grossen Landessprachen der Schweiz und in Englisch zu Verfügung stehen müssen.

Bislang wurden neue Texte beim Hersteller in einem Studio mit einer professionellen Sprecherin jedes Mal neu produziert. Dies ist natürlich kostenintensiv, macht uns aber auch von externen Schnittstellen abhängig und dauert zu dem länger. Also machte ich mir einige Gedanken wie ich diese Situation verbessern könnte.

Das erste Problem bestand darin das ich die Texte im vorhandenen Format nicht oder nur schwer abhören konnte. Wollte ich also wissen was für eine Ansage in einer Audiodatei war, war ich gezwungen diese einer Testgruppe zuzuweisen und sie dann per Telefon abhören. Pro Text dauert dies an die 2-5 Minuten. Wenn ich also hunderte von Texte in ein Inventar aufnehmen wollte, war das keine praktikable Lösung.

Also installierte ich mir erstmal Audacity und versuchte damit die Audiodateien zu öffnen. Leider stellte sich heraus dass das Format ein Rohdatenformat ohne jegliche Headerinformationen war. Nach einigen Recherchen und viel Knobeln fand ich nun zumindest das richtige Format. Es handelt sich um ein in der Telefon- und Vermittlungs Anlagen verbreitetes RAW Format. (MU-LAW, unsigned bit, 8000Hz, Mono)

Nun war ich in der Lage die Dateien in Audacity über den Rohdatenimport einzulesen, abzuhören und natürlich auch in andere Formate umzuwandeln. Eigentlich ein grosser Fortschritt da ich nun wenigstens die wichtigsten Texte in WAV oder MP3 Dateien umwandeln konnte und sie auf jedem Rechner mit den üblichen Mediaplayern abspielen konnte.

Für die grosse Anzahl der Dateien leider noch immer kein praktibler Weg. Auf der Suche nach einem brauchbaren Freeware oder OSS Programm, das auch für Windows zur Verfügung steht, suchte ich mir erfolglos die Finger wund. Leider bin ich gezwungen ein Lösung zu finden, die auch auf den Standard-Desktops meines Arbeitgebers, also auf Windows XP, funktioniert. Da die Zeit aber langsam knapp wurde, entschied ich mich zu meinem Kubuntu-Linux Laptop zu greifen und es damit anzugehen.

Nach einem Tipp aus dem IRC Kanal der LUG Schweiz wurde ich auf das Konsolenprogramm sox aufmerksam. Konsole war insofern schon mal sehr gut, da ich mittels eine Skript eine Konvertierung schnell und trotz meinem meinen rudimentären Konsolen-Kenntnissen programmieren konnte. Nach einigem Suchen im Internet, dem Lesen des englischen Handbuches und ein wenig Knobeln, hatte ich die benötigten Attribute zusammen.

Befehl mit Attributen die ich benötigte für die Konvertierung von RAW zu WAV:

sox -r 8000 -U -b -c 1 -t raw RAWDATEI WAVEDATEI.wav

Befehl mit Attributen die ich benötigte für die Konvertierung von WAV zu RAW:

sox -t wav WAVEDATEI -t .ul -U -s -b -c 1 -r 8000 RAWDATEI.raw

Da ich den Befehl aber nicht für hunderte von Dateien anpassen wollte, musste ich den Befehl nun mit einem Skript in eine Schleife packen. Ich erstelle also die Datei raw2wav und schrieb darin folgende Zeilen:

#!/bin/bash
for f in $* ;do
g=$f
sox -r 8000 -U -b -c 1 -t raw $f $g.wav
echo $f to $g converted
done
echo done

Die Datei muss natürlich noch ausführbar gemacht werden:

chmod +x raw2wav

Denn ich das Skript nun starte mit

./raw2wav *.raw

so werden sämtliche Dateien in diesem Ordner mit der Endung .raw konvertiert und als Kopie mit der Endung .wav abgespeichert.

Bei mir hatte ich zusätzlich das Problem, dass die Dateiendungen nicht .raw sind, sondern eine Bezeichnung welche kennzeichnet, zu welcher Callcenter Gruppe sie gehören. Natürlich kann das Skript mit entsprechend anderen Paramatern wie

./raw2wav .*

aufrufen, dann werden alle Dateien mit einem Punkt in Namen konvertiert. Das wirkliche Problem besteht aber darin, dass beim Speichern der Kopie ja die neuen Dateien alle die Endung .wav erhalten. Somit überschreibt das Skript jeweils die bereits erstellten Datein. Hier ein Beispiel:

  1. Begrüssungstext der Gruppe 1 (begr.001) wird als begr.wav gespeichert.
  2. Begrüssungstext der Gruppe 2 (begr.002) wird als begr.wav gespeichert, womit die WAV-Datei der Gruppe 1 überschrieben wird.

Also musste ich den Dateinamen beim Speichern insofern verändern, dass er einmalig und aussagekräftig ist. Ich suchte also nach einer Möglichkeit die Gruppennummer in den Dateinamen einfliessen zu lassen. Wie bereits erwähnt sind meine Skript-Kenntnisse nur grundlegend und mit Variablenmanipulationen mit regulären Ausdrücken bin ich eher schwach. Zum Glück gibt es im IRC Kanal der LUG Schweiz Leute die davon eine Menge Ahnung haben. Recherche im Internet und selbständiges Pröbeln war wegen Termindruck damals leider keine Option, obwohl es gut wäre wenn ich mich endlich etwas tiefer mit regulären Ausdrücken auseinander setzen würde.

Das Ziel war es den Dateinamen wie folgt zu manipulieren:

begr.001 > begr001.wav
begr.002 > begr002.wav

begr.00n > begr00n.wav

Erreicht habe ich das schluss endlich mit folgendem Befehl, welche den Befehl auf Zeile 3 des Skripts ersetzt:

g=`echo $f | sed “s,\..,,g”`

Noch ein kleiner Tipp falls ihr mit den Attributen von sox spielen wollt, um die korrekten Einstellungen zu erhalten. Baut einfach am Ende der Schlaufe nach Zeile 6 einen Befehl ein welcher euch das konvertierte gleich abspielt. Alternativ kann man auch die Zeile 4 mit diesem Befehl ersetzen, dann wandelt man die Dateien nicht in WAV um sondern hört sie bloss ab.

sox -r 8000 -A -b -s -c 1 -t .ul $g.raw -t ossdsp /dev/dsp

Eigentlich sind wir hiermit schon am Ende. Da ich aber die Dateien nicht nur abhören wollte, sondern auch mit Audacity anpassen (z.B. Ansagen kürzen) wollte, musste ich mir auch ein Skript erstellen, dass den Vorgang wieder umkehrt. Also ein Skript das aus einer WAV-Datei wieder eine RAW-Datei mit denselben Eigenschaften erstellt. Mit Sox ist das natürlich kein Problem, man braucht lediglich die Attribute zu vertauschen. Hier das vollständige Skript welches ich analog zu raw2wav, wav2raw genannt habe:

#!/bin/bash
for f in $
* ;do
g=`echo $f | sed “s,\..*,,g”`
sox -t wav $f -t .ul -U -s -b -c 1 -r 8000 $g.raw
echo $f converted
#sox -r 8000 -A -b -s -c 1 -t .ul $g.raw -t ossdsp /dev/dsp
done
echo done

Falls die konvertierte Datei nach dem Umwandeln gleich abgehört werden möchte, muss man einfach die Zeile 6 auskommentieren.

Nun ich hoffe dass es da draussen Jemand gibt dem meine Erläuterungen etwas bringen, ansonsten habe ich das wenigstens für mich dokumentiert und weiss wo ich nachsehen muss, falls ich es wieder einmal brauchen werde.

Hier noch zwei Links die eventuell von Nutzen sein können: