Domanda C'è un modo in Ubuntu per copiare un CD in FLAC e aggiungere automaticamente i tag ReplayGain?


Sto pianificando di estrarre la mia intera raccolta di CD (probabilmente più di 100 CD *) in FLAC con i tag CDparanoia e ReplayGain aggiunti.

Nel corso degli anni, ho usato diversi codec e opzioni di qualità per loro, nel senso che ho alcuni di quegli album in MP3 CBR 320, alcuni come V0-4 e alcuni in Ogg Vorbis. Ora vorrei ripubblicarli tutti senza perdite e potrei usare un programma che mi permetta di svolgere tutte queste attività con il minimo lavoro manuale coinvolto.

C'è qualche programma che puoi pensare che sia in grado di estrarre accuratamente i CD in FLAC e aggiungere anche ReplayGain? (La GUI o la riga di comando va bene.)

  • Aggiornamento: sono circa 260, in effetti. Casi di Conunting, escl. Dischi bonus, DVD, ecc .;)

3
2018-01-03 18:41


origine




risposte:


Divulgazione completa: sono uno degli ex manutentori di ABCDE.

Lo scarificatore della riga di comando abcde ha questa capacità. Per installare basta eseguire il seguente comando in una finestra di Terminale:

sudo apt-get install abcde cdparanoia flac metaflac imagemagick glyrc

Quindi inserire la seguente configurazione in un file ~/.abcde.conf:

# -----------------$HOME/.abcde.conf----------------- #
# 
# A sample configuration file to convert music cds to 
#       FLAC using abcde version 2.7.2
# 
# Modified for AskUbuntu http://askubuntu.com/q/867593/57576
#  to allow ReplayGain as well as Album Art retrieval...
#
# http://andrews-corner.org/linux/abcde/index.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 '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"

# Options to pass to metaflac for ReplayGain:
FLACGAINOPTS="--add-replay-gain"

# 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="$HOME/Music"               

# The default actions that abcde will take.
ACTIONS=cddb,getalbumart,playlist,read,replaygain,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'

# 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=y                             # Makes tracks 01 02 not 1 2
EXTRAVERBOSE=2                          # Useful for debugging
COMMENT='abcde version 2.7.2'           # Place a comment...
EJECTCD=y                               # Please eject cd when finished :-)

Questa è una configurazione di base e sono disponibili molte più opzioni tra cui:

  1. Incorporamento automatico della copertina dell'album scaricata
  2. Molte, molte altre opzioni per il download delle copertine degli album
  3. Diverse opzioni di codifica flac
  4. La possibilità di codificare su più altri codec contemporaneamente
  5. Denominazione file diversa, posizioni delle cartelle ecc

Ma questa configurazione di base potrebbe essere abbastanza per i tuoi scopi. Se è così, basta inserire il CD audio ed eseguire il comando:

abcde

E tutto dovrebbe andare bene!

Nota: I valori sono memorizzati per entrambe le tracce e guadagno dell'album, vedi il mediainfo uscita sotto. Ho evidenziato i valori dell'album e della traccia con un <-----:

General
Complete name                            : 01.Speak To Me Breathe.flac
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
File size                                : 20.2 MiB
Duration                                 : 4 min 0 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 705 kb/s
Album replay gain                        : -3.68 dB  <-----
Album replay gain peak                   : 0.968201  <-----
Album                                    : Dark Side Of The Moon 1992 remaster
Track name                               : Speak To Me Breathe
Track name/Position                      : 01
Track name/Total                         : 09
Performer                                : Pink Floyd
Genre                                    : Psychedelic Rock
Recorded date                            : 1973
Cover                                    : Yes
Cover type                               : Cover (front)
Cover MIME                               : image/jpeg
Comment                                  : abcde version 2.7.2
CDDB                                     : 710a1109

Audio
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
Duration                                 : 4 min 0 s
Bit rate mode                            : Variable
Bit rate                                 : 705 kb/s
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 kHz
Bit depth                                : 16 bits
Replay gain                              : -0.48 dB  <-----
Replay gain peak                         : 0.679779  <-----
Stream size                              : 20.2 MiB (100%)
Writing library                          : libFLAC 1.3.1 (UTC 2014-11-25)

Riferimenti:


3
2018-01-04 03:28



Ciao Andrew, grazie per la tua risposta dettagliata! Ho letto di abcde in precedenza, ma non sono riuscito a trovare nulla su questa particolare configurazione. Sai se il guadagno di traccia e il guadagno dell'album verranno aggiunti in questo modo? Questo è un altro dettaglio importante per me. - Prototype700
@ Prototype700 Sembra che entrambi, ho aggiunto mediainfo uscita alla risposta per illustrare questo ... - andrew.46
Ah, sì, sembra proprio così. È grandioso, questo non lascia domande senza risposta per me. Grazie! - Prototype700
Modifica: ho ricevuto un messaggio di errore che non è stato possibile trovare il pacchetto per "metaflac" durante il tentativo di installazione, apparentemente è già incluso nel pacchetto "flac" e può essere rimosso dal comando. Tutto sembra funzionare bene, grazie ancora! Un'ulteriore nota: mi piace rimuovere tutti i tag "non necessari" (ad esempio, Genre e i dati CDDB) dai file. Per farlo automaticamente, ho dovuto spostare l'azione "replaygain" più indietro, appena prima di "clean" e aggiungere "--remove-tag = (nome del tag)" dopo "--add-replay-gain" nei FLACGAINOPTS -config. Se qualcun altro dovrebbe cercarlo. - Prototype700