index AudioProcessing → AudioManipulation
Die meisten Sound-Bearbeitungsprogramme gestatten die Anwendung von Effekten auf die bearbeitete Sounddatei. Von besonderer Wichtigkeit ist aber unter Linux die LADSPA (Linux Audio Developers' Simple Plugin API), welche eine Architektur und Sammlung von Effekt-Modulen (plugins) darstellt.
Ein Problem bei der massenhaften Nachbearbeitung von Schallplatten-
oder Tonbandaufnahmen ist hier aber, daß die benutzten Effekte
jedesmal neu eingestellt werden müssen... Eine Ausnahme ist glame
,
welches allerdings bei mir immer abstürzt, wenn man versucht, ein
frisch angelegtes Filternetzwerk zu speichern bzw. zu
registrieren. Warum, kann ich nicht sagen. Aber als schnelle
Alternative bot sich mir ecasound an:
ecasound -i:test.wav -o:alsa,default \ -el:mbeq,10,6,3,0,0,0,2,4,6,8,10,10,10,5,0 -el:amp_stereo,6
Dieser Befehl spielt gibt die Datei test.wav (-i:
) unter Verwendung
der ladspa-Filter mbeq
(multiband equalizer) und amp_stereo
(stereo amplifier -- Lautstärkeregulierung) ab -- als Ausgabegerät
wurde mit -o:alsa,default
das Standard Alsa-Gerät angegeben. Die
Zahlen nach mbeq und amp_stereo sind die Filterparameter und bedeuten
in diesen Fällen die Einstellungen der einzelnen Frequenzbänder
bzw. der Lautstärke.
Sollen die eingestellten Effekte nun in einer neuen Datei abgelegt
werden (bspw. zwecks Konservierung auf einem optischen Tonträger oder
so), dann wird statt -o:alsa,default
der gewünschte Dateiname
angegeben:
ecasound -i:test.wav -o:test1.wav \ -el:mbeq,10,6,3,0,0,0,2,4,6,8,10,10,10,5,0 -el:amp_stereo,6
Statt die Lautstärke mit dem "amplifier" zu regeln, könnte man auch
das Kommando ecanormalize
(siehe man ecatools
) verwenden,
zumindest solange man keine Knackser in der Aufnahme hat, die das
Maximum des Signals verfälschen und somit verursachen, daß das
eigentliche Geräusch weiter zu leise bleibt...
Um die Kommandozeile zu verkürzen, und um sich die Parameter nicht
jedesmal merken zu müssen, legt man Voreinstellungsdateien an
(preset-Dateien), welche typischerweise die Endung .ecp
besitzen. Z.B.:
$ cat kahler.ecp # ecasound preset for manipulation of speech files kahler = -el:mbeq,10,6,3,0,0,0,2,4,6,8,10,10,10,5,0 \ -el:amp_stereo,5
Der so definierte Vorlage-Effekt wird nun mit bspw. wie folgt aufgerufen:
# Ausgabe über alsa-Gerät (Soundkarte, Standardkanal) ecasound -i:test.wav -o:alsa,default -pf:kahler.ecp # Ausgabe in Ausgabedatei test3.wav ecasound -i:test.wav -o:test3.wav -pf:kahler.ecp <example> Damit läßt sich dann beispielsweise der folgende Einzeiler zur Verwandlung aller Dateien mit Namensmuster xy.wav ↠ xy.new.wav ausführen: <example> $ for F in [01][0-9].wav; do G=`echo $F | sed 's/\.wav/.new.wav/'`; \ ecasound -i:$F -o:$G -pf:kahler.ecp; done