audio - XNA麦克风的音频缓冲格式?

标签 audio xna buffer microphone pitch-tracking

我正在研究一个XNA脚本,在该脚本中,我想每隔两帧从麦克风读取数据并估算其音高。我几乎完全基于此页面(http://msdn.microsoft.com/en-us/library/ff827802.aspx)进行输入。

现在,我的缓冲区已满字节。它代表什么?我重置所有内容,并每隔10帧查看一次缓冲区,因此它似乎是一个巨大的数组,在不同的时间点有9个1764字节的实例(整个大小为15876字节)。我假设这是声压的时域,因为我找不到有关麦克风输入格式的任何信息。有人知道这是怎么回事吗?我有一个已经启动并运行FFT的 friend ,但是在尝试插入FFT数据之前,我们正在尝试尽可能多地了解我正在收集的数据。

最佳答案

样本采用Little-Endian 16位线性PCM。将每对字节转换为带符号的short

short sample = (short)(buffer[i] | buffer[i+1] << 8);

关于audio - XNA麦克风的音频缓冲格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748861/

相关文章:

vim - MiniBufExplorer 和 NERD_Tree 关闭缓冲区出现意外行为

c# - 使用DirectShow捕获音频

ios - 音频流播放: unable to change play/stop button image

javascript - 从另一个域加载音频

闪光时间拉伸(stretch)

c# - 如何在按键持续一定时间后重复操作?

javascript - 将 Buffer 转换为自定义基础的最佳方法是什么?

buffer - 如何提高图形的 drawString 方法的字体质量?

c# - 如何使用 C# 和 XNA 制作屏幕截图?

performance - XNA - 如何更有效地绘制顶点?