我试图对那些声称可以通过聆听分辨出 MP3 压缩伪影的发烧友们说点刻薄的话。我想基于相同的源音轨创建一组 MP3(或其他文件),让他们尝试评估每个文件的质量;为了增加难度,最好是文件大小相同。
是否可以使用虚拟数据填充 MP3 到所需的恒定(-ish)长度,或者任何其他方法来防止像这样的“作弊”?
答案1
只需将文件填充到所需长度即可。下面的示例创建一个具有正确大小的文件并将其添加到歌曲的末尾。请注意,这不会改变 mp3 本身,并且许多程序将显示附加数据(例如 VBR 320)。这不会改变,您的朋友仍然可以通过查看它来“作弊”。
[hennes@mud ~/testdir]$ ls -l
total 2996
-rw-r--r-- 1 hennes users 3058207 Aug 18 12:58 song.mp3
我需要多少填充物?
[hennes@mud ~/testdir]$ calc 5000000-3058207
1941793
创建一个包含 1941793 个零的文件
[hennes@mud ~/testdir]$ dd if=/dev/zero of=Padding_file bs=1 count=1941793
1941793+0 records in
1941793+0 records out
1941793 bytes transferred in 10.502867 secs (184882 bytes/sec)
检查结果。
[hennes@mud ~/testdir]$ ls -l
total 4900
-rw-r----- 1 hennes users 1941793 Aug 18 13:00 Padding_file
-rw-r--r-- 1 hennes users 3058207 Aug 18 12:58 song.mp3
反对意见猫启用文件(在 Windows 中复制 /b 应该执行相同的操作)
[hennes@mud ~/testdir]$ cat song.mp3 Padding_file > padded_song.mp3
[hennes@mud ~/testdir]$ ls -l
total 9796
-rw-r----- 1 hennes users 1941793 Aug 18 13:00 Padding_file
-rw-r----- 1 hennes users 5000000 Aug 18 13:01 padded_song.mp3
-rw-r--r-- 1 hennes users 3058207 Aug 18 12:58 song.mp3
[hennes@mud ~/testdir]$
播放该文件作为最终测试。根据需要调整填充文件的大小。
(之前有人评论说:是的,这是使用 dd 的一种非常低效的方式)
答案2
如果你使用的是 Windows,则可以使用MP3打包器正确填充低比特率 MP3 以使其成为高比特率 MP3,而不会更改音频数据。增加 MP3 的大小与程序的设计目的相反,但这是程序的功能之一。因此,您可以将一些听起来很糟糕的低比特率 MP3 变成听起来很糟糕的 320 kbps CBR MP3。从一个源制作一整套具有不同比特率的 MP3;他们会认为每个 MP3 都不同,但音频数据是相同的。
不过,盲测会更好。你的朋友不应该对他们听到的内容抱有任何期望。不要让他们知道比特率或任何东西。将 MP3 解码为 WAV 文件并直接使用这些文件。考虑使用响度级别匹配的 ABX 测试工具,如 foobar2000 媒体播放器中提供的。
另一种制作出令朋友意想不到的 MP3 的方法是使用更安静、没有高于 16 KHz 的声音或主要为单声道的源材料;这通常会压缩得更好,并在低比特率下产生高质量。一些 MP3 编码器允许您以这些方式修改输入,或者它们会根据您选择的其他设置自动执行此操作。
另外,如果保留 16 KHz 以上的白噪声/磁带嘶嘶声,有些人会注意到,有些人不会,但您无法预测那些注意到的人是否会认为它只是噪音,还是音乐中的“亮度”和“清晰度增加”。他们可能会认为这样的音乐“质量更高”。
答案3
这是有可能的——几乎所有 ID3v2 标签都有一定数量的填充,以便更快地编辑元数据。(但是,填充大小通常无法调整;只有 Mp3Diags 有这样的选项。)
一种更简单的方法是在 ID3v2 标签中插入假元数据 - 例如虚拟封面照片、垃圾歌词,甚至是TXXX
大多数标签编辑软件不会显示的任意块。
然而,通过删除所有 ID3 标签就可以轻松解决这个问题。