Convert Ogg Vorbis to MP3 and back

Here's a bash script for converting Ogg Vorbis files to mp3:

time for i in *.ogg; do
	oggdec -o t "$i" ;
	lame -h --vbr-new -V 2 -B 256 \
	    --ignore-tag-errors \
	    --tt "`ogginfo "$i" | grep title | awk -F= '{print $2}'`" \
	    --ta "`ogginfo "$i" | grep artist | awk -F= '{print $2}'`" \
	    --tl "`ogginfo "$i" | grep album | awk -F= '{print $2}'`" \
	    --ty "`ogginfo "$i" | grep date | awk -F= '{print $2}'`" \
	    --tn "`ogginfo "$i" | grep tracknumber | awk -F= '{print $2}'`" \
	    --tg "`ogginfo "$i" | grep genre | awk -F= '{print $2}'`" \
	    --tc "Encoded using lame." \
            t "mp3/`echo $i | sed s/.ogg/.mp3/g`";
done
oggdec comes from vorbis-tools-1.0-3 (RPM), while lame comes from http://lame.sourceforge.net/.

MP3 to Ogg Vorbis

for i in *.mp3; do
	lame --decode "$i" t;
	oggenc -q 4 -b 192 -o "`echo $i | sed s/.mp3/.ogg/g`" t;
done

FLAC to WAV to Ogg Vorbis

for i in *.flac; do
	flac -cd "$i" > t.wav; 
	oggenc -q 4 -b 192 -o "`echo $i | sed s/.mp3/.ogg/g`" t.wav;
done

Ogg to WAV to CDROM

time for i in *.ogg; do 
        oggdec -o "/tmp/wav/`echo $i | sed s/.ogg/.wav/g`" "$i" ; 
done

cdrecord dev=0,0,0 speed=8 -vvvv  -pad -audio /tmp/wav/*

eFax to WAV

sox -t gsm [file].evc [file].wav

Creating M3U

cat t.f | perl -e 'use URI::Escape; while () {chomp; if (/^#/) { \
print $_ } else { print uri_escape($_) } print "\n"; }' > file.m3u

Recording playing audio

Find the name for the -d option from
pactl list | less
and look for analog-stereo.monitor. For instance recording Skype:
arec -r -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -n "sound rec" | \
sox -t raw -r 44100 -s -b 16 -c 2 -L - file.wav

Last modified: Thu Mar 3 14:59:11 PST 2011