如何在 Linux 中批量创建包含 id3 标签的 CD 中的 5 秒淡出 mp3 片段

如何在 Linux 中批量创建包含 id3 标签的 CD 中的 5 秒淡出 mp3 片段

我想要:

  1. 翻录 CD
  2. 设置 ID3 标签
  3. 创建片段(45 秒)
  4. 在结尾处添加 5 秒淡出(40 秒 - 45 秒)
  5. 转换为 mp3

我现在已经尝试了几种工具(Goobox、Grip、lame、ecasound、vorbis-tools、abcde……)但我找不到实现所有这些点的方法。

问题是:ecasound 转换过程中 ID3 标签丢失。

知道如何解决这个问题吗?

答案1

如果你已经有一个接近正常工作的流程,你需要做的就是找到一个命令行标记器,它可以将标签从一个文件“复制”到另一个文件。 id3cpid3lib 包可能就是您所需要的。

如果我要这样做,我会将 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(来自优秀的mutagenPython 标记库)mp3info(如果您只想要 ID3v1 标记),或者一些其他命令行标记器 - 本质上您的脚本会调用标记器两次,一次针对在这次 for 循环中创建的每个 MP3。

此过程的优点是不会创建转码片段,因为您尚未编码为 MP3,然后在修剪和应用淡出过程中进行解码和重新编码。

答案2

从你的问题来看,你并没有试图创建一个程序来实现这一点。话虽如此,我建议将这篇文章移至 superuser.com,在那里其他更熟悉此类软件的人可能会提供帮助。

如果您希望以编程方式执行此操作,请告知我们,我们会很乐意为您提供帮助。

你运行的是什么发行版,有些人已经能够让 media monkey 在 deb/ubuntu 中工作。

相关内容