{{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Packprogramme: Archive entpacken] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/Tango/audio-x-generic.png, 64, align=left)]] Die Umwandlung von Audiodateien eines bestimmten Formats in ein beliebiges anderes Format ist unter Linux in der Regel kein Problem – schwierig wird es eventuell nur dann, wenn es sich um exotische und/oder lizenzrechtlich geschützte Formate (Codecs) handelt. Für die gängigen Formate wie [:Vorbis:Ogg/Vorbis], [:LAME:MP3], [:FLAC:] und [wikipedia:RIFF_WAVE:WAV] gibt es zahlreiche Programme mit grafischer Oberfläche, die die Umwandlung komfortabel machen. Programme, mit denen CDs ausgelesen (gerippt) und in verschiedenen Formaten abgespeichert werden können, werden im Artikel [:CDs_rippen:] vorgestellt. {{{#!vorlage Warnung Viele Audioformate arbeiten „verlustbehaftet“ und verringern beim Umwandeln mehr oder weniger stark die Klangqualität. Wird eine Audiodatei von einem verlustbehafteten Format in ein anderes konvertiert (z.B. vom [:LAME:MP3] in [:Vorbis:]), wird die Qualität immer durch [wikipedia:Generationsverlust:] verschlechtert. Ist das Quellformat jedoch ein verlustfreies (z.B. [:FLAC:]), besteht diese Gefahr nicht. }}} Für das inzwischen veraltete, aber besonders für Bootlegs noch genutzte Format [wikipedia:Shorten:] ('''.shn''') findet sich eine Anleitung zur Codec-Installation unter [:xcfa#Externe-Encoder:]. = Voraussetzungen = Damit die Umwandlung problemlos funktioniert und möglichst viele Dateiformate unterstützt werden, müssen zunächst einige Pakete installiert [1] werden: {{{#!vorlage Paketinstallation faac, multiverse faad, universe flac, universe lame, universe libmad0, universe libmpcdec6, universe mppenc, universe vorbis-tools, universe wavpack, universe }}} = Programme mit grafischer Oberfläche = [[Bild(./audacity_logo.png, 48, align=right)]] == Audacity == [:Audacity:] ist ein freier, leicht zu bedienender und sehr mächtiger Audioeditor und -recorder für GNU/Linux, Mac OS X, Windows und andere Betriebssysteme. [[Bild(./ffmulticonverter_logo.png, 48, align=right)]] == FF Multi Converter == [:FF_Multi_Converter:] ist eine übersichtlich gehaltene grafische Oberfläche, die sich zum Konvertieren von Audio-, Video-, Bild- und Dokument-Dateien eignet und die meisten populären Formate unter einer Anwendung unterstützt. Zum Konvertieren wird [:FFmpeg:] für Audio-/Video-Dateien, [:unoconv:] für Dokument-Dateien sowie [:ImageMagick:] für Bilder verwendet. Geschrieben in [:Python:] und [:Qt:] unterliegt diese Anwendung der [wikipedia:GNU_General_Public_License#GPL_Version_3:GPL3] und gilt damit als freie Software. [[Bild(freac_-_free_audio_converter/freac_128x128.png, 48 right)]] == fre:ac == [:freac_-_free_audio_converter:fre:ac] (früherer Name BonkEnc) ist ein freier Audiokonverter und Audio-CD-Ripper mit Unterstützung für verschiedene populäre Formate und auf Multicore-CPUs optimierte Encoder, mit dem auch Audio-CDs ausgelesen werden können. [[Bild(./gnormalize_logo.png, 48, align=right)]] == gnormalize == [:gnormalize:] ist nicht nur ein Programm zur Umwandlung von Audiodateien, sondern auch ein [:CDs_rippen:CD-Ripper] und -Player. Außerdem ist das Programm zur [wikipedia:Normalisierung_%28Audio%29:Normalisierung] von Audiodateien geeignet. [[Bild(./mhwaveedit_logo.png, 48, align=right)]] == mhWaveEdit == [:mhWaveEdit:] ist ein schlanker und unkompliziert zu bedienender Audio-Editor, der Audio-Dateien in alle gängigen Formate umwandeln kann. [[Bild(./mp3gain_logo.gif, 48, align=right)]] == MP3Gain == [:MP3Gain:] ermöglicht das Anpassen des Lautstärke-Niveaus von MP3-Dateien, ohne diese neu kodieren zu müssen. Da es sich um ein reines Kommandozeilenprogramm handelt, sind im Laufe der Zeit mehrere grafische Oberflächen entstanden: [:MP3Gain-GUI:]. [[Bild(./mp3splt-gtk_logo.png, 48, align=right)]] == mp3splt == Mit [:mp3splt:] kann man Dateien in den Format MP3 oder Ogg/Vorbis schneiden, ohne sie neu kodieren zu müssen. [[Bild(Vorbis/oggconvert.png, 48, align=right)]] == OggConvert == [:Vorbis#OggConvert:OggConvert] ist ein auf [:GStreamer:GStreamer-0.10] basierendes Programm, welches bis einschließlich [:Trusty:Ubuntu 14.04] für die Konvertierung diverser Audioformate nach Ogg/Vorbis eingesetzt werden kann. [[Bild(./soundconverter_logo.png, 48, align=right)]] == Soundconverter == [:Soundconverter:] hat eine einfache und selbsterklärende Oberfläche. Es unterstützt die Dateitypen MP3, Ogg/Vorbis, FLAC, WMA und WAV. Über das teilweise deutschsprachige Menü können verschiedene Einstellungen wie Dateiformat, Qualität (Bitrate) der Zieldatei, Speicherort usw. ausgewählt werden. Über die entsprechenden Knöpfe können dann einzelne Dateien oder ganze Ordner zur Umwandlung ausgewählt werden. [[Bild(./soundkonverter_logo.png, 48, align=right)]] == soundKonverter == [:soundKonverter:] (mit K) ist ein Programm zur Umwandlung von Audiodateien für den KDE-Desktop. Es lassen sich auch CDs rippen. Außerdem besteht für bestimmte Formate die Möglichkeit, [wikipedia:Replay_Gain:Replay Gain] zu den Dateien zu berechnen. [[Bild(./xcfa_logo.png, 48, align=right)]] == xcfa == [:xcfa:] (X Convert File Audio) konvertiert u.a. WAV, FLAC, Monkey’s Audio ('''.ape'''), WavPack, Ogg/Vorbis, M4a, AAC, Mpc und MP3. Sehr nützlich, wenn Audiodateien mit veralteten Codecs konvertiert werden sollen. = Skripte für Dateimanager = == audio-convert == [https://savannah.nongnu.org/projects/audio-convert audio-convert] {en} ist ein Skript, das sich in den Dateimanager [:Nautilus:] integriert und die einfache Umwandlung von Audiodateien über das Kontextmenü ermöglicht. Es müssen die folgenden Pakete installiert werden: {{{#!vorlage Paketinstallation nautilus-script-audio-convert, universe mplayer, universe nautilus-script-manager, universe }}} Das Skript muss zunächst als Plugin für Nautilus registriert werden. Dazu dient der folgende Befehl im Terminal [3]: {{{#!vorlage Befehl nautilus-script-manager enable ConvertAudioFile }}} Abschließend muss Nautilus neu gestartet werden: {{{#!vorlage Befehl nautilus -q }}} Wählt man nun in Nautilus eine Audiodatei aus und klickt diese mit der rechten Maustaste an, kann man über ''"Scripts -> ConvertAudioFile"'' das gewünschte Zielformat wählen. Unterstützt werden die Formate MP3, Ogg/Vorbis, MPC, AAC und WAV. Danach kann man angeben, ob man die [:Metadaten:Metatags] der Datei auf die neue Datei übertragen will. Anschließend kann die Qualität festgelegt werden. Als Zielordner wird grundsätzlich der Ordner der Quelldatei benutzt. Falls nach der Installation im Kontextmenü unter ''"Scripts"'' nichts zu sehen ist, könnte es daran liegen, dass das Skript im falschen Verzeichnis liegt, wie im Artikel [:Nautilus/Skripte:] angedeutet. Dann hilft es, das Skript von '''~/.gnome2/nautilus-scripts/''' nach '''~/.local/share/nautilus/scripts/''' zu kopieren. == audiokonverter == [http://www.kde-apps.org/content/show.php?content=12608 audiokonverter] {en} (man beachte das k) ist ein Skript, mit dessen Hilfe sich aus dem Kontextmenü des KDE-Dateimanagers [:Konqueror:] heraus Audiodateien umwandeln lassen. Die Installation ist denkbar einfach. Die beiden folgenden Pakete sind unter KDE 4 standardmäßig installiert, unter anderen Oberflächen müssen sie nachinstalliert [1] werden: {{{#!vorlage Paketinstallation konqueror, universe konsole, universe }}} Während der Installation unter einer anderen Desktop-Umgebung als KDE werden u.U. noch weitere Pakete benötigt. Nun lädt man audiokonverter von dessen [http://www.kde-apps.org/content/show.php/audiokonverter?content=12608 Homepage] {en} {dl} herunter und entpackt [4] die Datei in das eigene [:Homeverzeichnis:]. In einem Terminal [3] wechselt man in den gerade entpackten Ordner und führt dort zur Installation folgenden Befehl aus: {{{#!vorlage Befehl sudo ./install.sh }}} Die Installation sollte selbsterklärend sein. Klickt man nun im [:Konqueror:] eine (unterstützte) Audiodatei mit der rechten Maustaste an, kann man unter ''"Aktionen -> umwandeln in"'' den Zieltyp der Datei wählen. Unterstützt werden die Formate MP3, Ogg/Vorbis, M4a, FLAC und WAV. Während der Umwandlung wird man nach dem gewünschten Zielverzeichnis gefragt. = Kommandozeilenprogramme = [[Bild(Wiki/Icons/terminal.png, 48, align=right)]] Folgende Programme werden im Terminal [3] ausgeführt. == swftools == Mit dem in swftools enthaltenen swfextract kann man aus swf-Datein (flash) den Audio-Stream extrahieren. == SoX == [:SoX:] ist ein sehr leistungsfähiger Audiokonverter und Effektfilter. == FLAC == [:FLAC:] ist ein [:Codecs:Audio-Codec] mit verlustfreier Komprimierung („Lossless Codec“). Im Gegensatz zu verlustbehafteten Verfahren („Lossy Codecs“) – wie beispielsweise [:Vorbis:] oder dem weit verbreiteten [:LAME:MP3] – ist es bei der Verwendung von FLAC möglich, das Audiomaterial auch nach dem Dekodieren ohne Qualitätseinbußen vollständig wiederherzustellen. == LAME == [:LAME:] ist ein plattformübergreifendes Open Source Projekt zur Erzeugung von MP3-Audiodateien, z.B. aus (unkomprimierten) WAV-Dateien. == faac == faac ist ein Codec, welcher verlustbehaftet in das [wikipedia:Advanced_Audio_Coding:AAC]-Format konvertiert. AAC ist Teil der MPEG-2 und MPEG-4 Spezifikation und kommt u.a. auf Apple-Geräten zum Einsatz. Im Vergleich zu MP3 sind mittels AAC bei gleicher Datenrate in der Regel bessere Qualitäten des komprimierten Audiomaterials erreichbar. Der gleichnamige Befehl '''faac''' erwartet die Eingabedatei standardmäßig im '''.wav'''-Format. Der Befehlsaufruf für die Encodierung lautet dann im einfachsten Fall: {{{#!vorlage Befehl faac -o ausgabe.aac eingabe.wav }}} faac kennt eine Reihe von Optionen, die in der [:man:Man-Page] nachgelesen werden können. Um z.B. eine bestehende MP3-Dateien ins AAC-Format auf der Kommandozeile umzuwandeln kann die MP3-Datei mittels [:mpg123:] abgespielt und der Datenstrom mittels faac nach AAC encodiert werden: {{{#!vorlage Befehl mpg123 -s input.mp3 | faac -P -X -w -o output.m4b - }}} == vorbis-tools == Die vorbis-tools enthalten den Ogg/Vorbis-Encoder '''oggenc''', den Decoder '''oggdec''', den Ogg/Vorbis-Kommandozeilen-Player '''ogg123''', das Werkzeug '''ogginfo''' zur Anzeige von Ogg/Vorbis-Metadaten, den Ogg/Vorbis-Datei-Splitter '''vcut''' und den Metadaten-Editor '''vorbiscomment'''. Um Dateien vom Wave-Format ins Ogg/Vorbis-Format oder umgekehrt umzuwandeln, bietet oggenc folgende Befehlsoptionen: === WAV zu Ogg/Vorbis === {{{#!vorlage Befehl oggenc -b 256 *.wav #alle Wave-Dateien werden mit der Bitrate 256 kbps umgewandelt }}} Alternativ zur Bitrate kann man vor der Ausführung des Befehls auch die gewünschte Qualität angeben (`0-9`; `6` ist schon sehr gut): {{{#!vorlage Befehl oggenc stueck1.wav -q 6 -o track_001.ogg }}} === Ogg/Vorbis zu WAV === {{{#!vorlage Befehl oggdec *.ogg #alle Ogg-Dateien in WAV umwandeln }}} Weiterführende Informationen findet man im Artikel [:Vorbis:]. == Perl Audio Converter == Der [:Perl Audio Converter:] konvertiert eine Vielzahl von Formaten (auch das Extrahieren des Sounds aus Videoformaten ist möglich), bringt optional eine grafische Benutzeroberfläche mit und lässt sich in verschiedene Dateimanager einbinden. == Stapelverarbeitung == Als Stapelverarbeitung oder Batch-Betrieb bezeichnet man die Konvertierung mehrerer Dateien in einem Rutsch. Das kann insbesondere auf der Kommandozeile sehr nützlich sein. === Mehrere Dateien === Sollen mehrere Dateien auf einmal umgewandelt werden, kann dies mit einem einzeiligen Shellskript sehr einfach erfolgen. Im folgenden allgemeinen Beispiel wird davon ausgegangen, dass mit dem Programm '''foobar''' alle Dateien im aktuellen Verzeichnis mit der Endung '''.ALT''' in Dateien mit der Endung '''.NEU''' im entsprechenden Format konvertiert werden: {{{#!vorlage Befehl for i in *.ALT; do foobar "$i" -o "`basename "$i" .ALT` .NEU"; done; }}} Benötigt das jeweilige Programm noch Optionen, so sind diese hinter dem Programmnamen einzufügen. Beispiele: * Alle WAV-Dateien in das Format Ogg/Vorbis mit der Qualitätsstufe 6 umwandeln: {{{#!vorlage Befehl for i in *.wav; do oggenc "$i" -q 6 -o "`basename "$i" .wav` .ogg"; done; }}} * MP3-Dateien mit der Qualitätsstufe `medium` rekodieren. Dies kann z.B. sinnvoll sein, wenn man MP3-Dateien mit hoher Bitrate "kleiner" machen möchte: {{{#!vorlage Befehl for i in *.mp3; do lame --preset medium "$i" -o "`basename "$i" .mp3`_medium.mp3"; done; }}} Da sich hier weder Dateiendung noch Dateiname ändern, man aber die Ursprungsdateien nicht überschreiben will, wird hier zu dem Trick gegriffen, die Dateiendung „.mp3“ zu entfernen und anschließend nicht nicht nur eine neue Endung '''.mp3''' angehängt wird, sondern zusätzlich auch noch der Dateiname um '''_medium''' erweitert wird. Die Syntax des Befehls ändert sich dadurch nicht. * M4a-enkodierte Dateien mit [:GStreamer:] in das MP3-Format umwandeln: {{{#!vorlage Befehl for i in *.m4a; do gst-launch-0.10 filesrc location="$i" ! faad ! audioconvert ! audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=1 quality=2 vbr=0 bitrate=128 ! xingmux ! id3v2mux ! filesink location="`basename "$i" .m4a`.mp3"; done }}} Für alle Quelldateien mit der Endung '''.m4a''' wird hier `gst-launch` mit der als Eingabe definierten Quelle ausgeführt. Anschließend wird die Datei mit den Codecs in Joint Stereo, Standardqualität und konstanter Bitrate von 128 kBit/s dekodiert und umgewandelt sowie der Dateinamen geändert. Die Originaldateien bleiben bestehen. * OGG-Dateien nach MP3 umwandeln: {{{#!vorlage Befehl for i in *.ogg; do oggdec -o - "$i" | lame -v - "`basename "$i" .ogg`".mp3; done }}} === Mehrere Dateien mit Unterverzeichnissen === Mit der folgenden Zeile lassen sich auch leicht ganze Verzeichnisbäume durchlaufen, um so z.B. alle WAV-Dateien in das Ogg/Vorbis-Format umzuwandeln: {{{#!vorlage Befehl find ./ -iname '*.wav' -print0 | xargs -0 -n1 -P4 oggenc -q6 }}} Der Befehl muss dabei in dem Ordner ausgeführt werden, der die anderen Unterordner enthält. Der Ogg/Vorbis-Encoder legt dabei in den entsprechenden Verzeichnissen neue Dateien mit demselben Dateinamen, aber neuer Endung '''.ogg''' an. Mit der Option `-Pn` für xargs (`n=1,2,3,...`) lassen sich `n` Prozesse von oggenc parallel starten. Ähnlich funktioniert das auch für MP3-Dateien mit dem Encoder '''lame''': {{{#!vorlage Befehl find ./ -iname '*.wav' -print0 | xargs -0 -n1 -P4 lame --preset standard }}} Auch hier werden mit der Option `-P4` vier Prozesse gestartet. === dir2ogg === Eine weitere sehr bequeme Möglichkeit bietet das Programm [:dir2ogg:] mit den Parametern `-d` (nur das übergebene Verzeichnis) und `-r` (auch alle Unterverzeichnisse). Möchte man beispielsweise im Verzeichnis '''~/Musik/klassik''' und allen Unterordnern zu allen Audiodateien der Formate MP3, WAV, M4a und WMA ein Ogg/Vorbis-Pendant erstellen, kann folgender Befehl verwendet werden: {{{#!vorlage Befehl dir2ogg -r ~/Musik/klassik/ }}} == Real Audio umwandeln == Das Format [wikipedia:RealAudio:Real Audio] wird hauptsächlich für Streams im Internet verwendet, z.B. von manchen [:Internetradio/Stationen:Online-Radiosendern]. Diese Streams kann man mit geeigneten Werkzeugen [:Streams_speichern:speichern]. Abspielen lassen sich Real-Audio-Dateien unter Linux von vielen Playern, vorausgesetzt man hat den richtigen Codec installiert. In vielen Fällen möchte man jedoch Dateien im Format "Real Audio" ('''.ra''') in ein gängiges Format wie MP3 oder WAV umwandeln, um sie z.B. auf CD zu brennen oder auf einem mobilen Abspielgerät zu nutzen. Die Umwandlung ist unter Linux kein Problem. Hierfür bieten sich u.a. die Programme [:MPlayer:] und [:FFmpeg:] an. Beide benutzen für die Konvertierung in ein anderes Format die Codec-Bibliothek des folgenden Pakets: {{{#!vorlage Paketinstallation libavcodec-extra, universe, enthält zusätzliche Codecs }}} Dieses muss also, neben dem jeweiligen Programm, installiert [1] sein. Die Umwandlung mit Hilfe von [:FFmpeg:] geschieht mit Hilfe des folgenden Befehls im Terminal [3]: {{{#!vorlage Befehl ffmpeg -i Quelldatei.rm Zieldatei.wav }}} Das `-i` steht für ''input'', also Eingabe. Bei der Zieldatei muss man neben dem gewünschten Namen natürlich auch die entsprechende Endung für das gewünschte Zielformat angeben. Benutzt man den [:MPlayer:], so ist die entsprechende Zeile etwas komplizierter aufgebaut: {{{#!vorlage Befehl mplayer -ao pcm:file=Zieldatei.wav Quelldatei.rm }}} Hier sind Quelldatei und Zieldatei genau anders herum angegeben. `-ao` bedeutet ''audio output''. == WMA == Das proprietäre [wikipedia:Windows_Media_Audio:Windows Media Audio-Format] ('''.wma''') von Microsoft findet man bei manchen Onlineshops, da es zu den Audioformaten gehört die [wikipedia:Digitale_Rechteverwaltung:DRM-fähig] sind. Um alle WMA-Dateien in einem Ordner in MP3-Dateien umzuwandeln, können die folgenden Kommandos vom Quellordner aus benutzt werden: === MPlayer === Zur Nutzung des [:MPlayer:MPlayers] (die neu erzeugten Dateien sind ähnlich groß wie die Originaldatei) muss folgender Befehl angewandt werden: {{{#!vorlage Befehl for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader "$i" && lame --preset standard audiodump.wav -o "`basename "$i" .wma`.mp3"; done; rm -f audiodump.wav }}} === ffmpeg === Zur Nutzung von [:FFmpeg:] (die neu erzeugten MP3-Dateien haben nur noch ca. 33% der Original-WMA-Dateigröße) müssen die entsprechenden Codecs installiert sein. Dann verwendet man folgenden Befehl im aktuellen Verzeichnis: {{{#!vorlage Befehl for i in *.wma; do ffmpeg -i "$i" "${i%.*}.mp3"; done }}} = Links = * [:CDs_rippen:] {Übersicht} Übersichtsartikel * [:Spek:] – Akustisches Spektrum anzeigen * [:Howto/Audible-Hörbücher_nach_mp3_umwandeln:] # tag: Multimedia, Übersicht