翻录的 mp3 文件显示错误的曲目长度

翻录的 mp3 文件显示错误的曲目长度

我在使用 Banshee 和 Sound Juicer 时都遇到过这个问题。我在 Thinkpad 14" 上使用 Ubuntu 12.04"。我不确定我的内置 CD 驱动器的品牌,但如果有人告诉我如何操作,我很乐意为您提供这些信息。我没有接触过外部 CD 驱动器,因此无法判断问题是否出在我的内置 CD 驱动器上。

无论如何,问题是:我翻录的 mp3 文件显示错误的长度。例如,当我翻录长度为 5:13 的 Animal Collective 的 Peacebone 时,根据我的手机和 banshee,文件长度为 25 分钟。播放器在播放整个 25 分钟之前跳到下一首歌曲。但是,我不知道自己是在听完整首歌曲还是在听歌曲的实际长度,这让我很不舒服。

到目前为止,问题在第二次翻录时已经消失,尽管文件长度有时仍然比应有的长度长几秒钟。

答案1

从 Ubuntu 12.04 开始,当您使用 Rhythmbox 或 Sound Juicer 在 Ubuntu 中翻录 CD 时,默认设置将创建 VBR MP3,但不会添加 VBR 标头,因此几乎任何您用来打开 MP3 的程序都会显示错误的曲目长度,包括默认音乐播放器(Rhythmbox)和默认文件管理器(Nautilus)。

最简单的解决方案是在翻录 MP3 后向其添加 VBR 标头:

  1. 通过在终端中运行此命令来安装 vbrfix:

    sudo apt-get install vbrfix
    
  2. 现在使用 CD 转到您需要修复的 mp3 文件夹:

    cd /path/to/mp3s
    
  3. 运行此命令将 VBR 标头添加到 mp3:

    find . -type f -iname '*.mp3' -exec vbrfix {} {} \;
    
  4. Vbrfix 似乎留下了一些临时文件,因此请清理它们:

    rm vbrfix.log vbrfix.tmp
    

另一种解决方案是更改默认预设,以便将 CD 翻录为 CBR 而不是 VBR MP3。这里有一个很好的解释:https://askubuntu.com/a/154933/18665

像这样的配置文件应该可以解决问题(根据需要更改比特率):

[mp3-cbr]
name=lamemp3enc
target=bitrate
bitrate=192
cbr=true
encoding-engine-quality=high
mono=false

与任何错误一样,如果您遇到此问题,我强烈建议您转到错误报告并标记它对您有影响(靠近左上角),以便获得更多关注。错误报告在这里:将 CD 翻录为 MP3 时,Rhythmbox 不会添加 VBR 标头

答案2

根据我的经验,当 ID3 标签无效时会出现此问题。您可以尝试从给定文件中删除所有 ID3 标签,然后重写它们。我建议诱变剂为此,它是一个具有一些有用实用程序的元数据操作库。

首先安装诱变剂

sudo apt-get install python-mutagen

现在转到包含有问题的 MP3 文件的文件夹并在其上运行 mid3v2:

mid3v2 --delete-all your_file.mp3

这将从给定文件中删除所有元数据,这意味着没有标题、没有艺术家、没有专辑封面,但文件应该显示正确的长度。

您可以使用例如重新填充元数据皮卡德,在 Ubuntu 中以软件包形式提供picard

编辑:还有MP3 诊断应用程序应该能够修复 MP3 文件的 VBR 标头和其他一些问题。它在 Ubuntu 中可用mp3diags(或从 Ubuntu 软件中心获取)

另一个更具体的解决方案是VBRFix– 软件包中提供控制台版本(无 Qt GUI)vbrfix。如果您需要 GUI,则可能需要自行编译。

相关内容