Kinect Audio PCM Values

本文关键字:Values PCM Audio Kinect | 更新日期: 2023-09-27 18:18:31

我使用kinect提取音频并对其特征进行分类,但我有一个问题。在http://msdn.microsoft.com/en-us/library/hh855698.aspx上显示音频。打开音频数据流(16位PCM格式,16 kHz采样)并开始捕获从传感器流出的音频数据流。问题是我不知道pcm数据是如何表示的,我不知道该方法是否返回pcm真值。因为使用sdk示例,我得到像200,56,17这样的值,我认为音频值更像是-3*10^-5。有人知道我怎么得到真正的PCM值吗?还是我做错了什么?

谢谢

Kinect Audio PCM Values

我不期望任何特定的值。16位PCM表示它是一系列16位整数,因此-3*10-5(-0.00003)是不可表示的。

我猜它是用16位带符号整数(如WAV文件)编码的,其范围为-32768至32767。如果你非常安静,这个值可能会接近于0。如果你设置很多噪点,你也会看到一些更高的值。

查看这张图(来自维基百科关于PCM的文章),它显示了使用4位无符号整数编码为PCM的正弦波,其范围为0到15。

看到4位正弦波是如何在7附近振荡的吗?这是平衡。如果它是一个带符号的4位整数(范围为-8到7),它将具有相同的形状,但它的平衡值将为0 -值将移动-8,因此它将在0附近振荡。

您可以测量从平衡到正弦波的最高点或最低点的距离,以获得其振幅,或者更广泛地说,它的体积(这就是为什么如果您安静,您将在带符号的16位数据中大部分看到接近0的值)。这可能是你能做的最简单的特征检测。你可以在网上找到很多很好的解释,例如http://scienceaid.co.uk/physics/waves/sound.html.

如果你不确定,你可以把它保存到一个文件中,然后用Audacity之类的工具回放。修改一下输入设置,你很快就会知道格式了。