xcdroast-Dateien in OGG umwandeln

Submitted by Erik Wegner on
Body

Das Programm xcdroast kann eine Audio-CD auf der Festplatte ablegen und idealerweise auch die CDDB abfragen. Um diese wav-Dateien ins platzsparende OGG-Vorbis- oder MP3-Format umzuwandeln, können die Informationen aus der xinf-Datei genutzt werden. Dazu dient das folgende Skript konvert.gawk:

#!/usr/bin/gawk -f
BEGIN { FS=" = "; quality = 6; }
$1 == "file" { 
	datei = $2; 
#	print "Datei " datei ;
}
$1 == "track" { 
	split($2, ta, " "); 
	titelnr = "1" substr("0" ta[1], length( ta[1] ) ); 
#	print "Titelnr " titelnr; 
}
$1 == "cddb_ttitle" { 
	titel = "\"" substr($2, 2, length($2)-2) "\"";
#	print "Titel " titel; 
}
$1 == "cd_cddb_dtitle" {
	split( substr($2, 2, length($2)-2), ta, " / ");
	album = "\"" ta[1] "\"";
	interpret = "\"" ta[2] "\"";
#	print "Album " "\"" album "\""
#	print "interpret " "\"" interpret "\""
}
$1 == "cd_discid" { 
	system( 
		sprintf("oggenc -q %s -a %s -t %s -l %s -N %s %s \n", 
			quality, 
			interpret, 
			titel,  
			album, 
			titelnr, 
			datei)); 
}

Der Aufruf erfolgt über die folgende Befehlszeile. Das Skript muss zuvor als ausführbar markiert werden.:

chmod +x konvert.gawk
cat *.xinf | ./konvert.gawk