Perl Audio Converter

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Archive entpacken

  3. Pakete aus dem Quellcode erstellen

  4. Ein Terminal öffnen

  5. Root-Rechte

Inhaltsverzeichnis
  1. Installation
  2. Bedienung
  3. Beispiel
  4. Problembehebung
  5. Links

Wiki/Icons/terminal.png Der Perl Audio Converter 🇬🇧 ist ein mächtiges Werkzeug zur Umwandlung von Audiodateien, ebenso verwendbar zur Extraktion von Audiodaten aus Videodateiformaten. Unterstützt werden eine Vielzahl auch recht „exotischer“ Formate. Die Bedienung erfolgt über die Kommandozeile, unter KDE kann der Perl Audio Converter in Konqueror und Dolphin eingebunden werden. Daneben gibt es Anbindungen für die Dateimanager Nautilus, Nemo und Thunar.

Für einige Formate kann ein vorhandener Tag ausgelesen und für das neue Format erstellt werden. Außerdem können mit dem Programm CDs gerippt und in den unterstützten Formaten abgespeichert werden. Der Artikel Audiodateien umwandeln beschreibt eine Vielzahl von weiteren Möglichkeiten zur Konvertierung. Der Perl Audio Converter erzielt allerdings Spitzenwerte, was den Umfang an unterstützten Formaten angeht.

Installation

Folgende Pakete müssen installiert[1] werden:

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install pacpl 

sudo aptitude install pacpl 

Manuelle Installation

Um das Programm in aktueller Version 6.1.0 (Stand April 2019) aus dem Quellcode zu erstellen, wird das Archiv von SourceForge.net ⮷ heruntergeladen und entpackt[2]. Dann führt man im Terminal im Verzeichnis pacpl.6.x.x/extra das Skript mod-install-debian.sh aus, um fehlende Module, die auch durch sudo apt-get build-dep pacpl nicht installiert wurden, zu installieren, und kompiliert[3] dann das Programm. Leider bricht allerdings unter 18.04 die Kompilierung mit einem Fehler ab. Es lässt sich aber das Paket aus Ubuntu 19.04 in Version 6.1.0 problemlos auch unter 18.04 installieren (siehe pacpl.)

Hinweis!

Fremdsoftware kann das System gefährden.

Bedienung

Der Grundbefehl zur Konvertierung im Terminal [4] lautet:

pacpl --to FORMAT [OPTIONEN] DATEIEN_ODER_ORDNER 

Mögliche Formate

Die De- und Enkodierungs-Möglichkeiten und Informationen zum Auslesen und Erstellen von Tags lassen sich mit pacpl --formats aufrufen. Die folgende Tabelle zeigt auf, welcher Formate (mit den gebräuchlichen Datei-Endungen) verarbeitbar sind, welche En- und Dekodierer dafür zum Einsatz kommen und für welche Formate das Auslesen und Erstellen von Tags möglich ist:

EXT       E   D   ENCODER         DECODER         TAG-READ   TAG-WRITE
----------------------------------------------------------------------
aac       Y   Y   faac            faad               N          N
ac3       Y   Y   ffmpeg          mplayer            N          N
aif       Y   Y   sox             sox                N          N
aiff      Y   Y   sox             sox                N          N
ape       Y   Y   mac             mac                N          N
asf       N   Y                   mplayer            N          N
au        Y   Y   sox             sox                N          N
avi       N   Y                   mplayer            N          N
avr       Y   Y   sox             sox                N          N
bonk      Y   Y   bonk            bonk               N          N
caf       Y   Y   sndfile-convert sndfile-convert    N          N
cdr       Y   Y   sox             sox                N          N
divx      N   Y                   mplayer            N          N
fap       Y   Y   sndfile-convert sndfile-convert    N          N
fla       Y   Y   flac            flac               Y          Y
flac      Y   Y   flac            flac               Y          Y
flv       N   Y                   mplayer            N          N
ircam     Y   Y   sndfile-convert sndfile-convert    N          N
la        Y   Y   la              la                 N          N
lpac      Y   Y   lpac            lpac               N          N
m4a       Y   Y   faac            faad               Y          Y
m4b       Y   Y   faac            faad               N          Y
m4v       N   Y                   mplayer            N          N
mat       Y   Y   sndfile-convert sndfile-convert    N          N
mat4      Y   Y   sndfile-convert sndfile-convert    N          N
mat5      Y   Y   sndfile-convert sndfile-convert    N          N
mkv       N   Y                   mplayer            N          N
mmf       Y   Y   ffmpeg          ffmpeg             N          N
mov       N   Y                   mplayer            N          N
mp2       Y   Y   ffmpeg          ffmpeg             N          N
mp3       Y   Y   twolame         lame               Y          Y
mp4       Y   Y   faac            faad               Y          Y
mpc       Y   Y   mppenc          mppdec             Y          Y
mpeg      N   Y                   mplayer            N          N
mpg       N   Y                   mplayer            N          N
mpp       Y   Y   mppenc          mppdec             Y          Y
nist      Y   Y   sndfile-convert sndfile-convert    N          N
nsv       N   Y                   mplayer            N          N
nuv       N   Y                   mplayer            N          N
ofr       Y   Y   ofr             ofr                N          N
ofs       Y   Y   ofs             ofs                N          N
ogg       Y   Y   oggenc          oggdec             Y          Y
ogm       N   Y                   mplayer            N          N
pac       Y   Y   lpac            lpac               N          N
paf       Y   Y   sndfile-convert sndfile-convert    N          N
psp       N   Y                   mplayer            N          N
pvf       Y   Y   sndfile-convert sndfile-convert    N          N
qt        N   Y                   mplayer            N          N
ra        Y   Y   ffmpeg          ffmpeg             N          N
ram       N   Y                   ffmpeg             N          N
raw       Y   Y   sox             sox                N          N
rm        Y   Y   ffmpeg          mplayer            N          N
rv        N   Y                   mplayer            N          N
sd2       Y   Y   sndfile-convert sndfile-convert    N          N
sf        Y   Y   sndfile-convert sndfile-convert    N          N
shn       Y   Y   shorten         shorten            N          N
smk       N   Y                   mplayer            N          N
smp       Y   Y   sox             sox                N          N
snd       Y   Y   sox             sox                N          N
spx       Y   Y   speexenc        speexdec           Y          Y
svcd      N   Y                   mplayer            N          N
tta       Y   Y   ttaenc          ffmpeg             N          N
vcd       N   Y                   mplayer            N          N
vob       N   Y                   mplayer            N          N
voc       Y   Y   sox             sox                N          N
w64       Y   Y   sndfile-convert sndfile-convert    N          N
wav       Y   Y   mv              cp                 N          N
wma       Y   Y   ffmpeg          ffmpeg             Y          N
wmv       N   Y                   mplayer            N          N
wv        Y   Y   wavpack         wvunpack           Y          Y

Optionen

Perl Audio Converter Optionen (Auswahl)
Option Langform Funktion
-t FORMAT --to FORMAT gewünschtes Ausgabeformat (gleichzeitig neue Dateiendung)
-r --recursive rekursive Umwandlung der Dateien auch in Unterverzeichnissen
-p --preserve existierende Ordnerstruktur wird auch für zu erstellende Ordner verwendet
-o FORMAT --only FORMAT nur das angegebene Format wird umgewandelt
-k --keep bereits im gewünschten Format vorliegende Dateien werden übersprungen bzw. direkt verschoben
--dryrun Testdurchlauf ohne tatsächliche Veränderung an den Dateien, sehr sinnvoll gerade bei potentiell gefährlichen Optionen!
--normalize Standard-Normalisierung der Audio-Dateien
--nopts OPTION Normalisierung unter Angabe von Optionen
--outdir Ausgabeverzeichnis, in das die Dateien geschrieben/verschoben werden
--outfile NAME Ausgabename; Standard ist Beibehaltung des alten Namens mit neuer Dateiendung

Zu den einzelnen Enkodern lassen sich (je nach gewähltem Format) spezielle Einstellungen zur Qualität, Bitrate, Anzahl der Kanäle, Frequenz etc. Die Standardeinstellungen, die pacpl ohne weitere Angaben einsetzt, finden sich in der Datei /etc/pacpl/pacpl.conf, dort können die Angaben auch nach eigenem Bedarf geändert werden (Root-Rechte[5] nötig!).

Eine komplette Übersicht über die sehr umfangreichen Optionen liefert die Manpage des Programms.

Beispiel

Der Aufruf

pacpl --to ogg -r -p /home/Musik --outdir /home/oggs 

führt dazu, dass die vorhandenen Audiodateien (alle unterstützten Formate werden konvertiert!) im Verzeichnis /home/Musik als .ogg-Dateien in das Verzeichnis /home/oggs geschrieben werden. Dabei würden z.B. die Daten aus /home/Musik/Rock/Krautrock als .ogg-Dateien in /home/oggs/Rock/Krautrock abgelegt werden, da die Konvertierung rekursiv und unter Erhalt der Original-Verzeichnisstruktur erfolgt.

Kommadozeilen-CD-Ripper

CDs lassen sich nach folgendem Muster rippen:

pacpl --rip all --to flac
pacpl --rip 1,3,9,15 --to flac 

Der erste Befehl rippt alle Tracks der eingelegten CD ins .flac-Format, der zweite die Tracks 1, 3, 9 und 15.

CD-Ripper-Optionen
Option Funktion
--rip OPTION alle (all) oder die durch Kommata getrennten Titel der CD rippen (z.B. "1,3,9,15")
--nocddb keine CDDB-Abfrage zum Erstellen der Tags (Abfrage ist Standard)
--noinput interaktiven Dialog zur CDDB-Abfrage unterdrücken (Dialog ist Standard)
--device NAME anderes Gerät als /dev/cdrom für das CD-Laufwerk angeben
--cdinfo CDDB-Infos zur momentan eingelegten CD anzeigen
--nscheme STRING Angaben zur Titelausgabe festlegen. Möglich sind folgende Parameter, die statt des Standards "%ar-%ti" (Künstler - Titel.<Endung>) verwendet werden können:
%ar Künstler
%ti Songtitel
%tr Tracknummer
%yr Erscheinungsjahr
%ab Albenname

Beispiel:

pacpl --rip all --to ogg --nscheme="%ar-%ab-(%tr)-%ti" 

führt zur Ausgabe aller CD-Titel nach dem Muster Künstler-Album-(Tracknummer)-Titel.ogg. Ein direktes Ablege in der Form KÜNSTLER/ALBUM/NR - TITEL ist nicht möglich, auch die --outdir-Option ist für den Ripper nicht anwendbar.

Verwendung aus Amarok, Konquerer und Dolphin heraus

Unter den genannten Programmen lässt sich der Perl Audio Converter, ähnlich wie audio convert für Nautilus, aus dem Kontextmenü heraus nutzen. Ein rechte Maustaste in der gewünschten Datei öffnet das Kontextmenü (es können auch mehrere Dateien markiert werden), in dem dann der Eintrag für das Programm gewählt werden kann. Dort werden dann die gewünschten Angaben gemacht, und die Konvertierung wird umgesetzt. Die in den offiziellen Ubuntu-Quellen vorliegende Version 4.0.5 ist für KDE4 optimiert (allerdings erfolgt die Implementierung für Amarok 2 erst in einer der nächsten Veröffentlichungen).

Andere Dateimanager

Informationen, wie man den Perl Audio Converter in andere Dateimanager einbindet, sind auf SourceForge 🇬🇧 zu finden.

Problembehebung

Probleme können auftauchen, wenn in den Dateinamen Sonderzeichen auftauchen. Insbesondere Kommata führen ggf. dazu, dass die Konvertierung mit einer Fehlermeldung wie

"Kodierung ist fehlgeschlagen mit dem Status: 256"

abbricht. In so einem Falle hilft es ggf. nur, das entsprechende Zeichen aus dem Dateinamen zu entfernen.

Die gleiche Fehlermeldung bekommt man allerdings auch, wenn man den entsprechenden Encoder nicht installiert hat. Also: will man beispielsweise WAV nach MP3 umwandeln, braucht man den Encoder LAME bzw. das Paket lame. Um herauszufinden, welche Pakete man installieren muss, hilft die Liste der Formate. Dort ist für das entsprechende Format ein Encoder/Decoder aufgeführt. Nun muss man nur noch das richtige Paket finden, welches diesen Encoder/Decoder enthält und dies dann installieren.

Diese Meldung kann allerdings auch auf eine defekte Ausgangsdatei hinweisen. Wenn also keine Sonderzeichen vorhanden, und alle benötigten Codecs installiert sind, könnte das Grund für die Fehlermeldung sein.

Option --normalize schlägt fehl

Ähnlich wie bei K3b (Abschnitt „normalize-audio-wird-nicht-gefunden“) gibt es Probleme mit der Funktion --normalize. Das erwartete Programm heißt unter Ubuntu normalize-audio aus dem gleichnamigen Paket. Die K3b-Lösung funktioniert auch hier, alternativ kann eine symbolische Verknüpfung mit dem Befehl

sudo ln -s `which normalize-audio` /usr/local/bin/normalize 

erstellt werden.

./pacpl_logo.png