如何将音频CD转换为FLAC格式

你好,我试图将一些音频CD转换成无损的flac格式。
Flac有不同的压缩率和多个可传递的参数。通常我喜欢使用带有参数“-V8”的flac,这意味着被转换的内容会被验证,并且使用最高的压缩率。记住:Flac是无损的。所以压缩率并不影响质量,只影响处理时间和文件大小。
我使用了Rhythmbox和RipperX来转换我的音频CD。
嗯,Rhythmbox可以识别音频CD并自动显示艺术家名称和所有曲目标题。但是无法编辑转换格式选项,也无法调整压缩级别。它使用默认的压缩级别5。
所以我尝试了RipperX。在选项菜单中,我可以添加额外的参数,在调用flac时使用。这很好,因为我可以调整压缩级别。但是,RipperX无法识别音频CD,无法显示艺术家名称和所有曲目标题。
我正在寻找一种方法,可以将我的音频CD转换为具有最高压缩级别和正确的艺术家名称以及所有曲目标题的flac格式。当然,我可以使用Rhythmbox将我的音频CD转换为wave文件,然后使用flac将其转换为flac,并删除旧的wave文件,但我正在寻找一种同时完成这两个步骤的方法。
有人知道如何在不出现问题的情况下将音频CD转换为flac吗?

嗨mchid。谢谢你的提示。我尝试使用ripperx。但是文件只有标准名称,比如“标题1,标题2...”,而且Rythmbox也没有显示任何元数据,比如艺术家等。 - eDeviser
好的,看下面我的回答。与Windows不同,在Linux中你不需要“rip”音轨,只需复制和粘贴,因为在Linux中(几乎)一切都是文件。 - mchid
3个回答

我建议使用应用程序abcde。安装方法如下:
sudo apt-get update
sudo apt-get install abcde flac

现在,把CD放入托盘中。你可能希望创建一个音乐文件目录:
mkdir flacs
cd flacs
abcde -o flac

为了获取曲目信息等,abcde通过互联网连接查询CDDB。如果没有互联网连接,或者CD未注册,将无法检索到曲目信息,尽管您可以手动编辑输入。以下是收集到的曲目信息示例:
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12
Retrieving 1 CDDB match...done.
---- Muddy Waters / The Real Folk Blues ----
1: Mannish Boy
2: Screamin' and Cryin'
3: Just To Be With You
<snip>


Edit selected CDDB data [y/N]? 

按下回车键选择默认选项,即“否”。
撕裂完成后,会出现一个名为“Muddy Waters / The Real Folk Blues”的文件。其中包含CDDB找到的曲目列表。
chili@T440p:~/Desktop/flac$ ls Muddy_Waters-The_Real_Folk_Blues/
01.Mannish_Boy.flac          07.Same_Thing.flac
02.Screamin_and_Cryin.flac   08.Gypsy_Woman.flac
03.Just_To_Be_With_You.flac  09.Rollin_&_Tumblin.flac
04.Walking_in_the_park.flac  10.40_Days_and_Forty_Nights.flac
05.Walking_Blues.flac        11.Little_Geneva.flac
06.Canary_Bird.flac          12.You_Cant_Lose_What_You_Never_Had.flac

如果CDDB上没有该CD的文件,您将有选择编辑标题和其他信息并提交。如果没有网络连接,则必须手动编辑文件。
您可以通过创建一个conf文件来设置您希望使用的默认变量。
cp /etc/abcde.conf  ~/.abcde.conf
gedit .abcde.conf

如果你没有gedit文本编辑器,可以使用nano、kate或leafpad。检查你想要使用的常见变量。取消注释默认设置。例如,更改为:
#OUTPUTTYPE=ogg

至:

OUTPUTTYPE=flac  

在这个例子中,一旦你将输出类型指定为flac,就不再需要在命令行上指定它了。只需执行以下操作:
abcde

你好chili555,abcde很棒,因为它既强大又轻巧,而且还有一个很酷的名字!我成功地将我的音频CD转换成了FLAC文件。不过,曲目名称却没有显示出来。根据手册上的说明: * 通过互联网进行CDDB或Musicbrainz查询以查找您的CD,或使用本地存储的CDDB条目,或者作为曲目信息的备选项从您的CD中读取CD-TEXT
  • 不过,仍然没有显示任何曲目信息。
- eDeviser
我建议你提出一个新的问题。我很乐意帮助你。 - chili555
嗨chili555。我编辑了我的问题以澄清问题。我认为我们应该在这里解决问题,因为没有新的问题,并且这个问题还没有解决。你能否通过编辑你的答案来提供帮助的提示? - eDeviser
1在这里阅读并获取一个用于flac的.abcde.conf文件(放在您的主目录中http://www.andrews-corner.org/abcde.html)。 - doug
1请参见我上面的编辑。 - chili555

我觉得你更像是在寻找类似于soundconverter的东西。
要安装它,打开终端并运行以下命令:
sudo apt-get update
sudo apt-get install soundconverter

如果您在已安装的应用程序中找不到该应用程序,请运行以下命令来启动它:
soundconverter &

你应该能够使用你最喜欢的文件管理器将文件从光盘复制并粘贴到一个目录(文件夹),比如你的音乐目录。
这些文件在从光盘复制时应该是wav格式的。
从wav转换为flac应该是无损的,因为flac比wav有更高的压缩率。
在文件被复制到电脑后,你可以使用soundconverter将这些音轨转换为flac格式。
还有一种使用命令行进行转换的方法,它可以更好地控制参数;如果你感兴趣的话,我可以发布这种方法。
如果这还不够好的话,将所有的wav文件复制到你的~/Music目录下,然后在终端中运行以下命令将文件转换为flac格式:
find ~/Music -type f -iname "*.wav" | while read fn; do flac --keep-foreign-metadata --verify "$fn"; done

source


嗨mchid。好的,我可以复制wav文件然后用soundconverter或flac进行转换。但是这两个程序都无法读取元数据。:-( 所以没有艺术家或曲目名称。 - eDeviser

我之前一直在使用Asunder,但是现在我注意到,尽管我指定了FLAC输出,它却将文件保存为有损的m4a格式。这是怎么回事?没有一个按钮说“修复这个让它正常工作”,所以我现在不再使用它了。 Sound Juicer似乎是一个很好的替代方案,它实际上将我的音轨保存为FLAC格式。这正是我想要的。