我在使用 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 标头:
通过在终端中运行此命令来安装 vbrfix:
sudo apt-get install vbrfix
现在使用 CD 转到您需要修复的 mp3 文件夹:
cd /path/to/mp3s
运行此命令将 VBR 标头添加到 mp3:
find . -type f -iname '*.mp3' -exec vbrfix {} {} \;
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,则可能需要自行编译。