Windows phone 7 对波形文件进行下采样

Windows phone 7 对波形文件进行下采样,windows-phone-7,microphone,audio-processing,downsampling,Windows Phone 7,Microphone,Audio Processing,Downsampling,我需要将16000 hz PCM 16位波形文件的采样降低到8000 hz。我在音频处理方面没有太多的知识(几乎没有),我只懂位、字节、移位等,所有程序员都懂 它是一个Windows Phone应用程序 你有什么建议?据我所知,XNA框架中麦克风类的SampleRate是不可定制的,因此它只能提供16000 hz的数据。有没有办法在Windows Phone中获取8000 hz的原始音频数据?这将是一个简单得多的解决方案:) 多谢各位 如果您找不到一个好的解决方案,并且必须进行自己的转换,以下内

我需要将16000 hz PCM 16位波形文件的采样降低到8000 hz。我在音频处理方面没有太多的知识(几乎没有),我只懂位、字节、移位等,所有程序员都懂

它是一个Windows Phone应用程序

你有什么建议?据我所知,XNA框架中麦克风类的SampleRate是不可定制的,因此它只能提供16000 hz的数据。有没有办法在Windows Phone中获取8000 hz的原始音频数据?这将是一个简单得多的解决方案:)


多谢各位

如果您找不到一个好的解决方案,并且必须进行自己的转换,以下内容可能会对您有所帮助

假设您使用XNA框架话筒+wav,如下所示:

然后,要获得8khz而不是16khz,您只需从microscope.BufferReady事件中返回的数据中每秒删除一次值。或者最好使用插值(而不是每秒钟删除一个值,而是保存两个值的平均值)

对于(int i=0;i
另外,不要忘了在WriteWavHeader函数中为sampleRate(8000)设置正确的值

删除其他每一个值都会导致错误。首先应用低通滤波器。