PCM音频幅度值?

我开始使用我的Android智能手机进行录音

我成功地将录音保存到PCM文件中。 当我解析数据并打印出带符号的16位值时,我可以创建如下图所示的图形。 但是,我不了解沿y轴的振幅值。

  1. 振幅值的单位究竟是多少? 这些值是16位的,因此它们必须在-32K到+ 32K之间。 但这些价值代表什么呢? 分贝?

  2. 如果我使用8位值,则值必须在-128到+128之间。 如何将其映射到16位值的音量/“响度”? 您是否只使用16对1量化映射?

  3. 为什么会出现负值? 我认为完全沉默会导致值为0。

如果有人可以将我指向一个网站,其中包含有关正在录制内容的信息,我将不胜感激。 我发现PCM文件格式的网页 ,但不是数据值。

在此处输入图像描述

Solutions Collecting From Web of "PCM音频幅度值?"

想想麦克风的表面。 当它静音时,表面在零位置处不动。 当你说话时,会导致嘴周围的空气振动。 振动类似于弹簧,并且在两个方向上都有运动,如前后,或上下,或进出。 空气中的振动也会导致麦克风表面振动,如上下移动。 当它向下移动时,可以测量或采样正值。 当它向上移动时可能被采样为负值。 (或者它可能正好相反。)当你停止说话时,表面会回落到零位置。

从PCM录制数据中获得的数字取决于系统的增益。 对于常见的16位采样,范围从-32768到32767,可以记录振动的最大可能偏移,无失真,削波或溢出。 通常将增益设置得稍低,以使最大值不在失真边缘。

添加:

8位PCM音频通常是无符号数据types,范围从0..255,值128表示“静音”。 因此,您必须加/减这个偏差,并缩放大约256,以便在8位和16位音频PCM波形之间进行转换。

原始数字是用于将模拟音频信号转换为数字的量化过程的假象。 将音频信号视为0附近的振动更有意义,延伸至+1和-1以获得最大的信号偏移。 除此之外,你会受到削波,这会使谐波和声音变得很糟糕。

但是,就分数而言,计算机无法正常工作,因此使用0到65536之间的离散整数来映射该范围。 在大多数这样的应用中,+ 32767被认为是麦克风或扬声器振膜的最大正偏移。 除非您开始考虑记录(或回放)电路的特性,否则采样点和声压级之间没有相关性

(BTW,16位音频是非常标准和广泛使用的。它是信噪比和动态范围的良好平衡。除非你做一些时髦的非标准缩放,否则8位是有噪声的。)

Why are there negative values? I would think that complete silence 

会导致值为0

麦克风上的振膜在两个方向上振动,因此产生正电压和负电压。 值0表示静音,因为它表示光圈没有移动。 了解麦克风的工作原理

小澄清:正在记录隔膜的位置。 当没有振动时,当位置没有变化时,就会发生沉默。 因此,您所看到的振动是推动空气并随着时间的推移产生气压变化的原因。 空气不再被推到任何振动的顶部和底部峰值,因此峰值是在发生静音时。 信号最响亮的部分是当位置变化最快时,位于峰值中间的某个位置。 隔膜从一个峰值移动到另一个峰值的速度决定了隔膜产生的压力大小。 当顶部和底部峰值减小到零(或者它们共享的其他数字)时,没有振动,也没有声音。 此外,当振膜减速使得峰值之间有更大的时间间隔时,产生或记录的声压更小。

我推荐使用Yamaha Sound Reinforcement手册进行更深入的阅读。 理解微积分的概念也有助于理解音频和振动。

这里有很多好的答案,但它们并没有以易于阅读的方式直接解决您的问题。

振幅值的单位究竟是多少? 这些值是16位的,因此它们必须在-32K到+ 32K之间。 但这些价值代表什么呢? 分贝?

这些值没有单位。 它们只是代表了一个从模数转换器中产生的数字。 来自A / D转换器的数字是麦克风和前置放大器特性的函数。

如果我使用8位值,则值必须在-128到+128之间。 如何将其映射到16位值的音量/“响度”? 您是否只使用16对1量化映射?

我不明白这个问题。 如果要录制8位音频,则值为8位。 您是否将8位音频转换为16位?

为什么会出现负值? 我认为完全沉默会导致值为0

麦克风上的振膜在两个方向上振动,因此产生正电压和负电压。 值0表示静音,因为它表示光圈没有移动。 了解麦克风的工作原理

有关如何以数字方式表示声音的更多详细信息,请参见此处 。

16位数字是麦克风的A / D转换器值(你知道这一点)。 还要知道麦克风和A / D转换器之间的放大器具有自动增益控制(AGC)。 AGC将主动改变麦克风信号的放大,以防止过多的电压撞击A / D转换器(通常<2V直流)。 此外,还有直流电压去耦,它将输入信号设置在A / D转换器范围的中间(比如1伏直流)。

因此,当麦克风没有声音时,AGC放大器正在向A / D转换器发送一条1.0伏直流信号。 当声波撞击麦克风时,会产生相应的交流电压波。 AGC放大器采用交流电压波,以1.0 Vdc为中心,并将其发送到A / D转换器。 A / D采样(测量直流电压,例如44,000 /秒),并吐出电压的+/- 16位值。 所以-65,536 = 0.0 Vdc和+65,536 = 2.0 Vdc。 值为+100 = 1.00001529 Vdc和-100 = 0.99998474 Vdc命中A / D转换器。

+值高于1.0 Vdc, – 值低于1.0 Vdc。

请注意,大多数音频系统使用对数公式来对数地对音频波进行曲线,因此人耳可以更好地听到它。 在数字音频系统(带有ADC)中,数字信号处理将此曲线置于信号上。 DSP芯片是一项重要的业务,TI已经将它们用于各种应用,而不仅仅是音频处理。 DSP可以将非常复杂的数学运算到可以扼杀iPhone的ARM7处理器的实时数据流中。 假设您正在向256个超声波传感器/接收器arrays发送2MHz脉冲 – 您就明白了。