To main content

CDs mit abcde rippen

Veröffentlicht von Benjamin Marwell am

Green AudioBereits vor über zwei Jahren habe ich berichtet, wie man unter Ubuntu (und anderen Linux-Distributionen) seine Musik von CD auf Platte bringt - dieser Vorgang nennt sich auch »CD rippen«. Ronald hat damals schon abcde empfohlen, welches ich auch etwa seitdem nutze. Es handelt sich um ein Terminal-Programm - ist aber erstaunlich einfach zu bedienen. Eine kurze Übersicht und Beispielkonfiguration.

Installation

Zur Nutzung muss man es natürlich erst einmal installieren und ggf. vorher kompilieren. Das ist mal wieder unter Ubuntu und Gentoo denkbar einfach. Die Installation dauert nicht sehr lange, da abcde eigentlich nur ein Shellskript ist. Davon sollte man sich aber nicht irritieren lassen, da es sehr umfangreich und mächtig ist!

abcde unter Gentoo installieren

USE="aac cdparanoia flac id3 lame normalize replaygain speex vorbis" \
emerge -avq abcde

abcde unter Ubuntu installieren

sudo apt-get install abcde distmp3 id3 id3v2 eyed3 \
normalize-audio vorbisgain mkcue mp3gain python-musicbrainz \
libesd0 libesd-alsa0 libroar1 libsndio0 roaraudio-server

Das war es schon. Im folgenden also ein paar Erklärungen Beispiele zur Nutzung.

Starten - nur ein Befehl ohne Parameter

abcde beim rippen einer CD, Textconsole
abcde beim rippen und konvertieren

Das schöne an ABCDE ist, dass man nur seinen Namen auf der Befehlszeile eingibt, und schon legt es los. Es legt die Dateien in meinem Lieblingsformat in einen von mir bestimmten Ordner, nutzt das von mir favorisierte Dateiformat und denentsprechenden Encoder, taggt, normalisiert und korrigiert automatisch. Praktisch, oder? Das ganze sieht also wie im Bild rechts aus.

Alle Informationen, wie etwa Ausgabeformat (hier: OGG Vorbis) und Qualität (hier: Q6) sind bereits in einer Konfigurationsdatei definiert. Allerdings sind dort auch Qualitätseinstellungen für andere Formate definiert. Möchte ich also ausnahmsweise ein MP3 erzeugen, so gebe ich ein:

abcde -o mp3:"-V 5"

Optional kann ich auch das -V 5  weglassen, um dadurch automatisch die Qualitätskonfiguration aus meiner .abcde.conf  zu verwenden. Mit dem Beispiel oben lässt sich aber schön zeigen, wie flexibel dieses Kommandozeilentool doch ist.

Ausgewählte Tracks

Um nicht gleich eine ganze CD zu rippen, lassen sich auch einzelne Tracks selektiv rippen. Dazu gibt man einfach die Tracks an, wie man sie auch bei natürlicher Schreibweise angeben würde. Für die Tracks zwei bis fünf und sieben zu rippen, gibt mal also ein:

abcde 1-5 7
Das ganze als MP3:
$ abcde -o mp3 1-5 7

Und um die ganze CD in eine einzelne Datei zu stecken gibt es auch einen Parameter. Das ist für Hörbücher etwa interessant, da auch einzelne Kapitel über das Cuesheet angesprungen werden können. Allerdings ist FLAC hier der falsche Codec, aber als Beispiel durchaus in Ordnung, da er aus meiner Sicht am häufigsten in Verbindung mit Cue-Sheets verwendet wird:

abcde -1 -o flac -a default,cue

Meine .abcde.conf

Also Dateiformat nehme ich - wie oben beschrieben - Vorbis in einem OGG-Container. Grund hierfür ist die teils bessere Audioqualität bei kleinerer Dateigröße als MP3, die Unterschiede sind durch die Optimierungen der letzten Jahre aber stark geschrumpft. Es überwiegt aber weiterhin, dass OGG und Vorbis freie Formate sind. Darum: Play Ogg!

Meine Konfiguration ist aus verschiedenen Quellen zusammengesucht und immer wieder an meine Bedürfnisse angepasst worden. Wenn ihr wollt, nehmt gerne auch meine Konfiguration als Grundlage für eure Lieblingseinstellungen. Ich habe auch viel Wert darauf gelegt, dass die Dateien vernünftig getaggt werden. Das ist dank MusicBrainz gut möglich, allerdings funktioniert es derzeit durch API-Änderungen nicht vernünftig. Ich tagge hinterher also nochmal mit MusicBrainz Picard. Dieses hat ebenfalls die exzellente Datenbasis von MusicBrainz und ist daher das von mir empfohlene Tool.

##################################################################
# Andrew's ~/.abcde.conf file to encode to ogg, flac and mp3 at  #
# the same time. The 3 filetypes will then be tagged or          #
# commented and dispersed to seperate directories.               #
# http://people.aapt.net.au/~adjlstrong/ubuntu.html              #
##################################################################

# What are the names of the encoding programs?
OGGENCODERSYNTAX=oggenc                 # Specify encoder for ogg
MP3ENCODERSYNTAX=lame                   # Specify encoder for mp3
FLACENCODERSYNTAX=flac                  # Specify encoder for flac
AACENCODERSYNTAX=faac

# What program to rip the tracks from CD?
CDROMREADERSYNTAX=cdparanoia            # CD reader program to use

# Where are the encoding programs?
OGGENC=/usr/bin/oggenc                  # Path to ogg encoder
LAME=/usr/bin/lame                      # Path to lame encoder
FLAC=/usr/bin/flac                      # Path to flac encoder
AACENC=faac
VORBISGAIN=vorbisgain

# Where are the tagging / commenting programs?
ID3=/usr/bin/id3                        # Path to id3 editor
ID3V2=eyeD3                             # Path to id3v2 editor
ID3SYNTAX=eyed3             # Let abcde know that eyeD3's syntax is requiered
ID3V2OPTS="--set-encoding=utf8"         # Some characters can't be matched to latin-1
VORBISCOMMENT=/usr/bin/vorbiscomment    # Path to vorbiscomment
METAFLAC=/usr/bin/metaflac              # Path to metaflac

# Give the location of the CD identification program:
CDDISCID=cd-discid

# Where are the other programs?
CDPARANOIA=/usr/bin/cdparanoia          # Path to cdparanoia
CDPARANOIAOPTS="--never-skip=40"
CDDISCID=/usr/bin/cd-discid             # Path to cd-discid

# What options should be used for encoding?
OGGENCOPTS='-q 6'                       # Options for ogg
LAMEOPTS='--preset extreme'             # Options for mp3
FLACOPTS='--best'                       # Options for flac
AACENCOPTS='-q 250 -w -s'
VORBISGAINOPTS='-a'
#CDDBMETHOD=musicbrainz                  # Needs Patches!
# https://code.google.com/p/abcde/issues/detail?id=3

#OUTPUTTYPE="ogg,mp3,flac,m4a"               # mp3 +/- ogg +/- flac
OUTPUTTYPE="ogg"               # mp3 +/- ogg +/- flac

# Where do the encoded tracks go to?
OUTPUTDIR="$HOME/Musik/"                # Base directory for the music

# This divides the music into 3 folders:
#  mp3 goes to $HOME/music/mp3/
#  ogg goes to $HOME/music/ogg/
# flac goes to $HOME/music/flac/
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'
VAOUTPUTFORMAT='${ALBUMFILE}/${TRACKNUM} - ${ARTISTFILE} - ${TRACKFILE}'

# The default actions that abcde will take.
ACTIONS=cddb,playlist,read,encode,replaygain,tag,move,clean

# Put spaces in the filenames.
mungefilename ()
{
    echo "$@" | sed s,:,-,g | tr / _ | tr -d \'\"\?\[:cntrl:\]
}

# What extra options?
MAXPROCS=4                              # Run a few encoders simultaneously
PADTRACKS=y                             # Makes tracks 01 02 not 1 2
EXTRAVERBOSE=y                          # Useful for debugging
EJECTCD=n                               # Please eject cd when finished :-)
BATCHNORM=y                             # replaygain batch-mode :)

Fazit

Im Vergleich zu Grip und Sound Juicer ist es nicht nur viel einfacher zu bedienen, sondern die Ergebnisse sind auch noch viel besser auf meine gewünschten Ergebnisse abgestimmt. Es gibt daher für mich keinen Grund mehr, auf ein anderes Tool zurückzugreifen. Wieder mal ein schönes Beispiel für: Terminal kann auch einfach sein!

Weblinks

Weitere Links, die indirekt etwas mit abcde zu tun haben: