音频波形中负值的含义

Posted

技术标签:

【中文标题】音频波形中负值的含义【英文标题】:Meaning of negative values in audio waveforms 【发布时间】:2009-09-04 17:58:30 【问题描述】:

我最近一直在思考这个问题。我已经建立了这个小应用程序,我在其中可视化了一个 wav 文件并给它一个波形(类似于 audacity 所做的)。

我注意到,出于某种原因,存在负值和正值。好吧,我可以理解正弦波中负值的重要性,其中方向代表电流的方向。但是负值在音乐中代表什么?

【问题讨论】:

我看不出有理由投票结束。如果关于游戏物理的问题是洁净的,那么关于数字化值的物理意义的问题也是如此。当然,这可能接近“编程相关”的边缘。 我同意。这个问题在技术上可能更适合电气工程溢出社区,但它也是许多软件人所拥有的一个基本问题,因为他们的背景可能不像 EE 那样参与。就个人而言,尽管阅读了一些相当复杂的 DSP 文献,但我自己也一直在想这个问题。这个问题是关于数字化数据的解释,这与编程非常相关。 【参考方案1】:

Sound 基本上是一种压力波,由高压区域的“波峰”和低压区域的“波谷”组成。麦克风通过利用某些物理材料特性来测量随时间变化的压力,从而响应入射压力波。录制是对这些测量值进行采样并将其转录到某些媒体的过程。

选择的合理表示是将环境压力称为零,具有正压和负压。另一种合理的表示是将环境压力作为半刻度,较低的压力低于一半,较高的压力高于一半。其他表示也是可能的,甚至不需要入射压力和测量值之间的关系是线性的。

是否使用有符号或无符号表示只是历史和惯例的问题。例如,16 位音频通常表示为有符号,但 8 位音频通常不是。

从历史上看,电话系统使用 8 位无符号测量值遵循称为 a-law 或 µ-law 的非线性函数。在相同比特率下,非线性表示比线性表示支持更大的动态范围。

【讨论】:

所以让我们看看我是否做对了。 0 表示没有任何声音。那么负值是什么意思呢?它代表声量的方向?正值表示声音加强(比如爆炸),负值表示声音量减少?如果是这种情况,为什么不要在每一刻的声音量之间画一条线,只要有声音,值总是积极的。那么负值有什么用呢? 你没有做对。 0 是单个样本。不能说单个样本代表任何声音或没有任何声音。只有在信号的振荡频率中,声音才能存在。显然,单个样本不能代表任何振荡。 当前值(正、零或负)表示完全没有声音。代表声音的是值随时间的变化。看一个扩音器。波形中的值表示膜在不同时间点的位置。正表示膜向一个方向移动(从音乐关闭时的平衡开始),负表示另一方向。绝对较小的值代表较小的位移,绝对较大的值代表较大的位移。 @Daniel Brückner 哦,我认为这些值代表了膜的实际位置,而不是位移(但现在我想起来,这是有道理的,因为演讲中的磁铁只能吸引/击退它,而不是立即将其置于特定位置)。那么,如果波形不是以 0 为中心(无位移),甚至可能是 1 / +100% 的平线,这对扬声器有什么影响? 一个远离零的平坦波形(无论哪种方式)都会要求扬声器将音盆保持在其复位弹簧上,这会消耗功率,加热音圈,并可能损坏音圈扬声器。实际上,这种直流偏移会在放大器中消除,从而防止损坏扬声器。 DC 偏移是您在连接或断开音频源时可能会听到咔哒声或爆音的原因之一,因为从一个 DC 电平突然跳到另一个 DC 电平确实会通过该过滤器。【参考方案2】:

声音是弹性介质中压力变化形式的机械能。这些压力变化作为来自振动源的波传播。 气压的变化(空气是一种传播介质)可以用波形来表示,波形是声音的图形表示。实际上,声波以纵向波(而不是横向波)在空气中传播。

压缩和稀疏的概念出现在图片中,压缩是指压力高于环境压力的时期(或当输出为 0 时),而稀疏是压力低于环境压力的时期。因此,当纵波入射到麦克风/换能器的膜上时。压缩产生一个正的幅度值,而稀疏产生一个负值的幅度。

【讨论】:

【参考方案3】:

如果没有声音,波形是平坦的 (Y=0)。

Y 轴与相对于环境压力的压力差有关。 Y 值为正表示压缩,Y 值为负表示稀疏。

【讨论】:

【参考方案4】:

完全一样...一个波形文件只代表一个采样的声波。声波(如大多数任何类型的波)有时低于平衡,有时高于平衡(在声波的情况下,局部气压低于或高于环境气压),因此样本有时为负,有时为负积极的。

归根结底,这只是确定平衡的问题。 16 位声音文件的样本值范围为 -32.768 到 +32.767。您可以将 32.768 添加到所有样本值并获得 0 到 65.535 范围内的样本值,然后将平衡(完全静音(没有 DC 偏移))从 0 移动到 32.768。

【讨论】:

【参考方案5】:

可以将声音文件中的样本值视为用于记录该声音的麦克风膜的运动:麦克风膜向上(正)振动并低于(负)其静止位置(零)。

同样,为了重现这种声音,扬声器膜将从其静止位置(零)向前(正)和向后(负)移动。这种围绕中心位置的振动会产生声音。

【讨论】:

【参考方案6】:

来自WAV format:

8 位样本存储为无符号 字节,范围从 0 到 255。16 位 样本存储为 2 的补码 有符号整数,范围为 -32768 到 32767。

负值来自有符号整数

【讨论】:

以上是关于音频波形中负值的含义的主要内容,如果未能解决你的问题,请参考以下文章

python求音频的梅尔倒谱系数

python求音频的梅尔倒谱系数

python求音频的梅尔倒谱系数

python求音频的梅尔倒谱系数

音频数据字节的含义是啥?安卓

python 合唱效果和音频数据的含义