我想要:
- 翻录 CD
- 设置 ID3 标签
- 创建片段(45 秒)
- 在结尾处添加 5 秒淡出(40 秒 - 45 秒)
- 转换为 mp3
我现在已经尝试了几种工具(Goobox、Grip、lame、ecasound、vorbis-tools、abcde……)但我找不到实现所有这些点的方法。
问题是:ecasound 转换过程中 ID3 标签丢失。
知道如何解决这个问题吗?
答案1
如果你已经有一个接近正常工作的流程,你需要做的就是找到一个命令行标记器,它可以将标签从一个文件“复制”到另一个文件。 id3cp
从id3lib 包可能就是您所需要的。
如果我要这样做,我会将 CD 翻录成 WAV 文件(格式为EAC
,因为我从未见过任何东西能与使用优质驱动器时其准确性相比),然后运行执行以下伪代码的脚本。我可能会手动选择剪辑,因为以编程方式从任意长度的曲目中抓取 45 秒有用时间并不总是可行的。但基本流程如下:
for each *.WAV:
1. convert <name>.wav to <name>.mp3
2. create a 45-second <name>.snippet.wav from <name>.wav
3. apply fade-out to <name>.snippet.wav
4. convert <name>.snippet.wav to <name>.snippet.mp3
5. apply id3 tags to both <name>.mp3 and <name>.snippet.mp3
步骤 1 和 4 可以通过命令行编码器完成lame
。
步骤 2 和 3 可以用sox
或来完成ecasound
(您可能能够将它们组合成一个命令)。
id3v2
步骤 5 可以通过来完成mid3v2
(来自优秀的mutagen
Python 标记库)mp3info
(如果您只想要 ID3v1 标记),或者一些其他命令行标记器 - 本质上您的脚本会调用标记器两次,一次针对在这次 for 循环中创建的每个 MP3。
此过程的优点是不会创建转码片段,因为您尚未编码为 MP3,然后在修剪和应用淡出过程中进行解码和重新编码。
答案2
从你的问题来看,你并没有试图创建一个程序来实现这一点。话虽如此,我建议将这篇文章移至 superuser.com,在那里其他更熟悉此类软件的人可能会提供帮助。
如果您希望以编程方式执行此操作,请告知我们,我们会很乐意为您提供帮助。
你运行的是什么发行版,有些人已经能够让 media monkey 在 deb/ubuntu 中工作。