Unter Debian Squeeze von einem Mikrofon direkt in ein MP3 File aufnehmen

Geschrieben von Eric Scheibler am 09.04.2012

In dieser Anleitung soll gezeigt werden, wie Aufnahmen mit einem Mikrofon unter Debian Squeeze direkt in eine MP3 Datei gespeichert werden können. Die Programme in dem Tutorial laufen ausschließlich auf der Kommandozeile. Diese Lösung braucht nur wenig Rechenleistung und ist daher auch auf nicht so performanten Computern sehr gut einsetzbar.

Update: Mikrofonkonfiguration unter Debian Wheezy wurde an passender Stelle hinzugefügt.

Soundkarte für Aufnahme konfigurieren

Voraussetzung für die Konfiguration ist, dass Alsa installiert und die Soundkarte betriebsbereit ist. Sollte dies nicht der Fall sein, hilft mein früheres Posting zu dem Thema weiter. Die Anpassung der Soundkarteneinstellungen geschieht mit dem Tool amixer, welches bei den Alsa-Utils bereits mitgeliefert wird. Anfangs sollte man sich einen Überblick über alle verfügbaren Controls machen:

amixer

Die wichtigen Controls fürs Aufnehmen sind: Master, Mic und Capture. Diese können ggf. eine abweichende Bezeichnung haben. Zunächst setze ich den Master auf 100%:

amixer set Master 100%

Debian Squeeze

Als nächstes aktiviere ich das Mikrofon und setze es auf 40% der Lautstärke::

amixer set Mic 40% cap mute

Die Option “cap” definiert das Mikrofon als aktives Aufnahmegerät und “mute” verhindert, dass der Input des Mics direkt wieder auf die Lautsprecher ausgegeben wird. Die Ausgabe von Amixer schaut wie folgt aus:

Simple mixer control 'Mic',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-exclusive penum
Capture exclusive group: 0
Playback channels: Mono
Capture channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono: Playback 13 [42%] [-15.00dB] [off]
Front Left: Capture [on]
Front Right: Capture [on]

Schließlich muss noch das Capture Control aktiviert werden. Das wird benötigt, damit überhaupt etwas aufgenommen werden kann:

amixer set Capture 50% cap

Debian Wheezy

Das Capture Control gibts bei mir nicht mehr. Statt dessen hab ich das interne Mikrofon meines Thinkpads mit den folgenden Befehlen konfiguriert bekommen:

amixer set "Internal Mic" 85% cap mute
amixer set "Internal Mic Boost" 2

Test

Danach wird das, was über den Mikrofon / Line in Eingang des Rechners hereinkommt, auch aufgenommen. Test mittels:

arecord -f cd | aplay

Wenn man etwas hört, hat alles funktioniert.

Aufnahme in MP3

Nun muss noch der Lame MP3 Codec heruntergeladen und installiert werden. Den findet man unter Deb-Multimedia.org. Das Repository wird mit dem folgenden Befehl der sources.list hinzugefügt:

vim /etc/apt/sources.list
...
deb http://www.deb-multimedia.org squeeze main non-free

Anschließend noch das zugehörige Key-Package fürs Repository installieren:

# aptitude install deb-multimedia-keyring

Danach die Quellen aktualisieren und Lame installieren:

# apt-get update
# apt-get install lame

Jetzt eine Aufnahme starten:

arecord -d 30000 -f cd -t raw | lame -r --preset standard - testfile.mp3

Die Aufnahme stoppt automatisch nach 30000 Sekunden, es wird in CD Qualität aufgezeichnet (-f cd) und an den lame Encoder werden Raw Daten übergeben (-t raw). Für die Kodierung der MP3 Datei stehen mehrere Presets zur Verfügung: extreme (V0), standard (V2) und medium (v4). Ich verwende für Mikrofonaufnahmen V2, da dies bereits eine sehr hohe Qualität garantiert. Ist weniger Speicherplatz verfügbar, sollte V4 auch noch vollkommen ausreichend sein. V0 ist meiner Meinung nach nur bei wirklich hochqualitativem Aufnahmeequipment oder einer anderen Quelle als dem Mikrofon sinnvoll.

Um das Ganze noch zu vereinfachen habe ich mir den folgenden Alias in die .bashrc eingetragen:

alias record='arecord -d 30000 -f cd -t raw | lame -r --preset standard -'

Somit kann ich eine Aufnahme einfach mit

record testfile.mp3

starten. Beendet wird sie mittels CTRL+c.

Auch das Reinhören während der laufenden Aufnahme ist möglich. Dazu verwende ich den MPlayer, installieren:

# apt-get install mplayer

Während der Aufnahme in eine zweite Konsole einloggen und die Wiedergabe starten:

mplayer testfile.mp3

Steuerung des MPlayers:

  • Space = Play / Pause
  • Pfeil rechts / links = 10 Sekunden vor / zurück
  • Pfeil hoch / runter = 1 Minute vor / zurück
  • Bild auf / ab = 10 Minuten vor / zurück
  • q = beenden

Quellen

Wer statt des Microeingangs lieber eine andere Quelle wie beispielsweise einen Internetradiostream aufzeichnen möchte findet noch ein paar Tipps auf der folgenden Seite: Linux: Recording soundcard output using arecord Weitere Infos zu Lame gibts unter http://wiki.hydrogenaudio.org/index.php?title=LAME. Wer lieber in ogg als in mp3 aufnehmen will, schaut hier: Recording audio from the command line