Werbehinweise

Startseite » Blog » Audio-CD unter Linux mit abcde »rippen« 

Blog

Dezember 2023 November 2023 September 2023 August 2023 März 2023 Dezember 2022 November 2022 Oktober 2022 September 2022 August 2022 Juli 2022 Juni 2022 Mai 2022 März 2022 Januar 2022 Dezember 2021 November 2021 Oktober 2021 August 2021 Juli 2021 Juni 2021 Mai 2021 April 2021 März 2021 Februar 2021 Januar 2021 Dezember 2020 November 2020 Oktober 2020 August 2020 Juli 2020 Juni 2020 Mai 2020 April 2020 März 2020 August 2019 Juni 2019 April 2019 Dezember 2018 September 2018 Februar 2018 Oktober 2017 August 2017 April 2017 März 2017 Februar 2017 Januar 2017 Dezember 2016 Juli 2016 Februar 2016 Januar 2016 Oktober 2015 Juli 2015 Juni 2015 März 2015 Januar 2015 Dezember 2014 November 2014 Oktober 2014 September 2014 Juli 2014 Juni 2014 April 2014 März 2014 Februar 2014 Januar 2014 Dezember 2013 November 2013 Oktober 2013 August 2013 Juli 2013 März 2013 Februar 2013 Januar 2013 Dezember 2012 November 2012 Oktober 2012 September 2012 August 2012 Juli 2012 Juni 2012 Mai 2012 April 2012 März 2012 Februar 2012 Januar 2012 Dezember 2011 November 2011 Oktober 2011 September 2011 August 2011 Juli 2011 Juni 2011 Mai 2011 April 2011 März 2011 Februar 2011 Januar 2011 Unterwegs in Ulm Sechs Monate »Staubsammlung« im PC Kleine Tiershow Gefährlich, gefährlich Für die nächsten 1000 km »Fahren Sie bitte mal an die Seite...« »For sale!« Weingarten, Württ. Postfix: Maximale Dateigröße für (ausgehende) Mails festlegen SpamAssassin: sa-learn für »spam« und »ham« Der Fluch des einfachen typografischen Anführungszeichens TeamSpeak 3: Unter Linux (Mint 10 »Julia«) verwenden Audio-CD unter Linux mit abcde »rippen« Meine psychedelische Canon PowerShot A95 OpenOffice lässt sich nicht deinstallieren Dezember 2010 November 2010 Oktober 2010 September 2010 August 2010 Juli 2010 Juni 2010 Mai 2010 April 2010 März 2010 Februar 2010 Januar 2010 Dezember 2009 November 2009 Oktober 2009 September 2009 Januar 2009 Dezember 2008 November 2008 Oktober 2008 September 2008 Juni 2008 Mai 2008 April 2008 März 2008 Februar 2008 Januar 2008 Dezember 2007 November 2007 Oktober 2007 Mai 2007 Februar 2007 Januar 2007 September 2006 August 2006 Juni 2006 Mai 2006 April 2006 März 2006 Februar 2006 November 2005 Oktober 2005 September 2005 Juli 2005 Juni 2005 Mai 2005 Mai 2004 Oktober 2003 September 2003 Juli 2003 Juni 2002 Mai 2002 März 2002 Februar 2002 Januar 2002 November 2001 Oktober 2001 Juli 2001 Juni 2001 Mai 2001 März 2001 Februar 2001 Januar 2001
get Bluefish Editor
Geany – The Flyweight IDE
get Mozilla Firefox
get Opera
get Konqueror
get Mozilla Thunderbird
get Linux Mint
get Ubuntu Linux

Anzeige
ALL-INKL.COM - Webhosting Server Hosting Domain Provider

Werbung

25.

Januar

2011

Audio-CD unter Linux mit abcde »rippen«

In den FAQ ist schon seit ca. 2004 nachzulesen, dass ich unter Linux zum Rippen von meinen Audio-CDs die beiden Softwarelösungen abcde und/oder grip verwende. Da ich den größten Teil meiner CD-Sammlung schon vor Jahren in .mp3 umgewandelt hatte, war auf meinem aktuellen System kein abcde mehr eingerichtet.

Grund genug für mich ein paar Zeilen zu schreiben wie ich beim Einrichten vorgegangen bin und wie so ein Vorgang des »Rippens« einer Audio-CD so aussehen kann.

Da ich die Kommandozeile unter Linux liebe und sich darüber viele Dinge schnell und einfach erledigen lassen, sieht es natürlich auch bei der Wahl der Software für diesen Fall nicht anders aus.

Meine Wahl fiel daher schon vor etlichen Jahren auf abcde. Wie man auf so einen Namen für ein Skript kommen kann? Nun ja, da war eben mal wieder jemand kreativ.

Offiziell ist es jedenfalls die Abkürzung für »A Better CD Encoder« und sehr einfach zu merken. Es handelt sich dabei wie schon erwähnt um ein Skript und nicht um ein eigenständiges Programm. abcde ruft andere Programme auf und übernimmt sozusagen das Management des Ablaufs des Rippens, Encodierens und versieht auf Wunsch die erzeugten Dateien mit ID3-Tags.

Die von einer Audio-CD ausgelesenen Daten können über abcde anschließend in unterschiedlichen Dateiformaten mit (unterschiedlichster) Kompression abgspeichert werden, beispielsweise FLAC, MP3 und Vorbis. Standardmäßig wird erst einmal jeder Track in ein separates WAV extrahiert.

Durch zusätzliche Programme können die ID3-Tags vom Server von freedb.org[1] heruntergeladen werden und nach einer Bestätigung oder Bearbeitung der heruntergeladenen Daten automatisch den .mp3 zugewiesen werden.

Die Installation von abcde kann über die Kommandozeile oder über ein grafisches Paketverwaltungswerkzeug bewerkstelligt werden. Ich ziehe natürlich die Variante mit der Kommandozeile vor: sudo apt-get install abcde. Die Ausgabe an der Konsole sollte so oder so ähnlich aussehen:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut       
Statusinformationen werden eingelesen... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  cd-discid vorbis-tools
Vorgeschlagene Pakete:
  distmp3 id3 id3v2 eyed3 normalize-audio vorbisgain mkcue mp3gain
  python-musicbrainz
Die folgenden NEUEN Pakete werden installiert:
  abcde cd-discid vorbis-tools

Wie man sehen kann werden bestehende Abhängigkeiten wie üblich automatisch aufgelöst und noch zusätzliche Programme installiert. Da am Ende Dateien im Format MP3 erstellt werden sollen, muss auch noch lame als Encoder installiert werden. Damit MP3-Tags in die erstellten Dateien geschrieben werden können, werden auch noch die beiden Pakete id3 und id3v2 über einen Kommandozeilenaufruf installiert: sudo apt-get install lame id3 id3v2.

Somit sind alle Programme und Skripte für den ersten Start von abcde installiert – lediglich die Konfiguration fehlt noch. In der standardmäßigen Konfiguration will abcde die Musikdateien im Format Vorbis ablegt, muss dies durch eine im Home-Directory abgelegte Konfigurationsdatei .abcde.conf abgeändert werden. Schließlich sollen Dateien im Format MP3 erzeugt werden. Hierfür gibt es im Internet einige Konfigurationsdateien. Ich habe es mir hier auch recht einfach gemacht und die Beispielkonfiguration von Andrew Strong[2] übernommen:

# -----------------$HOME/.abcde.conf----------------- #
# 
# A sample configuration file to convert music cds to 
#       MP3 format using abcde version 2.3.99.6
# 
#       http://andrews-corner.org/abcde.html
# -------------------------------------------------- #

# Specify the encoder to use for MP3. In this case
# the alternatives are gogo, bladeenc, l3enc, xingmp3enc, mp3enc.
MP3ENCODERSYNTAX=lame 

# Specify the path to the selected encoder. In most cases the encoder
# should be in your $PATH as I illustrate below, otherwise you will 
# need to specify the full path. For example: /usr/bin/lame
LAME=lame

# Specify your required encoding options here. Multiple options can
# be selected as '--preset standard --another-option' etc.
LAMEOPTS='--preset extreme' 

# Output type for MP3.
OUTPUTTYPE="mp3"

# The cd ripping program to use. There are a few choices here: cdda2wav,
# dagrab, cddafs (Mac OS X only) and flac.
CDROMREADERSYNTAX=cdparanoia            
                                     
# Give the location of the ripping program and pass any extra options:
CDPARANOIA=cdparanoia  
CDPARANOIAOPTS="--never-skip=40"

# Give the location of the CD identification program:       
CDDISCID=cd-discid            
                               
# Give the base location here for the encoded music files.
OUTPUTDIR="$HOME/music/"               

# The default actions that abcde will take.
ACTIONS=cddb,playlist,read,encode,tag,move,clean
              
# Decide here how you want the tracks labelled for a standard 'single-artist',
# multi-track encode and also for a multi-track, 'various-artist' encode:
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
VAOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'

# Decide here how you want the tracks labelled for a standard 'single-artist',
# single-track encode and also for a single-track 'various-artist' encode.
# (Create a single-track encode with 'abcde -1' from the commandline.)
ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'
VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}'

# Create playlists for single and various-artist encodes. I would suggest
# commenting these out for single-track encoding.
PLAYLISTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}.m3u'
VAPLAYLISTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}.m3u'

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

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

Da die Konfigurationsdatei sehr gut kommentiert ist (wenn auch »nur« auf englisch), erspare ich mir eine detailierte Beschreibung der gewählten Optionen. Weiter also mit dem Beispiel wie die Ausgabe während des Rippens einer Audio-CD an der Konsole verläuft. Von mir eigegebene Aufrufe sind fett hervorgehoben und werden unterhalb der Ausgaben beschrieben:

amy@turanga:~$ abcde -d /dev/cdrom4
Executing customizable pre-read function... done.
Getting CD track info... Querying the CD for audio tracks...
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12 13
Checking CDDB server status...
Querying the CDDB server...
Obtaining CDDB results...
Retrieving multiple matches... done.

In meinem Fall habe ich als Device /dev/cdrom4 angeben müssen, da mein per USB angeschlossener DVD-Brenner unter Linux als eben dieses Device erkannt und vom System integriert wird.

Die letzte zitierte Zeile suggeriert, dass mindestens zwei Einträge zur gleichen CD in der freien CD-Datenbank gefunden wurde. Automatisch wird an dieser Stelle eingeblendet, welche Einträge in den jeweiligen Listen vorhanden sind. Diese können an dieser Stelle im Ablauf lediglich betrachtet, aber noch nicht verändert werden.

Nach dem Schließen der Anzeige ist die nächste offene Frage zu lesen:

Which entry would you like abcde to use (0 for none)? [0-2]: 1

Durch die Eingabe von 1 habe ich die Auswahl auf den ersten der beiden gefundenen Einträge in der freien CD-Datenbank gesetzt. Diese wird nun erneut angezeigt. Die Ausgabe endet mit der Abfrage ob die Datei editiert werden soll:

Selected: #1 (Karpatenhund / Karpatenhund #3)
---- Karpatenhund / Karpatenhund #3 ----
Year: 2007
Genre: Rock
1: Ist es das was Du wolltest
2: Zusammen verschwinden
3: Gegen den Rest
4: Nicht wirklich glücklich
5: Ich will das Du bleibst
6: Tag der nicht vergeht
7: Szene 1
8: Kein Wort mehr
9: Eigentlich wollte ich mich nicht mehr verlieben
10: Stunts
11: Für immer
12: Oh ja
13: Bridgeport night
Edit selected CDDB data? [y/n] (n): y

Eigentlich passt ja soweit alles, jedoch wollte ich das Beispiel durchspielen wenn eine Korrektur an den Daten notwendig sein sollte. Beispielsweise wenn sich ein Rechtschreibfehler eingeschlichen haben sollte oder vom ursprünglichen Verfasser der Liste (un)bewusst falsche Daten bei Jahr, Genre oder den Titeln eingegeben worden sind.

Es öffnet sich nun noch einmal ein Editor (in meinem Fall vim), mit welchem die Informationen noch einmal bearbeitet werden könnten.

Nachdem Korrekturen vorgenommen wurden, wird die Datei einfach gespeichert und der Editor beendet. Der Ablauf des Rippens wird von abcde automatisch mit der nächsten Frage fortgesetzt:

Is the CD multi-artist? [y/n] (n): n
Creating playlist...
Grabbing track 01: Ist es das was Du wolltest...
cdparanoia III release 10.2 (September 11, 2008)

Ripping from sector       0 (track  1 [0:00.00])
          to sector   19927 (track  1 [4:25.52])

outputting to /home/amy/abcde.980ab90d/track01.wav

 (== PROGRESS == [ >                            | ...... 00 ] == :^D o ==)

Da die CD von »Karpatenhund«[3] nur einen Künstler hat (nämlich »Karpatenhund« selbst), ist es natürlich keine »multi-artist«-CD. Daher die Eingabe von n, nach deren Bestätigung mit dem Auslesen und Encodieren der einzelnen Stücke begonnen wird.

Dabei wird der Fortschritt zunächst in einer Zeile dargestellt. Ist ein Schritt abgeschlossen »rutscht« die bisherige Ausgabe nach oben, der nächste Fortschrittsbalken wird angezeigt:

Grabbing track 02: Zusammen verschwinden...
cdparanoia III release 10.2 (September 11, 2008)

Encoding track 01 of 13: Ist es das was Du wolltest...
Ripping from sector   19928 (track  2 [0:00.00])
          to sector   34488 (track  2 [3:14.10])

outputting to /home/amy/abcde.980ab90d/track02.wav

 (== PROGRESS == [                      >       | 029439 00 ] == :-) o ==)   
 Tagging track 01 of 13: Ist es das was Du wolltest...
 (== PROGRESS == [                              | 034488 00 ] == :^D * ==)   

Done.

Dies wird so lange fortgesetzt bis alle Musikstücke von der CD ausgelesen und als .mp3 auf der Festplatte gespeichert wurden.

X_FISH


Datenschutzerklärung
Durch die Nutzung der Website stimmen Sie der Verwendung von Cookies zur Durch­führung von Analysen und zum Erstellen von Inhalten und Werbung, welche an Ihre Interessen angepasst ist, zu.