0

我正在编写一个 XNA 脚本,我想在其中每隔几帧从麦克风读取数据并估计它的音高。我几乎完全根据这个页面(http://msdn.microsoft.com/en-us/library/ff827802.aspx)接受了输入。

现在我有一个缓冲区满字节。它代表什么?我重置所有内容,每 10 帧查看一次缓冲区,所以它看起来是一个巨大的数组,在不同的时间点有 9 个 1764 字节的实例(整个东西有 15876 字节大)。我假设它是声压的时域,因为我找不到有关麦克风输入格式的任何信息。有人知道这是如何工作的吗?我有一个朋友已经启动并运行了 FFT,但我们正在尝试尽可能多地了解我正在收集的数据,然后再尝试将其插入。

4

1 回答 1

0

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

short sample = (short)(buffer[i] | buffer[i+1] << 8);
于 2017-06-28T03:49:45.007 回答