Beim Stichwort Mehrspuraufnahme denken die meisten wohl an hübsche GUIs mit Dutzenden von Reglern. Dass es auch anders geht, beweist das schlanke und handliche Tool Ecasound.
Der kreative Musiker muss seit einiger Zeit auch bei seinem Hobby nicht mehr auf den Linux-PC verzichten. Umfangreiche Anwendungen wie der aufwändige Harddisk-Recorder Ardour [2] oder der KDE-basierte Audio- und MIDI-Sequencer Rosegarden [3] leisten mittlerweile beim Heimrecording schon ganz passable Dienste. Einige unter Ihnen halten auch der Konkurrenz kommerzieller Produkten wie Pro-Tools oder Cubase durchaus stand.
Harddisk-Recording ist allerdings nicht erst seit Ardour & Co mit Linux möglich. Quasi das Urgestein der Audio-Aufnahme und -bearbeitung unter Linux stellt das unscheinbare Kommandozeilenwerkzeug Ecasound [1] dar. Das von Kai Vehmahnen 1997 ins Leben gerufene Programm kann schon lange vieles, was Ardour erst mühsam erlernen muss. Dabei glänzt Ecasound obendrein durch herausragende Stabilität und ein flexibles, schnörkelloses Design.
Obwohl Ecasound ursprünglich als Effektprozesser entworfen wurde, stellen Aufnahmen und Mixing ebenso wenig ein Problem dar wie Klangnachbearbeitung, Formatkonvertierung oder das Digitalisieren von Schallplatten oder Musikkassetten.
Installation
Ecasound befindet sich in den Repositories nahezu jeder aktuellen Distribution. Sie können das Programm also in der Regel über die Paketverwaltung einspielen. Alternativ laden Sie die Quellen von der Projektseite herunter. Trotz seines Alters wird das Tool noch aktiv gepflegt: Das Release 2.4.5 mit Unterstützung für den freien verlustlosen Codec FLAC erschien im Dezember 2006.
Das größte Hindernis bei der Arbeit mit Ecasound stellt in der Regel die richtige Installation des Audiosystems dar. Sie sollten sicherstellen, dass die ALSA-Treiber für Ihre Soundkarte korrekt funktionieren.
Darüber hinausgehend ist aber für professionelle Aufnahmen besonders die Echtzeitfähigkeit des Kernels von Belang. Es existieren für verschiedene Distributionen diverse vorkompilierte Kernel, die für Multimedia-Anwendungen geeignet sind. Die Konfiguration eines leistungsfähigen Audiosystems kann unter Linux mitunter etwas schwierig sein. Es lohnt, sich vor größeren Arbeiten mit Ecasound im Internet in das Thema einzulesen. Einen guten Einsteig bietet das Ubuntu-Studio-Wiki [4]. Für erste Experimente oder einfache Hobby-Aufnahmen reicht aber auch ein Standard-Kernel ab Version 2.6.12.
Achtung, Aufnahme!
Schließen Sie ein Mikrophon oder ein Instrument an den Line-Eingang Ihrer Soundkarte an. Achten Sie darauf, dass der Eingangskanal aufgedreht und nicht stumm geschaltet ist, indem Sie die Einstellungen in einem Mixerprogramm wie kmix oder gamix überprüfen. Öffnen Sie dann ein Terminalfenster und starten Sie Ihre erste Aufnahme durch Eingabe von ecasound -i:alsa -o:test.wav.
Um die Aufnahme zu beenden, drücken Sie [Strg]+[C]. Der Befehl ecasound -i:test.wav -o:alsa spielt die Aufnahm wieder ab. Klappt das nicht, gilt es an die Fehlersuche zu gehen. Dabei hilft der Kasten “Troubleshooting”.
Troubleshooting
Probleme mit der Audioaufnahme oder -wiedergabe können vielerlei Ursachen haben. Wenn Sie sicher sind, dass der für Ihre Soundkarte passende Treiber korrekt installiert ist und mit anderen Anwendungen funktioniert, sollten sie zunächst die Mixereinstellungen überprüfen. Nicht der Playback-Regler für den Line-Eingang, sondern der Capture-Regler ist für eine Aufnahme von Belang. Weiterhin muss der entsprechende Eingang (Mikrofon oder Line) zur Aufnahme angewählt sein. Zudem bieten viele Soundkarten einen AC97-Regler, der für das Capturing und das Playback aufgedreht sein muss und nicht stumm geschaltet sein darf.
Benutzen sie einen Sound-Dämon wie ESD oder Arts, sollten Sie diesen abschalten, da die Soundkarte sonst blockiert ist. Unter KDE deaktivieren Sie dazu die Option Soundsystem aktivieren im Soundmodul des Kontrollzentrums. Eine andere Möglichkeit besteht darin, Ecasound anzuweisen, sich in das Soundsystem mit einzuklinken. Dies funktioniert durch Angabe von -o:arts anstelle von -o:alsa.
Klingt eine Aufnahme verzerrt, müssen Sie den Eingangspegel anpassen. Starten Sie dazu das zum Lieferumfang von Ecasound gehörende Tool ecasignalview (Abbildung 4). Spielen Sie Ihr Instrument (starten Sie das Playback über die Line-In der Soundkarte) und beobachten Sie den Ausschlag der Anzeige. Bewegt sich der Pegel im roten Bereich, ziehen Sie den Line-Capture-Regler in Ihrem Mixerprogramm herunter.

ecasignalview lässt sich der Eingangspegel überwachen.” width=”300″ height=”188″ />
Abbildung 4: Mit dem Toolecasignalview lässt sich der Eingangspegel überwachen.Channels
Bei Ecasound dreht sich alles um Kanäle, englisch Channel. Solange Sie wie im Beispiel nur einen einzigen Kanal haben, weisen Sie diesem durch den Kommandozeilenparameter -i:Eingang einen Eingang und durch -o:Ausgang einen Ausgang zu. Ein- und Ausgänge können entweder Audio-Dateien auf Ihrer Festplatte oder ein Device wie alsa oder das obsolete /dev/dsp sein. Durch Angabe von jack als Ausgabekanal öffnet Ecasound einen neuen Kanal im Jack-Audioserver, den Sie dann zum Beispiel mit dem Programm qjackctl komfortabel mit Ihrer Soundkarte oder auch einer anderen Audioanwendung verbinden können. Über diesen Umweg nehmen Sie zum Beispiel auch den Output eines Software-Synthesizers wie FluidSynth [5] auf.
Benötigen Sie mehrere Kanäle, weil sie mehrere Spuren gleichzeitig aufnehmen oder abspielen wollen, so hilft der Kommandozeilenparameter -a:Channel. Er bewirkt, dass sich alle nachfolgenden Ein- oder Ausgangszuweisungen durch die -i und -o Optionen auf den Kanal Channel beziehen. Den Platzhalter Channel ersetzen Sie dabei durch eine Nummer oder einen beliebigen Namen. Beispielsweise gibt der Befehl
ecasound -a:1 -i:test.wav -o:alsa -a:2 -i:alsa -o:test2.wav
die Datei test.wav auf die Soundkarte aus und nimmt gleichzeitig von dieser die neue Datei test2.wav auf (Abbildung 1). Während Sie Ihre erste Aufnahme hören, fügen Sie also eine neue Spur hinzu. Um dieses Ergebnis anzuhören, geben Sie folgendes Kommando ein:
ecasound -a:1 -i:test.wav -a:2 -i:test2.wav -a:1,2 -o:alsa
Wie das Beispiel zeigt, können Sie hinter dem Parameter -a durchaus mehrere, durch Kommas abgetrennt Channels angeben. Das Beispiel weist dem ersten Kanal die erste Audiodatei, dem zweiten Kanal die zweite Audiodatei und beiden Kanälen schließlich den Soundkarten-Ausgang zu, sodass Sie beide Kanäle auf einmal hören.

Abbildung 1: Ecasound liefert bei der Arbeit zusätzliche Informationen über die Kanäle, Eingänge und Ausgänge.
Effektiv
Jedem Kanal können Sie neben je einem Ein- und Ausgang auch beliebige Effekte zuweisen. Dies geschieht durch den Parameter -e:Effekt. Die einfachste Anwendung besteht darin, die Lautstärke eines Kanals zu regeln. Haben Sie beispielsweise nach dem Ausführen der beiden oben besprochenen Befehle festgestellt, dass die erste Spur viel zu laut ist und die zweite völlig übertönt, so regeln sie im ersten Kanal durch Angabe von -ev:50 die Lautstärke auf 50 Prozent. Mit einem zusätzlichen Halleffekt (-etf) sieht die Kommandozeile dann folgendermaßen aus:
ecasound -a:1 -i:test.wav -ev:50 -etf:40 -a:2 -i:test2.wav -a:1,2 -o:alsa
Als weiterer Standardfilter bietet sich ein Kompressor (-ec) an, der stark schwankende Lautstärkepegel ausgleicht:
ecasound -a:1 -i:test.wav -ec:6,0.5 -o:alsa
Abgesehen von den bereits eingebauten Filtern bietet Ecasound die Möglichkeit, LADSPA-Effekte [6] zu verwenden. Dazu dient die Option -el:Name,Parameter1,Parameter2..., wobei Name der Name des LADSPA-Moduls ist, dem meist eine durch Kommas getrennte Liste von Parametern folgt.
Oft ist es sinnvoll, einen Effekt auf mehrere Kanäle gleichzeitig anzuwenden. Hierzu kann man den Ausgang eines Kanals an ein so genanntes Loop-Device umleiten, das wiederum als Eingang für einen anderen Kanal dient:
ecasound -a:1 -i:test.wav -o:loop,1 -a:2 -i:test2.wav -o:loop,1 -a:3 -i:loop,1 -etf:40 -o:alsa
Die Kanäle 1 und 2 lesen ihre Daten wieder aus test.wav und test2.wav. Statt an einen gewöhnlichen Ausgang werden die Daten jetzt jedoch durch Angabe von -o:loop,1 über das Loop-Device mit der Nummer 1 an Kanal 3 weitergeleitet, der dem Signal wiederum einen Effekt hinzufügt und alles auf der Soundkarte abspielt. Da jeder Kanal nur höchstens einen Eingang und Ausgang haben darf, führt zum Beispiel ecasound -a:1 -i:test.wav -i:test2.wav -etf:40 -o:alsa nicht zum Erfolg.
Eine Liste aller möglichen Effekte bietet die Manpage von Ecasound, die Sie mit dem Befehl man ecasound aufrufen. Weitere interessante Beispiele finden sich auf der Ecasound-Website [7].
Interaktive Eingabe
Oft ist die Arbeit auf der Kommandozeile durch das ständige Eingeben langer Befehlsketten recht umständlich. Der interaktive Modus von Ecasound, den Sie über die Option -c aufrufen, erleichtert hier die Arbeit (Abbildung 2). Durch Eingabe von
ecasound -i:alsa -o:test.wav -c
verbindet Ecasound den Eingang auf der Soundkarte mit der Datei test.wav, startet danach aber nicht sofort die Aufnahme, sondern wechselt zunächst in den interaktiven Modus. Hier beginnen Sie die Aufnahme über das Kommando start. Der Befehl stop unterbricht an der aktuellen Stelle, spult aber nicht zurück. Dazu dienen die Optionen rewind Sekunden und forward Sekunden.
Sie können auch die kompletten Kanaldefinitionen im interaktiven Modus vornehmen und manipulieren. Der Befehl c-add Kanal2 erzeugt zum Beispiel einen zweiten Kanal mit dem Namen Kanal2. Diesen wählen Sie mit c-select Kanal2 aus und weisen ihm über ai-add test2.wav beziehungsweise ao-add alsa einen Ein-/Ausgang zu.
Details zu den Möglichkeiten des interaktiven Modus entnehmen Sie der Manpage von ecasound-iam.
Metadateien
Moderne Harddisk-Recorder wie Ardour spielen nicht nur alle Audiodateien eines Projekts gleichzeitig von vorne bis hinten ab, sondern erlauben auch, die einzelnen Segmente auf einer Zeitleiste anzuordnen und nach Herzenslust zu sezieren. Die graphischen Möglichkeiten bietet das Kommandozeilenwerkzeug Ecasound nicht, entsprechende Funktionalität lässt sich aber über das Ecasound-eigene Dateiformat EWF erreichen.
Bei EWF-Dateien handelt es sich um einfache Textdateien mit Beschreibungen, die Sie anstelle von Wave-Dateien als Ein- oder Ausgabemedium für Kanäle angeben können. In ihnen ist unter anderem der Name der Datei mit den Audiodaten, die Position der Aufnahme im Gesamtwerk sowie die Dauer des Segments festgelegt. Listing 1 zeigt exemplarisch den Aufbau einer solchen Datei.
source = drums.wav looping = true start-position = 10 length = 20
Zeile 1 legt die Datei fest, aus der Daten gelesen werden. Die Zeilen 3 und 4 bestimmen, dass drums.wav erst 10 Sekunden nach Beginn des Stückes gespielt wird und nach 20 Sekunden wieder verstummt. Looping = true wiederholt ein Sample, wenn das Ende erreicht ist. So dient das Beispiel dazu, einen in der Datei drums.wav einmalig aufgenommenen Schlagzeugbeat mehrmals aneinander zu reihen. Der Befehl
ecasound -a:1 -i:drums.ewf -a2: -i:gitarre.wav -a1,2: -o alsa
spielt das Sample drums.wav 10 Sekunden nach Beginn von gitarre.wav ab und stoppt nach weiteren 20 Sekunden die Wiedergabe des Samples.
Fazit
Auf der Kommandozeile mit mehreren Audiospuren zu arbeiten, erfordert zunächst ein wenig Einarbeitung. Danach sind jedoch komplexere Musikprojekte möglich. Im Gegensatz zu den speicherfressenden Pendants mit grafischer Oberfläche begnügt sich Ecasound dabei mit wenig Rechenleistung und kann so vielleicht einen ausgemusterten Rechner noch einmal zu einem Mehrspur-Recorder aufwerten. Hilfreich sind dabei die ausgezeichnete Dokumentation und das flexible Design der Software.
Graphische Frontends
Die gesamte Funktionalität von Ecasound ist in Shared Libraries ausgelagert – für Programmierer eine recht einfache Möglichkeit, grafische Frontends für Ecasound zu entwickeln. Beispiele für solche Programme sind etwa das Klangbearbeitungstool Ecawave (Abbildung 5) oder das Gtk-basierte Visecas, das eine komfortable Oberfläche für das Arbeiten mit Ecasound bereitstellt. Die Homepage von Ecasound [1] liefert eine Liste entsprechender Projekte.
Glossar
-
ALSA
-
Advanced Linux Sound Architecture. Eine Treiberarchitektur für Soundkarten, die unter Linux das mittlerweile in die Jahre gekommene Open Sound System (OSS/Free) abgelöst hat.
-
Echtzeitfähigkeit
-
Als echtzeitfähig bezeichnet man ein System, das bezüglich der Vergabe von Rechenzeit an Prozesse vorhersagbar ist. Spezielle Realtime-Patches für den Kernel ermöglichen es zum Beispiel Audioanwendungen, die so genannte Latenz zu minimieren, die zwischen dem Auftreten eines Signals an der Soundkarte und der darauf folgenden Reaktion des Systems vergeht.
-
Channel
-
Gedachter Weg, den ein Tonsignal nimmt. Bei Ecasound hat ein Channel einen Eingang und einen Ausgang. Channels können auch verkettet werden.
-
LADSPA
-
Linux Audio Developer’s Simple Plugin API. Der Linux-Standard für Effektplugins, in etwa vergleichbar mit den unter Windows üblichen VST-Plugins.
[1] Ecasound-Portal: http://eca.cx
[2] Ardour: http://www.ardour.org
[3] Rosegarden: Eckhard Jokisch, “Virtuelles Studio”, LinuxUser 7/2006, S. 58 ff.
[4] Ubuntu-Studio-Wiki: https://help.ubuntu.com/community/Sound
[5] FluidSynth: http://www.fluidsynth.org
[6] LADSPA: http://www.ladspa.org
[7] Ecasound-Beispiel: http://eca.cx/ecasound/Documentation/examples.html







