![在 Ubuntu 中有没有办法将 CD 翻录为 FLAC 并自动添加 ReplayGain 标签?](https://linux22.com/image/1058738/%E5%9C%A8%20Ubuntu%20%E4%B8%AD%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%B0%86%20CD%20%E7%BF%BB%E5%BD%95%E4%B8%BA%20FLAC%20%E5%B9%B6%E8%87%AA%E5%8A%A8%E6%B7%BB%E5%8A%A0%20ReplayGain%20%E6%A0%87%E7%AD%BE%EF%BC%9F.png)
我计划将我的全部 CD 收藏(可能超过 100 张 CD*)翻录成 FLAC,并添加 CDparanoia 和 ReplayGain 标签。
多年来,我为这些专辑使用了不同的编解码器和质量选项,这意味着我有一些专辑是 MP3 CBR 320,一些是 V0-4,一些是 Ogg Vorbis。现在,我想无损地重新翻录它们,我可以使用一个程序,让我以最少的手动工作完成所有这些任务。
您能想到有什么程序能够准确地将 CD 翻录为 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://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 :-)
这是一个基本配置,还有许多其他可用选项,包括:
- 自动嵌入下载的专辑封面
- 还有很多其他专辑封面下载选项
- 不同的 flac 编码选项
- 同时编码为多个其他编解码器的可能性
- 不同的文件命名、文件夹位置等
但这个基本配置可能已经足够满足您的需求了。如果是这样,只需插入音频 CD 并运行以下命令:
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)
参考: