如何识别音频样本是否已压缩然后解压缩?

时间:2014-08-10 11:43:53

标签: audio mp3 ogg lossy-compression

几年前我做了一个音乐录音,我找不到原来的WAV文件,我只压缩了MP3。现在我找到了一张音频CD,但我不知道它是用原始的未压缩WAV制作的,还是用压缩的MP3或OGG文件制作的。

有没有办法检测音频样本是否已使用MP,OGG等有损压缩进行压缩和解压缩,而无需将原始内容与之比较?

更新

尝试@ MisterHenson的建议,我绘制了两个样本的光谱,图中有明显的差异:

CD中的样本:

enter image description here

来自MP3的示例:

enter image description here


这实际上解决了我当前的问题,但我仍然有这些未解决的问题:

  1. 如果光谱在视觉上无法区分,我不知道是否存在真正的差异,或者我无法区分它们(即压缩质量会更好)。我还能尝试什么?
  2. 同样,如果我没有MP3文件进行比较,我会怎么做?只有一个音频样本?
  3. 是否有自动方法,以合理的概率回答问题?

5 个答案:

答案 0 :(得分:3)

我举了一个例子来强调所有MP3转码的拓扑结构,源材料是肖邦夜曲。 MP3顶部,底部无损。所有录音都有一定幅度的背景噪音,这里的噪音很微弱。 MP3转码(Lame在这种情况下预设的V2)的作用是在~16kHz处产生硬限制。在320kbps比特率44.1kHz采样率MP3上,此硬限制出现在20kHz左右,但在此图像中仍然明显不同。

Piano music example

您可以在没有原始无损文件的情况下挑选此架子进行比较。我愿意说所有音乐的频率都高于19kHz。这是一个我没有无损源文件的例子,只有一个320kbps的MP3。您可以看到20kHz时的极限硬限制以及19kHz时更温和的截止频率。如果没有损耗,由于采样率为44.1kHz,中间的红色斑点会一直延伸到22kHz。

인피니트 - Back

我想说这个过程可能是自动化的,但我不知道有任何自动化的尝试。但是,如果这是自动化的,我会说它可以从无损中选择Lossy,其精度比你或我高得多,因为它能够分析整个频谱,而不仅仅是高频截止频率。

完整图像:

答案 1 :(得分:2)

上述方法听起来很有希望,虽然可能有点复杂 - 你可能首先尝试一些简单的方法,比如检查最低位的分布。在一个自然样本中,LSB应该是零和一之间几乎精确的50/50分布(实际上,在二项分布之后,许多样本会有一些差异,但是在数百万或数十亿比特的情况下,这将是非常接近50/50给出样本)。在有损样本中,您会在LSB中发现不太可能的分布。

这样的事情:

1 - 从每个数据点提取LSB

2 - 应用卡方检验判断分布是否异常

答案 2 :(得分:2)

这是合约。

原始样本(或原始声音)以特定质量编码。 一些声卡可以进一步采用64位采样。

但是,我们假设我们拥有一定品质的声音文件。

CD质量适合人耳。

工作室会使用更高质量的样本。像24bit一样标准。

所以你得到的波形filename.wav确实有44100赫兹的采样率。

这是什么意思?

这意味着计算机每秒可以采集大量不同的样本来表示几乎确切的声音。

声音原创吗?取决于它是如何制作的。 如果它是由您的计算机和一个使用16位默认声卡的软件制作的,那就是。

如果是来自模拟录音,那么它在44100 Hz的数字化上会失去一些质量,幸运的是人耳没那么重要。 注意MP3录音对于专业录音来说是一个坏主意。 但由于mp3录音存在......这增加了你的问题的复杂性。 :P

因此,使用16位声卡进行数字化会丢失一些声音质量。 现在,当您将某些内容编码为mp3时,可能会发生类似的事情。

查看你的照片。 17000以上没有声音。为了使声音文件显着更小,不会对音频质量造成任何重大损害,这是被宰杀的。它是同一个声音吗?不,这听起来不一样。但是声音工程师喜欢原始和高质量的样品,因为没有切割的信息。

想象一下,制作一个原始声音,如此平衡和压缩,即使在MP3转换之后,很难判断它是否是原始声音。想象一下,我使用均衡器来切割任何锋利的边缘,并使用门效应来极其正常化。另外,我的声音发生器是一些通过一些fx和滤波器的8位振荡器。

如果我将其转换回波表,可能没有区别。

例如:

               [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
    Waveform:  =================================
    mp3:       =======================
    Waveform:  =======================


    Waveform:


               [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
    Waveform:  =================
    mp3        =================
    Waveform:  =================

The following seems impossible to me (except if the converter has bugs thing that can be heard)

           [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
Waveform:  =========================
mp3        =======================
Waveform:  =============================

所以你的问题取决于你在第一个波形中使用的原始来源。

好消息是,样本很少受到限制和压缩。 所以在我看来你使用的CD可能听起来像原始波形, 正如你所看到的,mp3已经削减了频率。

当然,你需要一个频率分析仪和频谱,正如MischaNix已经展示的那样。

也有很多mp3编码。有些是静态的,有些是动态的,有些是切割的,有些则减少了声音信息。由于这个原因,有些人也比其他人大。

现在也有无损格式。 然后ogg足够小,而且质量很好。

因此,这个问题可以成为一个无缘无故的大话题。我不会谈论所有这些。

如果问题是提供原始样本,那么您的图片会显示两个样本之间存在显着差异。我的意思是,从mp3剪辑变化中制作波形应该看起来像剪切变化。你无法从中获取信息。

在cd上刻录mp3,然后获取wave,将新波形与旧波形和mp3波形进行比较。这可能不是一回事,所以你可能会在这里赢得大奖。您可以手上有原始备份。

从现在开始,尝试取样原材料并将其存放在CD或DVD中,然后再丢弃。 或者至少在备份中保留好的未压缩样本。

打开问题:

如果光谱在视觉上无法区分,我不知道是否存在真正的差异,或者我无法区分它们。

正确。但这种情况很少会在没有抽样意图的情况下发生。

为什么要问这样的问题? :)你有想到隐写术吗? 如果是,请务必记住您要使用的声音的性质。样品不合适。 "完成的歌曲"是!

同样,如果我没有MP3文件进行比较,只需要一个音频样本,我该怎么办?

由于有许多不同质量的mp3编码设置,您可以检查是否使用了最低质量。如果不是因为压缩能力而存在不确定性。如果这适用于整个样本,那么你必须看看是否需要压缩。这就是为什么你不能确定一首歌的原因。您首先不要使用SO硬压缩进行录制。我想这是你需要自然声音的另一个因素。所以,如果关于录音,你可能会很幸运。 现在关于完成掌握的歌曲...事情再次变得粗糙。它是关于声音的性质,类型。如果您知道使用波形录制,则录制更容易弄清楚发生了什么。 MP3录音当然是浪费时间。另一方面,完成的歌曲,通常现在使压缩机,限制器,门和链式压缩机烧坏。在现代母版制作中使用这种技术的数量是巨大的。所以...在开始使用原始波形之前,你真的需要运气才能找出原始部件之前是否被压缩过。

是否有自动方法,以合理的概率回答问题?

我不知道。抱歉。 :( 但这并不意味着没有人可以制造一个。

BUT!

立体声样本通常分为两个通道。左和右。 现在,如果您在数字音频工作站中安装了频谱分析仪, 并且只看两个不同样品的左通道,你可以在飞行中看到 如果他们是相同或不同我猜。

为了理解我的意思,请查看THIS链接。 请在05:00开始观看界面。

呼。希望这会对你有所帮助,因为它需要一些时间。 :P 欢呼声。

编辑:在这里和那里修复一些东西。

答案 3 :(得分:2)

我在Python by Maurits van der Schee中找到了问题的描述,解决方案和实现,但它与FLAC一起使用。

  

从样本中仅分析前30秒。每一个   第二,通过应用a来计算样本的频谱   汉宁窗与快速傅立叶变换。这些光谱是   添加,所以最终你最终得到30个堆叠光谱。这些   除以30得到平均频谱。然后是光谱   使用log10标准化。之后我们在上面应用了滚动平均值   窗口大小为频率的1/100的频谱   44100/100 = 441个样本。

     

如果频谱中存在不自然的截止,则截止   是我们需要找到的东西。我们从44100回扫了频谱   到第一频率,其中可变频率为f。立刻   f-220的幅度比at的幅度高1.25   f和f处的幅度不大于44100处的幅度的1.1倍   我们找到了截止点。截止点乘以100   并除以频率得到频谱的百分比   没有切断。

答案 4 :(得分:1)

要寻找的东西:

  • 截止频率在帧边界上变化(不是100%的硬切,但是“听不见”到“听不见”,反之亦然)
  • 频率消失或出现在帧边界上(同样,不是100%)
  • 噪声级别在帧边界上发生变化(实际上对于有损编解码器而言非常可靠)

对于MP3,帧边界恰好是每1152个样本,尽管您可能能够“看到”每576个样本的颗粒。

对于Vorbis,帧边界通常是每128或1024个样本,具体取决于编码器“锯”的瞬变。你可以放弃每128个样本......

你必须研究其他格式才能知道它们的画面尺寸(我不知道它们是否适用)。