|
|
Dieses Dokument ist verfübar auf: English Castellano Deutsch Francais Nederlands Portugues Russian Turkce Arabic |
von Philip de Groot Über den Autor: Bald bekommt er seinen Doktor von der Universität Nijmegen in Chemometrie. Er arbeitet gern mit Linux und schreibt regelmäßig seine Erfahrungen auf. Inhalt: |
Zusammenfassung:
Dieser Artikel ist eine Fortsetzung eines früheren Artikels über Echtzeit mp3 Aufnahmen von z.B Radioübertragungen. Ich habe gezeigt, wie 12 Stunden Musik in einer 650 MB großen Datei oder 24 in einer 1.3 Gigabyte Datei gespeichert werden können mit fast CD Qualität (128 kbit/s; Stereo). Wie handhabt man nun solche großen Dateien? Kann man noch längere Aufnahmen machen oder die Musik noch stärker komprimieren? Wie steht es mit der Qualität? Wir werden versuchen diese Fragen zu beantworten.
Kurzgesagt, Du brauchst ein Programm, das in der Lage ist mp3 Dateien selbst zu editieren. Solche Programme existieren, aber nicht (im Moment) für Linux. Eine ganze Reihe solcher Programme gibt es für Windows, aber die meisten haben ein großes Problem: Sie können nicht mit mp3 Dateien von 650 MB umgehen. Ich habe ein Programm gefunden, das in der Lage ist mit solchen Dateien zu arbeiten: 'Manns' mp3 edit'. Ich benutze das Programm unter Windows98. In seinem graphischen Interface kann man Anfang und Ende des gewünschten Stückes wählen. Man kann diese Stück mit dem 'trim' Befehl kopieren. Das Programm ist 'donationware', das heißt du solltest dafür zahlen, falls das Programm Deinen Wünschen entspricht. Das Programm hat ein Problem: Es ist furchtbar langsam bei einer 650 MB Datei und es kann nur KONSTANTE Bitraten handhaben. Um z.B den Anfang der letzten Stunde einer 24 Stundenaufnahme zu suchen, braucht es sehr lange und involviert heftige Plattenzugriffe. Das 'Trimmen' des entsprechenden Musikstücks dagegen geht recht schnell. Bis jetzt konnte ich noch keine Probleme bei den so bearbeiteten mp3 Dateien feststellen. Trotzdem überprüfe ich immer die fertigen Dateien, indem ich sie nochmal in den mp3 Editor lade. Falls das Laden funktioniert sind die Dateien OK. Während meiner ersten Experimente mit diesem Editor habe ich schon auf den 'trim'-Knopf gedrückt, während die Platte noch heftigst arbeitete. Das führte zu einer unbrauchbaren mp3 Datei. Um dir einen Anhaltspunkt zu geben: Das Editieren einer 650 MB Datei braucht etwa eine Stunde, hauptsächlich weil man immer warten muß (etwas frustrierend).
Der Vorteil diese Vorgehens ist die geringe Prozessorlast. Die
Imagedateien existieren schon und werden nur langsam gefüllt.
Man kann das mit einem Script automatisieren. Die CDs habe ich
jedoch immer von Hand gebrannt, falls es Probleme beim Brennen gibt, sieht
man es sofort.
Das war einmal aufgrund einer fehlerhaften LeerCD der Fall. Aus
diesem Grund erzeugte ich 4 Imagedateien. Damit hätte ich 36
Stunden Zeit, um irgendwelche Probleme zu lösen.
Das Script sah so aus:
#!/bin/sh echo "loading modules for sound support..." modprobe -k snd-card-sb16 modprobe -k snd-pcm-oss modprobe -k snd-mixer-oss echo "setting mixer..." amixer set Line 31 unmute capture; amixer set Master 31; amixer set PCM 31 cd /where/ever/you/stored/the/images/ for i in 1 2 3; do for ii in 1 2 3 4; do echo "mounting image_$ii on /mnt ..." mount -t ext2 -o loop=/dev/loop1 image_$ii /mnt echo "starting mpegrec ..." mpegrec -b 128 -x -mj -o /mnt/top2000_$ii.mp3 echo "umount /mnt" umount /mnt done done
Ich habe alles OHNE XWindows gemacht, nur mit dem Bash-prompt. Ich lud die Soundunterstützung von Hand, genauso wie die OSS Emulation (notwendig, um einen korrekt funktionierenden ALSA-Treiber zu erhalten) und den mixer Treiber. Natürlich könnte man das mit pre-install/post-install Triggern in /etc/conf.modules automatisieren. Die vierte Zeile im Script konfiguriert den Mixer: Aufnahmequelle ist 'line-in' und die Lautstärke wird auf Maximum gestellt. Danach übernimmt das Script das Mounten und Unmounten der Imagedateien. Die mpegrec Option '-mj' ist für joined stereo recording. Ich tat das, da ich kleinere mp3 Dateien erwartete, aber das war nicht der Fall. Die nächsten Aufnahmen werde ich mit normalem Stereo machen. Das 'mpegrec' Programm sollte nach 12 Stunden aufhören. Um das zu erreichen, editierte ich den Quellcode und änderte die maximal 24 Stunden (die ich einfach im Quellcode beschrieben fand) in 12 Stunden um. Leider funktionierte das nicht. Das Programm nahm weiter auf und ich mußte mit crtl-c abbrechen. Ich verstehe das 'mpegrec' überhaupt nicht mehr. Ich sollte den Quellcode genauer lesen.....
Anmerkung:
Die neuste Version von cdrecord (cdrecord-1.9) brachte Probleme
beim Erzeugen der CDs. Die vorherige Version cdrecord-1.8.1,
arbeitete ohne Probleme. Ich löste das Problem, indem ich die
Firmware meines CD Recorders, Philips CDD 3610 von Version 3.02 aus
Version 3.09 updateted. Ursprünglich vermutete ich, daß
die CD Brennprobleme durch den Kernel, 2.4.3, verursacht
würden, aber das stimmte nicht.
Zusammenfassung der wichtigsten Fakten:
#!/bin/bash echo "record $1 named ($3) for $2 seconds" aumix -f ~/.aumixrc /usr/bin/yes x | /usr/bin/radio $1 >/dev/null 2>/dev/null sox -V -r 44100 -c 2 -t ossdsp -w -s /dev/dsp -t wav - 2>/dev/null | lame - ~/$3.`/bin/date "+%H%M.%m-%d-%y"`.mp3 --resample 16 -b 8 -a -m m -h --lowpass 4 --highpass .12 --voice& sleep $2 kill -9 $! # copy the output to a different direcory. If you want you can # replace cp by rcp or scp and copy it to a different computer: cp $3.*`/bin/date "+.%m-%d-%y"`.mp3 /tmp/outputdir
Das Hauptziel des Scripts ist eine verständliche Radioaufnahme zu machen, die nur 3.5 megabyte/Stunde Plattenplatz braucht! Mit verständlich meine ich, daß man in der Lage sein muß, die aufgenommene Sprache zu verstehen. Natürlich ist die Qualität furchtbar. Die erste Zeile des Scripts konfiguriert den Mixer und startet das Radiokartenprogramm sowie Sox. Der Trick besteht in den lame'-Optionen, die wir hier untersuchen:
--resample 16 | Definiere erneut die re-sampling Rate der Ausgabedatei von 44 kHz auf 16 kHz. |
-b 8 | Setze die sampling Rate auf 8 kbit/s. |
-a | Kombiniere die Stereokanäle zu mono. |
-m m | Erzwinge mp3 mono |
-h | high-quality mp3 Kodierung (langsamer) |
--lowpass 4 | Setze den Tiefpaßfilter auf 4 KHz. Alle Signale (Frequenzen) höher als 4 kHz werden entfernt. |
--highpass .12 | Setze den Hochpaßfilter auf .12 kHz. Alle Frequenzen unter .12 kHz werden entfernt. |
--voice | Benutze eine mp3-Kompression, die für Sprache optimiert ist. |
Es ist klar, daß man eine hohe Kompression für Sprache erhalten kann. Meist ist das nicht unbedingt erwünscht, aber hier die Möglichkeit aufgezeigt.
#!/bin/sh /usr/local/bin/mpegrec \ -l 5400 \ -x '--preset fm \ --tt "Computers in Your Life" \ --tl "Open Line with Tom Wieble" \ --ta "Tom Wieble" --ty `date +%Y` \ --tg "Speech" \ --tc "Copyright (c) 1997 - `date +%Y` WOSU" -c' \ -o open_line_`date +%d%b%y`_`date +%H%M`.mp3
Die Option '-l 5400' setzt die Aufnahmenzeit auf 90 Minuten. Alle Optionen nach '-x' werden direkt an 'lame' weitergegeben (lines 4 to 9) und die '-o' Option speichert die Dateien als 'Datum_Zeit.mp3'. Diese Zeilen können nach Bedarf angepasst werden. Für diesen Zweck mag es nützlich sein, sich die 'lame'-Optionen genauer anzusehen. Die Optionen von Lame sind in der folgenden Tabelle zusammengefaßt:
--preset fm | Lame kennt einige Standardeinstellungen. 'fm' ist für Fm-Radioaufnahmen. Ich bevorzuge jedoch die normalen Aufnahmen mit 128 kbit/s. |
--tt "Computers in Your Life" | '--tt' Setze den Titel einer Aufnahme (30 Zeichen maximal). |
--tl "Open Line with Tom Wieble" | '--tl': Abbum, oder: Ursprüngliche Quelle (30 Zeichen max). |
--ta "Tom Wieble" --ty `date +%Y` | '--ta': Künstler (30 Zeichen max). |
--tg "Speech" | '--tg': Gattung (Name oder Nummer). |
--tc "Copyright (c) 1997 - `date +%Y` WOSU" -c" | '--tc': Kommentar ( 30 Zeichen max). |
Kurz gesagt eine schöne Art mp3 Dateinen zu erzeugen mit Datum, Zeit und verschiedenen anderen Informationen. Es erfordert etwas Zeit all das in ein Script zu packen, aber es ist gut zu sehen, daß all dies möglich ist.
|
Der LinuxFocus Redaktion schreiben
© Philip de Groot, FDL LinuxFocus.org Einen Fehler melden oder einen Kommentar an LinuxFocus schicken |
Autoren und Übersetzer:
|
2001-05-04, generated by lfparser version 2.13