# Extract waveform data
for I in *.mp3; do lame --decode "${I}" "wav/$(basename "${I}" .mp3).wav"; done
for I in *.flv; do mplayer -vo null -ao pcm:fast:file="wav/$(basename "${I}" .flv).wav" "${I}"; done
# Strip off leading and trailing silence
bash
for I in *.wav
do
echo -n "==> ${I} : "
echo -n "copy "; cp "${I}" 00.wav || kill $$
echo -n "silence "; sox 00.wav 01.wav silence 1 0.1 0.1 || kill $$
echo -n "reverse "; sox 01.wav 02.wav reverse || kill $$
echo -n "silence "; sox 02.wav 01.wav silence 1 0.1 0.1 || kill $$
echo -n "reverse "; sox 01.wav 00.wav reverse || kill $$
echo "move"; mv 00.wav "${I}" || kill $$
done
# Normalize all tracks
normalize -m *.wav
Generate a toc with this: generate_toc.sh
Then edit the TOC to add CD Text information:
CD_DA
CD_TEXT {
LANGUAGE_MAP {
0 : EN
}
LANGUAGE 0 {
TITLE "Mix CD"
PERFORMER "Various Artists"
}
}
TRACK AUDIO
CD_TEXT {
LANGUAGE 0 {
TITLE "She Got It"
PERFORMER "2 Pistols"
}
}
AUDIOFILE "2 Pistols - She Got It.wav" 0
TRACK AUDIO
CD_TEXT {
LANGUAGE 0 {
TITLE "How's It Going To Be"
PERFORMER "3rd Eye Blind"
}
}
AUDIOFILE "3rd Eye Blind - How's It Going To Be.wav" 0
And burn using the raw driver, to ensure the CD-TEXT gets written:
sudo cdrdao write --speed 1 --device /dev/sr0 --driver generic-mmc-raw -v 2 -n --eject cd.toc
