gpt4 book ai didi

c# - Kinect 音频 PCM 值

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:28 24 4
gpt4 key购买 nike

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

谢谢

最佳答案

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

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

查看 this diagram (来自维基百科的 article on PCM )显示使用 4 位无符号整数编码为 PCM 的正弦波,范围为 0 到 15。

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

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

你可以将它保存到一个文件中,然后用 Audacity 之类的东西播放它如果你不确定。摆弄输入设置,您很快就会弄清楚格式。

关于c# - Kinect 音频 PCM 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17113018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com