为什么matlab的频谱图与大胆不同

信息处理 matlab 频谱图
2022-02-03 22:43:01

相关的东西

以下是频谱图:

Matlab版本:

在此处输入图像描述

大胆版:

在此处输入图像描述

图右侧较暗的部分显示语音。沉默大胆地添加到了人物的左侧。正如预期的那样,这个无声部分在频谱图中没有显示任何东西,正如 Audacity 所绘制的那样。但在 matlab 绘图的情况下,相同的静音部分被蓝点覆盖。为什么 Matlab 没有用全白绘制它(因为它是通过软件添加的静音并且不应该有任何能量)?

---编辑:对pichenettes回答的回应---

我认为您对第一个解释是正确的

之前的频谱图是在我添加静音后立即将时域波形视图更改为频谱图视图获得的。实际上,在我的情况下,我在文件末尾添加了静音以使其长度完全等于 2500 毫秒,然后剪切并粘贴到开头。因此,在我的情况下,它实际上确实在插入后也显示了静音的时域波形。但似乎它实际上并没有在 wavfile 中包含 0 的静音,直到我导出它。当我在导出和重新导入后看到 wavfile 的频谱图时,我也看到了大胆版本中的蓝点

在此处输入图像描述

而且颜色的差异可能是由于使用的调色板不同,正如 pinchette 在他的另一个回答中指出的那样

1个回答

我看到两种可能的解释。

解释一:

Audacity 是一个非破坏性/非线性音频编辑器。它主要操作音频信号的编辑决策列表,很少处理信号本身。因此,当您将音频块向右轻推 1.4 秒时,它不会以 0(静音)填充间隙。相反,它只是存储“此块从时间线开始播放 1.4 秒”的某个位置。例如,我在这里创建了一个 30 秒的正弦波音调,并在 27 秒的时间偏移处轻推它。请注意,原点和波形之间的间隙是空的,而不是显示表示 0 幅度的平线。

Audacity 是一个非线性音频编辑器

现在,如果您应用“混合和渲染”命令,所有的编辑和混合命令都将在信号上实际执行。

解释二:

数字静音是 0 的序列。这会在频谱图的计算过程中引起问题,因为这涉及计算 log (0) 以达到 dB 标度。Audacity 可能会在其调色板中使用一种特殊的颜色来实现数字静音。而matlab可能会添加非常低的噪音。