pacpl(1) Perl Audio Converter, a multi purpose converter/ripper/tagger


pacpl --to <format> <options> [file(s)/directory(s)]


Perl Audio Converter is a tool for converting multiple audio types from one format to another. It supports AAC, AC3, AIFF, APE, AU, AVR, BONK, CAF, CDR, FAP, FLA, FLAC, IRCAM, LA, LPAC, MAT, MAT4, MAT5, M4A, 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, and WV. It can also convert audio from the following video extensions: RM, RV, ASF, DivX, MPG, MKV, MPEG, AVI, MOV, OGM, QT, VCD, SVCD, M4V, NSV, NUV, PSP, SMK, VOB, FLV, and WMV. A CD ripping function with CDDB support, batch conversion, tag preservation for most supported formats, independent tag reading/writing, and extensions for Amarok, Dolphin, and Konqueror are also provided.


-t, --to format

set encode format for the input file(s) or directory(s). you can see a complete list of supported encode formats by using the --formats option.

-r, --recursive

recursively scan and convert input folder(s) to desination format.

-p, --preserve

when recursively converting a directory, preserve the input folders directory structure in the specified output directory. such as:

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

in the example above, let's assume the directory structure was:


the output directory will now contain:


with all files in each sub-folder converted to ogg.

-o, --only format

only convert files matching extenstion. this option is useful when you have a directory or batch of files with mixed audio types and only need to convert one specific type.

-k, --keep

do not re-encode files with extensions matching the destination extension. instead...copy them to the output folder, or skip to the next file.

-f, --formats show a list of supported encode/decode formats.
-h, --help show the short help menu.
-l, --longhelp display the complete list of options.
--version show version and licensing information.


--defopts 1/0

to turn off default encoder options use --defopts 0. this option gives you more control when using the --eopts command.

defopts is set to 1 by default. you can also toggle this option in /etc/pacpl/pacpl.conf.

--eopts options

this option allows you to use encoder options not implemented by pacpl. an example would be:

pacpl --to mp4 --eopts=``-c 44100 -I 1,2'' YourFile.mp3

--dopts options

this option allows you to use decoder options not implemented by pacpl. an example would be:

pacpl --to mpc --dopts=``--start 60'' YourFile.ogg

--outfile name

set the output file name to name.

--outdir directory

place all encoded files in directory.


show what would be done without actually converting anything. this is a good way to trouble shoot, or to see what would be done without actually touching your files.


replace the output file if it already exists.


adjusts volume levels of audio files.

--nopts options

this allows you to specify normalize options not implemented by pacpl


remove source/input file after the conversion process has finished.

--encoder encoder

specify an alternate encoder for the selected output file(s)

you can see a list of supported encoders by using the following:

pacpl --encoder format

--decoder decoder

specify an alternate decoder for the selected input file(s)

you can see a list of supported decoders by using the following:

pacpl --decoder format

-v, --verbose

show detailed information about the encoding process and what's actually being done.


--bitrate num

set the bitrate to num. default is 128. this option does not apply to all formats.

--freq num

set the frequency to num. default is 44100. this option does not apply to all formats.

--channels num

set the number of audio channels in the output file to num. this option does not apply to all formats.

--effect str

see sox(1). this option only applies to the following:


--fcomp num

set flac compression level to num. fastest -0, highest -8, default -2

--pcomp num

set lpac/pac compression level to num.

1 = fast
2 = simple
3 = medium (default)
4 = high
5 = extra high,

--acomp num

set ape compression level to num.

1000 = fast
2000 = normal
3000 = high (default)
4000 = extra high
5000 = insane

--oggqual num

set ogg quality level to num. -1, very low and 10 very high, default 3

--spxqual num

set speex quality level to num. 0-10, default 8

--aacqual num

set aac, mp4, m4a, or m4b quality level to num. default 300

--mpcqual str

set mpc/mpp quality level to str.

thumb low quality/internet, (typ. 58... 86 kbps)
radio medium (MP3) quality, (typ. 112...152 kbps - default)
standard high quality (dflt), (typ. 142...184 kbps)
xtreme extreme high quality, (typ. 168...212 kbps)

--ofmode str

set ofr/ofs compression mode to str. normal, extra, and extranew modes are recommended for general use. available options are:

normal (default)

--ofopt str

set ofr/ofs optimization level to str.

specify the optimization level in the engine. In order to achieve optimal compression at all sample types, sample rates, and audio content, the core compression engine has the possibility to find the optimal values for its parameters, at the cost of slightly increased compression time only. The default recommended value is fast. do not use normal (or even high or best) for this parameter unless encoding time does not matter and you want to obtain the smallest possible file for a given compression mode. The difference between the optimize levels fast and best (which is up to three times slower than fast) is very small, generally under 0.05%, but may be also larger in some rare cases. Note that the none optimize level is forced by the encoder to fast optimize level for the extra, best, highnew, extranew, and bestnew modes.

available options are:

fast (default)

--bratio num

set bonk down sampling ratio. default 2

--bquanl num

set bonk quantanization level. default 1.0

--bpsize num

set bonk predictor size. default 128



tagging outside of the encoding process can only be performed on the following audio types:


--artist str

set artist information to str.

--title str

set title information to str.

--track num

set track information to num.

--year num

set year/date information to num.

--album str

set album information to str.

--genre str

set genre information to str.

--comment str

set comment information to str.

--taginfo file

show tagging information for file. multiple files can be specified at once.


--rip num/all

rip selected tracks separated by comma or all from current disc.

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


disable cddb. use this option if you do not want tagging based on cddb.


disable cddb interactivity. this is enabled by default.

--nscheme str

set naming scheme to str. default is %ar - %ti

available options are:

%ar = artist
%ti = song title
%tr = track
%yr = year
%ab = album

eg: --nscheme=``(%tr)-%ti''

--device str

set device to str. default is /dev/cdrom


show cddb information for current disc.


Report all bugs to Philip Lyons ([email protected]).


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <>.


Copyright (C) 2005-2009 Philip Lyons ([email protected])