Alternative to SoundConverter: PACPL. The Perl Audio Converter.

I’ve had issues with SoundConverter on Linux. It wouldn’t always transcode my FLAC files to MP3 (or any other format for that matter). It would often just cut out … stopping the transcoding at random points in each FLAC file. It also was very light on features.

I was researching ways to manually transcode FLAC files into MP3 (for the purposes of listening to audio files on-the-go on my phone, while taking up less space) and thought about doing it via command line. After making sure FLAC and LAME were both installed on my machine, just running:

for f in *.flac; do flac -cd "$f" | lame -b 320 - "${f%.*}".mp3; done

This command will work straight from a shell prompt or as a script, so long as all the files you want to transcode are in ONE directory. If you want to do it recursively (as well as handle directories with spaces or multiple spaces) you need a more complex bash script.

My alternative solution was much better and more versatile. The Perl Audio Converter: PACPL.

This does more than SoundConverter and is more stable. Unlike SoundConverter, it supports normalization, which really helps for audio files that are a bit low on volume. Since in this audio batch I had about 12.5 gigs of FLAC files that I wanted to transcode into MP3, I just copied the entire directory, creating a duplicate. I then ran this command:

pacpl -t mp3 --bitrate 192 -r ./ --normalize --delete

This command will convert everything below the ./ current path and transcode every audio file (regardless of file type) into MP3 (-t mp3) at a bitrate of 192 (–bitrate 192). The -r will do this job recursively from the current directory. It will also normalize (–normalize) each file and then delete (–delete) the original source/input file.

When the script was done a few hours later, my duplicate directory was now an MP3 version of the original directory, at about 1/3rd the size.

There are plenty of options that make PACPL much more versatile than SoundConverter (though there’s no GUI to PACPL, it’s just run from command line).

You can apt-get it from most debian based repositories (sudo apt-get install pacpl) and then just to a man paclp for more information.

The project hasn’t been updated since 2009, but it appears to be quite versatile if you check out their website. It also supports CD Audio ripping with CDDB lookup. It can also work under Windows leveraging Cygwin.

From their site:

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, 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, and WV. It can also convert audio from the following video formats: 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.