Backup dei CD audio

Le memorie ottiche rotanti sono poco pratiche e questa non è certo una novità.

Tempo fa ho aggiunto alla collezione di hardware casalingo un QNAP TS-431 con l’idea di destinarlo principalmente a multimedia server, almeno per ora.

Nei ritagli di tempo delle ultime settimane ho eseguito il backup dei miei CD audio, circa 500 centimetri lineari di scaffali.

Avevo già a disposizione 4 dischi Western Digital Red; dalla scorsa estate ho pattugliato ePrice e Amazon in attesa di un’offerta sui NAS vuoti. Un paio di mesi fa l’attesa è stata premiata e su ePrice ho trovato il TS-431 nuovo con uno sconto interessante. Se non si ha fretta basta aspettare e le offerte scontate arrivano.

In mezzo ai miei CD audio c’è un po’ di tutto: il primo CD che ho acquistato è stata la colonna sonora di Staying Alive quando è uscito il film nel 1983 (avevamo già un lettore CD in casa). Per la cronaca, quel CD è ancora perfettamente leggibile.

Lo scopo che mi sono proposto è avere una copia di sicurezza che non sia a perdita di informazioni (quindi niente MP3) in un formato aperto, portabile, compatto e facilmente fruibile.

La decisione del formato di codifica è stata, quindi, quasi scontata: FLAC.

Una volta scelto il formato e verificato che sia supportato anche dal sistema di streaming multimediale di QNAP, restava solamente il lavoro di codifica.

Il software di lettura e codifica è molto importante perché deve essere efficiente e il più possibile automatizzabile.

Dopo un po’ di esperimenti la scelta è caduta su abcde, che ha tutte le caratteristiche richieste più altre molto utili.

Il programma legge il file di configurazione ~/.abcde.conf in cui si possono impostare tutti i parametri operativi; la configurazione che ho utilizzato per convertire i miei CD è in fondo a questo articolo.

Dopo aver creato ~/.abcde.conf la procedura di conversione da CD audio a FLAC è la seguente:

  • inserire un CD audio nel lettore e attendere che venga riconosciuto il disco
  • avviare abcde;
  • se su CDDB vengono trovate più descrizioni, scegliere quella preferita;
  • verificare i testi di autori e titoli;
  • opzionalmente eseguire l’editor per fare le modifiche (meglio farle su un file di testo che sui metatag dei singoli file e nei nomi dei file);
  • accettare i default per le altre domande;
  • attendere che il disco venga sputato fuori.

Per default abcde utilizza nano come editor di default, se si vuole utilizzare un altro editor eseguire questo comando prima delle sessioni di conversione:

export EDITOR=vim

Le attività successive alla creazione dei file sono:

  • verifica dei nomi dei file;
  • verifica a campione della leggibilità dei file;
  • verifica e eventuale normalizzazione dei metatag, specialmente per quanto riguarda il genere musicale che su CDDB ogni tanto è… fantasioso.

Per l’edit dei metatag ho utilizzato il mio player abituale, Clementine.

Può succedere che un CD sia danneggiato interamente o in parte, in questo caso CD Paranoia, il programma utilizzato da abcde per leggere i CD, informa l’utente del tipo di errori che sta riscontrando e della possibilità di correggerli. Su un disco veramente illeggibile è possibile che vengano visualizzati anche degli errori del kernel Linux. La documentazione di CD Paranoia descrive in maniera approfondita il metodo utilizzato dal programma per visualizzare gli errori e la classe degli stessi.

Durante la prima passata di conversione ho riscontrato circa una decina di CD con errori, quando ne trovavo uno lo mettevo da parte e continuavo la conversione.

Alla fine ho rilanciato la conversione su un vecchio portatile Dell Latitude D610 con masterizzatore CD per vedere se cambiava qualcosa rispetto al masterizzatore DVD che è stato utilizzato per il grosso del lavoro.

Con parziale disappunto, non ho riscontrato differenze tra i due tipi di lettori: i CD che davano errore con uno davano il medesimo errore con l’altro.

Tra i dischi che hanno dato errori, due sono risultati completamente illeggibili, gli altri presentano errori da una certa traccia in avanti, quindi nella parte più esterna del supporto fisico.

Per convertire una traccia o un guppo di tracce con abcde è sufficiente indicare la traccia o il range come parametro:

abcde 7
abcde 5-10

Per default abcde utilizza la massima compressione di FLAC, opzione che fa risparmiare spazio disco e non prende molto tempo su un computer recente e richiede al massimo 15 secondi sul Dell Latitude di cui sopra per una singola traccia.

Lo spazio occupato da un CD è di qualche centinaio di megabyte, ecco alcuni esempi:

  • colonna sonora originale di Star Wars, due CD: 348,5 Mb;
  • Eternity dei Datura: 377 Mb;
  • Tonight di David Bowie: 228,3 Mb;
  • Yanez di Davide Van De Sfroos: 425,9 Mb;
  • i 36 CD dei 6 cofanetti Singles dei Depeche Mode: 9,3 Gb;
  • Brothers in Arms dei Dire Straits: 267 Mb;
  • colonna sonora originale di Apollo 13: 357 Mb;
  • Sparkle In The Rain dei Simple Minds: 291 Mb;
  • The Soul Cages di Sting: 288,9 Mb;
  • colonna sonora originale di The Hunt for Red October: 169,8 Mb;
  • intera collezione di CD: 156 Gb (pensavo peggio).

Alla fine del progetto mi ritrovo, finalmente, con la possibilità di ascoltare i miei CD senza dover smanettare con jewel box e piattelli in policarbonato.

 

Il file .abcde.conf che ho utilizzato.

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

# Encode tracks immediately after reading. Saves disk space, gives
# better reading of 'scratchy' disks and better troubleshooting of
# encoding process but slows the operation of abcde quite a bit:
LOWDISK=y

# Specify the method to use to retrieve the track information,
# the alternative is to specify 'cddb':
#CDDBMETHOD=musicbrainz
CDDBMETHOD=cddb

# Make a local cache of cddb entries and then volunteer to use 
# these entries when and if they match the cd:
CDDBCOPYLOCAL="y"
CDDBLOCALDIR="$HOME/.cddb"
CDDBLOCALRECURSIVE="y"
CDDBUSELOCAL="y"

# Specify the encoder to use for FLAC. In this case
# flac is the only choice.
FLACENCODERSYNTAX=flac

# 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/flac
FLAC=flac

# Specify your required encoding options here. Multiple options can
# be selected as '--best --another-option' etc.
# Overall bitrate is about 880 kbs/s with level 8.
FLACOPTS='-s -e -V -8' 

# Output type for FLAC.
OUTPUTTYPE="flac"

# The cd ripping program to use. There are a few choices here: cdda2wav,
# dagrab, cddafs (Mac OS X only) and flac. New to abcde 2.7 is 'libcdio'.
CDROMREADERSYNTAX=cdparanoia            
                                     
# Give the location of the ripping program and pass any extra options,
# if using libcdio set 'CD_PARANOIA=cd-paranoia'.
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="/path/dei/file/codificati"               

# 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}/${ARTISTFILE} - ${TRACKFILE}'
VAOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ARTISTFILE} - ${TRACKFILE}'
#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}/${ARTISTFILE - ]${ALBUMFILE}'
VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ARTISTFILE} - ${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'

# This function takes out dots preceding the album name, and removes a grab
# bag of illegal characters. It allows spaces, if you do not wish spaces add
# in -e 's/ /_/g' after the first sed command.
mungefilename ()
{
  echo "$@" | sed -e 's/^\.*//' | tr -d ":><|*/\"'?[:cntrl:]"
}

# What extra options?
#MAXPROCS=2                              # Run a few encoders simultaneously
PADTRACKS=n
EXTRAVERBOSE=2
#COMMENT='abcde version 2.7'             # Place a comment...
EJECTCD=y                               # Please eject cd when finished :-)
WAVOUTPUTDIR="/path/dei/file/wav/estratti/con/cdparanoia"

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

5 pensieri riguardo “Backup dei CD audio”

  1. Ottimo ! …ti sei praticamente creato il tuo archivio di “musica liquida” , come viene chiamata oggi …

    Per curiosità con che CPU , velocità di lettura del CD Audio e con che tempistiche medie per CD ?

    Gran lavorone , ma sicuramente ottima idea.

    Ciao e grazie.

    Simone

    1. Quindi se non riesco a sentire un brano devo chiamare un idraulico? 😀

      Con un AMD A8-5600K la conversione di una traccia da WAV a FLAC non supera il paio di secondi, con un Pentium M 1.86 arriva ad un massimo di 15 secondi (ma massimo).

      La lettura di una traccia da CD e’ sotto al minuto.

      Alla fine le rotture piu’ grosse sono il traffico di gestione del supporto fisico (togli da jewel box, infila nel lettore, chiudi il lettore, aspetta e andare innanzi e indietro a portare CD dalla libreria al PC) e il controllo di validita’ dei metadati di CDDB (ci sono spesso errori di battitura)

      Pensavo peggio.

  2. Non ho molto spazio, per cui uso l’AAC standard di iTunes (ma i CD posso sempre ripassarli con FLAC o Apple Lossless da iTunes), ma sto digitalizzando anch’io, solo che lo faccio alla bisogna un paio di dischi alla volta. Tutti insieme è un lavoraccio! 🙂

  3. Quando ho fatto il mio giro di conversioni a flac, il risultato finale era sui 2Tb… la quantita’ era un po di piu :-), ma riciclare – hackerandola – una vecchia duplication station da 100 cd a botta ha velocizzato le cose in modo allucinante. Carichi 100 cd, lascia che rippi x fatti suoi, controlli il risultato finale x tag errati o mancanti + correzione, storing + backup (su due nas diversi) e vai con altri 100…

Spazio per un commento