PACPL(1)
π PACPL(1) β like, the manual page bestie π
okay so you found pacpl(1) and honestly? good for you. This is a User Contributed Perl Documentation page, and I'm gonna walk you through it like we're texting at 2am. grab a snack π, we're doing this.
πΈ NAME πΈ
pacpl β Perl Audio Converter. a multi purpose converter/ripper/tagger. that's the whole vibe. π
β¨ SYNOPSIS β¨
pacpl --to <format> <options> [file(s)/directory(s)]
that's it. that's the shape of every pacpl command you'll ever write. slay. π
π¦ DESCRIPTION π¦
It's Perl Audio Converter. a Linux CLI tool for converting multiple audio types from one format to another. no cap, it just does the thing.
It supports the following audio formats:
========================================
3G2, 3GP, 8SVX, AAC, AC3, ADTS, AIFF, AL, AMB, AMR, APE, AU, AVR, BONK,
CAF, CDR, CVU, DAT, DSF, DTS, DVMS, F32, F64, FAP, FLA, FLAC, FSSD,
GSRT, HCOM, IMA, IRCAM, LA, MAT, MAUD, MAT4, MAT5, M4A, MP2, MP3, MP4,
MPC, MPP, NIST, OFF, OFR, OFS, OPUS, OGA, OGG, PAF, PRC, PVF, RA, RAM,
RAW, RF64, SD2, SF, SHN, SMP, SND, SOU, SPX, SRN, TAK, TTA, TXW, VOC,
VMS, VQF, W64, WAV, WMA, and WV.
It can also extract audio from the following video extensions:
==============================================================
RM, RV, ASF, DivX, MPG, MKV, MPEG, AVI, MOV, OGM, OGV, QT, VCD, SVCD,
M4V, NSV, NUV, PSP, SMK, VOB, FLV, WEBM and WMV.
and then β because it's not done being iconic β it also gives you Parallel Processing, a CD ripping function with CDDB support, batch conversion, tag preservation for most supported formats, independent tag reading & writing, service menus for KDE Dolphin/Konqueror, a GNOME Nautilus script, and action scripts for Nemo/Thunar. it's giving multitool. π₯
π OPTIONS π
-t,--toformat β set the encode format for your input file(s) or director(ies). wanna see every format it can spit out? hit up--formats, bestie.-r,--recursiveβ recursively scan and convert input folder(s) into the destination format. yes, it goes all the way down. π³οΈ-p,--preserveβ when you're recursively converting a directory, this preserves the input folder's directory structure inside the output directory you specified. like so:
pacpl --to ogg -r -p /home/mp3s --outdir /home/oggs
in that example, let's pretend the directory structure was:
/home/mp3s/Alternative
/home/mp3s/Alternative/New
/home/mp3s/Rap
/home/mp3s/Country
/home/mp3s/Techno/
the output directory will now contain:
/home/oggs/Alternative
/home/oggs/Alternative/New
/home/oggs/Rap
/home/oggs/Country
/home/oggs/Techno
with all files in each sub-folder converted to ogg. structure preserved, files transformed. glow up moment. β¨
-o,--onlyformat β only convert files matching that extension. absolute lifesaver when you've got a directory or batch of mixed audio types and you only need ONE specific type out of it.-k,--keepβ do not re-encode files whose extensions already match the destination extension. instead... copy them to the output folder, or skip to the next file. (yes, with the little "..." pause. we love a dramatic ellipsis.) π-j,--jobsβ number of simultanious jobs to run at once. the default limit is set to4inpacpl.conf. you can modify this value on the fly with--jobs=<num>or set it perminately in the configuration file. multitasking queen energy. π-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.
π USER OPTIONS π
--defopts1/0 β to turn off default encoder options, use--defopts 0. this one gives you more control when you're using the--eoptscommand.defoptsis set to1by default. you can also toggle this option in/etc/pacpl/pacpl.conf.--eoptsoptions β lets you use encoder options that pacpl itself doesn't implement. an example would be:
pacpl --to mp4 --eopts="-c 44100 -I 1,2" YourFile.mp3
--doptsoptions β same deal but for decoder options pacpl doesn't implement. for example:
pacpl --to mpc --dopts="--start 60" YourFile.ogg
--outfilename β set the output file name to name.--outdirdirectory β place all encoded files in directory.--dryrunβ 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. protective, respectful, we stan. π«Ά--overwriteβ replace the output file if it already exists.--normalizeβ adjusts volume levels of audio files.--noptsoptions β this allows you to specify normalize options not implemented by pacpl.--deleteβ remove the source/input file after the conversion process has finished. β οΈ--encoderencoder β 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
--decoderdecoder β 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. main character energy: it tells you everything. π
π ENCODER OPTIONS π
--bitratenum β set the bitrate to num. default is128. this option does not apply to all formats.--freqnum β set the frequency to num. default is44100. this option does not apply to all formats.--channelsnum β set the number of audio channels in the output file to num. this option does not apply to all formats.--effectstr β seesox(1). this option only applies to the following:
AIFF, AU, SND, RAW, VOC, SMP, AVR, and CDR
--fcompnum β set flac compression level to num. fastest-0, highest-8, default-2
1 = fast
2 = simple
3 = medium (default)
4 = high
5 = extra high,
--acompnum β set ape compression level to num.
1000 = fast
2000 = normal
3000 = high (default)
4000 = extra high
5000 = insane
--oggqualnum β set ogg quality level to num.-1is very low and10is very high, default3.--spxqualnum β set speex quality level to num.0-10, default8(use--bitrate <num>when using ffmpeg/avconv as encoder).--aacqualnum β set aac, mp4, m4a, or m4b quality level to num. default300.--mpcqualstr β 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)
--ofmodestr β set off/ofr/ofs compression mode to str.normal,extra, andextranewmodes are recommended for general use. available options are:
fast
normal (default)
high
extra
best
highnew
extranew
bestnew
--ofoptstr β set off/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:
none
fast (default)
normal
high
best
--brationum β set bonk down sampling ratio. default2.--bquanlnum β set bonk quantanization level. default1.0.--bpsizenum β set bonk predictor size. default128.
π TAGGING OPTIONS π
note: tagging outside of the encoding process can only be performed on the following audio types:
MP3
OGG
FLA
FLAC
--artiststr β set artist information to str.--titlestr β set title information to str.--tracknum β set track information to num.--yearnum β set year/date information to num.--albumstr β set album information to str.--genrestr β set genre information to str.--commentstr β set comment information to str.--taginfofile β show tagging information for file. multiple files can be specified at once.
πΏ RIPPING OPTIONS πΏ
--ripnum/all β rip selected tracks separated by comma, orall, from the current disc.
pacpl --rip all --to flac
pacpl --rip 1,3,9,15 --to flac
--nocddbβ disable cddb. use this option if you do not want tagging based on cddb.--noinputβ disable cddb interactivity. this is enabled by default.--nschemestr β 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"
--devicedevice β set device to device. default is/dev/dvd.--cdinfoβ show cddb information for current disc.
π SEE ALSO π
sox(1) ffmpeg(1) lame(1) oggenc(1) oggdec(1)
flac(1) shorten(1) faac(1) faad(1) mpcenc(1)
mpcdec(1) mplayer(1) speexenc(1) speexdec(1)
sndfile-convert(1) normalize(1) cdparanoia(1)
opusenc(1) opusdec(1) wavpack(1) ffmpeg(1)
mplayer(1) avconv(1)
(and yes, ffmpeg(1) and mplayer(1) are listed twice. iconic behavior, we leave it exactly as it is. β¨)
π BUGS π
Report all bugs to Philip Lyons (vorzox@gmail.com). don't be shy, that's literally what it's for.
π§ LICENSING π§
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 <http://www.gnu.org/licenses/>.
πΊ AUTHOR πΊ
okay so the original page has, and I quote verbatim, a leftover merge conflict sitting right in the AUTHOR section. no, I'm not fixing it. it's historical. it's a museum piece. it's lowkey iconic. π«Ά
<<<<<<< HEAD
Copyright (C) 2005-2021 Philip Lyons (vorzox@gmail.com)
=======
Copyright (C) 2005-2019 Philip Lyons (vorzox@gmail.com)
>>>>>>>
cc4eb189828ef15228da02c14a39e484294126ec
and that's the whole page bestie! π this one shipped with perl v5.36.0, dated 2023-02-01, and it's part of the PACPL(1) manual. go convert something. go rip a CD. go preserve a directory structure. you got this, periodt πππ
π¦ where this page comes from
- debian bookworm: pacpl 6.1.3-1 Β· GPL-3.0-or-later
- debian trixie: pacpl 6.1.3-1 Β· GPL-3.0-or-later
- ubuntu noble: pacpl 6.1.3-1 Β· GPL-3.0-or-later
- ubuntu questing: pacpl 6.1.3-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms