· 9 years ago · Nov 27, 2016, 06:50 AM
1#!/bin/sh
2#
3# Rip an audio CD to MP3 complete with ID3 tags. Requires cdda2wav and lame.
4#
5# Copyright (c) 2016, Alexandre Hamelin <alexandre.hamelin gmail.com>
6
7
8# Check requirements
9for bin in cdda2wav lame; do
10 type -Pp $bin >/dev/null || {
11 echo "binary $bin is required, aborting"
12 exit 1
13 }
14done
15
16#dev=$(cdda2wav -scanbus 2>/dev/null | awk '/CD-ROM/ {print $1}') # eg: 8,0,0
17cdda2wav -B || {
18 echo "error running cdda2wav"
19 exit 1
20}
21
22album=$(sed '/^DTITLE/!d; s/.*=//' audio.cddb)
23year=$(sed '/^DYEAR/!d; s/.*=//' audio.cddb)
24ntracks=$(sed '/^TTITLE/!d' audio.cddb | wc -l)
25
26sed '/^T/!d; s/.*=//' audio.cddb | cat -n | while read i title; do
27 idx=$(printf %02d $i)
28 lame --tt "$title" \
29 --ta "Les Mills International" \
30 --tl "$album" \
31 --ty "$year" \
32 --tn $i/$(printf %02d $ntracks) \
33 "audio_$idx.wav" "$idx - $title.mp3"
34done
35ls -l *.mp3