PACPL(1)

πŸ“¦
version 6.1.3 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing

πŸ’– 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, --to format β€” 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, --only format β€” 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 to 4 in pacpl.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 🌈

  • --defopts 1/0 β€” to turn off default encoder options, use --defopts 0. this one gives you more control when you're using the --eopts command. defopts is set to 1 by default. you can also toggle this option in /etc/pacpl/pacpl.conf.
  • --eopts options β€” 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
  • --dopts options β€” same deal but for decoder options pacpl doesn't implement. for example:
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.
  • --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.
  • --nopts options β€” this allows you to specify normalize options not implemented by pacpl.
  • --delete β€” remove the 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. main character energy: it tells you everything. πŸ‘‘

πŸŽ€ ENCODER OPTIONS πŸŽ€

  • --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:
AIFF, AU, SND, RAW, VOC, SMP, AVR, and CDR
  • --fcomp num β€” set flac compression level to num. fastest -0, highest -8, default -2
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 is very low and 10 is very high, default 3.
  • --spxqual num β€” set speex quality level to num. 0-10, default 8 (use --bitrate <num> when using ffmpeg/avconv as encoder).
  • --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 off/ofr/ofs compression mode to str. normal, extra, and extranew modes are recommended for general use. available options are:
fast
normal (default)
high
extra
best
highnew
extranew
bestnew
  • --ofopt str β€” 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
  • --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 OPTIONS πŸ’œ

note: tagging outside of the encoding process can only be performed on the following audio types:
MP3
OGG
FLA
FLAC
  • --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.

πŸ’Ώ RIPPING OPTIONS πŸ’Ώ

  • --rip num/all β€” rip selected tracks separated by comma, or all, 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.
  • --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 device β€” 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