[[Vorlage(Getestet, bionic )]]

{{{#!vorlage Wissen
[:Pakete installieren: Installation von Programmen]
[:Packprogramme: Archive entpacken]
[:Programme kompilieren: Pakete aus dem Quellcode erstellen]
[:Terminal: Ein Terminal öffnen]
[:sudo:Root-Rechte]
}}}
[[Inhaltsverzeichnis(1)]]

[[Bild(Wiki/Icons/terminal.png, 48, align=left)]]
Der [https://vorzox.wix.com/pacpl/ Perl Audio Converter] {en} 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:

{{{#!vorlage Paketinstallation
pacpl, universe
}}}

== Manuelle Installation ==
Um das Programm in aktueller Version 6.1.0 (Stand April 2019) aus dem Quellcode zu erstellen, wird das Archiv von [sourceforge:pacpl/files/:SourceForge.net] {dl} 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 [:19.04:Ubuntu 19.04] in Version 6.1.0 problemlos auch unter 18.04 installieren (siehe [packages:pacpl:].)

[[Vorlage(Fremd, Software)]]

= Bedienung =
Der Grundbefehl zur Konvertierung im Terminal [4] lautet:

{{{#!vorlage Befehl
pacpl --to FORMAT [OPTIONEN] DATEIEN_ODER_ORDNER
}}}

== Mögliche Formate ==
##Unterstützt werden die Formate AAC, AC3, AIFF, APE, AU, AVR, BONK, CAF, CDR, FAP, FLA, FLAC, IRCAM, LA, LPAC, M4A, MAT, MAT4, MAT5, MMF, MP2, MP3, MP4, MPC, MPP, NIST, OFR, OFS, OGG, PAC, PAF, PVF, RA, RAM, RAW, SD2, SF, SHN, SMP, SND, SPX, TTA, VOC, W64, WAV, WMA, und WV. Ebenso können Audiodateien aus folgenden Videoformaten umgewandelt werden: RM, RV, ASF, DivX, MPG, MKV, MPEG, AVI, MOV, OGM, QT, VCD, SVCD, M4V, NSV, NUV, PSP, SMK, VOB, FLV, und WMV.

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 ==
||<-3 rowclass="titel"> Perl Audio Converter Optionen (Auswahl) ||
||<rowclass="kopf"> Option || Langform || Funktion ||
||<rowclass="highlight"> `-t FORMAT` || `--to FORMAT` || gewünschtes Ausgabeformat (gleichzeitig neue Dateiendung) ||
||`-r` || `--recursive` || rekursive Umwandlung der Dateien auch in Unterverzeichnissen ||
||<rowclass="highlight"> `-p` || `--preserve` || existierende Ordnerstruktur wird auch für zu erstellende Ordner verwendet ||
||`-o FORMAT` || `--only FORMAT` || nur das angegebene Format wird umgewandelt ||
||<rowclass="highlight"> `-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! ||
||<rowclass="highlight">  || `--normalize` || Standard-Normalisierung der Audio-Dateien ||
||  ||`--nopts OPTION` || Normalisierung unter Angabe von Optionen ||
||<rowclass="highlight">  || `--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 [:man:Manpage] des Programms.

= Beispiel =
Der Aufruf 

{{{#!vorlage Befehl
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:

{{{#!vorlage Befehl
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. 

||<-2 rowclass="titel"> CD-Ripper-Optionen ||
||<rowclass="kopf"> Option || Funktion ||
||<rowclass="highlight"> `--rip OPTION` || alle (`all`) oder die durch Kommata getrennten Titel der CD rippen (z.B. "`1,3,9,15`")||
|| `--nocddb` || keine [wikipedia:Compact_Disc_Database:CDDB]-Abfrage zum Erstellen der Tags (Abfrage ist Standard) ||
||<rowclass="highlight"> `--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 ||
||<rowclass="highlight"> `--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: ||
||<rowclass="highlight">  `%ar` || Künstler ||
||  `%ti` || Songtitel ||
||<rowclass="highlight">  `%tr` || Tracknummer ||
||  `%yr` || Erscheinungsjahr||
||<rowclass="highlight">  `%ab` || Albenname ||

Beispiel:
 
{{{#!vorlage Befehl
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 [:Audiodateien_umwandeln#audio-convert:audio convert] für [:Nautilus:], aus dem Kontextmenü heraus nutzen. Ein [[Vorlage(Tasten, rmt)]] 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 [:KDE: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:pacpl/files/pacpl/Plugins:SourceForge] {en} 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 [#Moegliche-Formate 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#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

{{{#!vorlage Befehl
sudo ln -s `which normalize-audio` /usr/local/bin/normalize
}}}

erstellt werden.

[[Bild(./pacpl_logo.png, 48, align=right)]]
= Links =
 * [https://vorzox.wix.com/pacpl/ Projektseite] {en}
  * [sourceforge:pacpl:] {en} auf SourceForge.net
 * [:Audiodateien_umwandeln:] {Übersicht} Übersichtsartikel

#tag: Multimedia, Audio