6

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

有没有一种方法可以检测音频样本是否已使用 MP、OGG 等有损压缩进行压缩和解压缩,而无需与原始样本进行比较?

更新:

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

CD 中的样本:

在此处输入图像描述

MP3中的样本:

在此处输入图像描述


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

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

5 回答 5

3

我做了一个例子来强调所有 MP3 转码的拓扑结构,源材料是肖邦夜曲。顶部为 MP3,底部为无损。所有的录音都有一定幅度的背景噪音,而且这种噪音在这里隐约可见。MP3 转码(在本例中为 Lame 的 V2 预设)所做的是在 ~16kHz 处创建硬限制。在 320kbps 比特率 44.1kHz 采样率 MP3 上,这个硬限制出现在 20kHz 左右,但在这张图片中仍然会明显不同。

钢琴音乐示例

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

인피니트 - 返回

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

全分辨率图像:

于 2014-08-20T06:53:43.687 回答
2

这是交易。

原始样本(或原始声音)以某种质量编码。一些声卡可以通过 64 位采样走得更远。

但是让我们假设我们有某种已知质量的声音文件。

CD质量对人耳来说还可以。

一个工作室,虽然会使用更多质量的样本。就像 24 位一样作为标准。

所以你得到了一个真正具有 44100 Hz 采样率的波形文件名.wav。

这意味着什么?

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

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

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

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

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

想象一下我,制作一个原始声音,如此平衡和压缩,即使经过 mp3 转换,也很难判断它是否是原始声音。想象一下,我使用均衡器来削减任何锐利的边缘,并使用门限效果来使其极其正常化。此外,我的声音发生器是一些 8 位振荡器,通过一些 fx 和滤波器。

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

例如:

               [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,然后获取波形,将新波形与旧波形和 mp3 波形进行比较。它可能不会是同一件事,所以你可能会在这里中奖。您可能手头有原始备份。

不过,从现在开始,尝试对原材料进行取样并将它们存储在 CD 或 DVD 中,然后再丢弃它们。或者至少在备份中保留良好的未压缩样本。

开放式问题:

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

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

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

同样,如果我没有要比较的 MP3 文件,只有一个音频样本,我会怎么做?

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

有没有一种自动化的方法可以以合理的概率回答这个问题?

我不知道。对不起。:( 但这并不意味着没有人可以制作一个。

但!

立体声样本通常被分成两个通道。左和右。现在,如果您在数字音频工作站中安装了频谱分析仪,并且仅查看两个不同样本的左声道,您可以即时查看它们是否相同。

为了理解我的意思,看看这个链接。05:00 去看看界面。

呸。希望这会对您有所帮助,因为它需要一些时间。:P 干杯。

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

于 2014-08-22T15:09:44.340 回答
2

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

像这样的东西:

1 -- 从每个数据点中提取 LSB

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

于 2014-08-21T15:36:36.970 回答
2

我找到了Maurits van der Schee 对问题的描述、解决方案和 Python实现,但它适用于 FLAC。

从样品中只分析前 30 秒。通过应用汉宁窗并进行快速傅里叶变换,每秒计算样本的频谱。这些光谱被添加,因此最终您会得到 30 个堆叠的光谱。这些除以 30 得到平均频谱。然后使用 log10 对光谱进行归一化。之后,我们对频谱应用滚动平均值,窗口大小为频率的 1/100,即 44100/100=441 个样本。

如果频谱中有一个不自然的截止,那么这个截止就是我们需要找到的东西。我们将频谱从第 44100 个频率扫回到第一个频率,其中可变频率为 f。只要 f-220 的震级比 f 的震级高 1.25 以上,并且 f 的震级不大于 44100 的震级的 1.1 倍,我们就找到了截止点。截止点乘以 100 并除以频率得到未截止的频谱百分比。

于 2014-10-30T09:39:07.430 回答
1

要寻找的东西:

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

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

对于 Vorbis,帧边界通常是每 128 或 1024 个样本,具体取决于编码器“看到”的瞬态。您可能每 128 个样本就可以侥幸逃脱...

您必须研究其他格式才能知道它们的帧大小(我不知道它们)。

于 2014-08-20T15:37:06.740 回答