Есть ли способ в Ubuntu копировать компакт-диск во FLAC и автоматически добавлять теги ReplayGain?

Я планирую скопировать всю мою коллекцию CD (вероятно, более 100 CD *) во FLAC с добавленными тегами CDparanoia и ReplayGain.

За эти годы я использовал разные кодеки и варианты качества для них, то есть у меня есть некоторые из этих альбомов в формате MP3 CBR 320, некоторые как V0-4, а некоторые в Ogg Vorbis. Теперь я хотел бы переписать их все без потерь, и я мог бы использовать программу, которая позволяет мне выполнять все эти задачи с наименьшим количеством ручной работы.

Есть ли какая-нибудь программа, о которой вы можете подумать, которая способна точно копировать компакт-диски во FLAC и добавлять ReplayGain? (GUI или командная строка в порядке.)

  • Обновление: их около 260, на самом деле. Судебные дела, кроме Бонусные диски, DVD и т. Д.;)

1 ответ

Решение

Полное раскрытие: я один из бывших сопровождающих abcde.

Риппер командной строки abcde имеет эту способность. Для установки просто запустите следующую команду в окне терминала:

sudo apt-get install abcde cdparanoia flac metaflac imagemagick glyrc

Затем поместите следующую конфигурацию в файл ~/.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://Ask-ubuntu.ru/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 :-)

Это базовая конфигурация, и доступно множество других возможностей, включая:

  1. Автоматическое вложение обложенного альбома
  2. Много, много других вариантов загрузки обложек альбомов
  3. Различные варианты кодировки flac
  4. Возможность кодирования для нескольких других кодеков одновременно
  5. Различные имена файлов, расположение папок и т. Д.

Но этой базовой конфигурации вполне может хватить для ваших целей. Если это так, просто вставьте аудио компакт-диск и выполните команду:

abcde

И все должно быть хорошо!

Примечание. Значения сохраняются как для трека, так и для усиления альбома, см. mediainfo выход ниже. Я выделил значения альбомов и треков с помощью <-----:

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)

Рекомендации:

Другие вопросы по тегам