在c#中比较2个音频文件以检测它是否是同一个扬声器

时间:2013-07-02 04:34:45

标签: c# audio fft

我有2个音频.wav文件由同一个人用同一个单词录制。每个音频文件的格式为16位,44.1kHz,是单声道。我想知道如何比较这两个音频文件,如果它是由同一个人。我所知道的是处理文件以产生介于-1和1之间的值的浮点结果,并在其上应用fft并比较频率。我想知道的是如何比较音频文件的pcm,优先与显示比较的代码和可能的前一步(处理成为btw 1和-1的值)。谢谢。 我在这方面相对较新,所以我很感激如果你们帮我的话。我目前正在使用城域网应用程序,我宁愿不使用像naudio或bass.net这样的库,但我仍会接受任何答案。
从利用.wav文件开始的逐步解决方案非常受欢迎。 我一直在尝试搜索与我正在做的事情相关的主题,但我发现的是它的一小部分。

2 个答案:

答案 0 :(得分:1)

如果你想检测文件是否由同一个人生成,那么<​​em> way 比仅比较波形甚至进行快速傅里叶变换(FFT)更复杂。这是演讲者识别领域,关于这一主题的研究论文很多。这不是一项简单的任务,为了到达任何地方,您需要具备信号处理技术的基础(除非您可以找到一个库来为您完成)。 Wikipedia entry是一个开始阅读它的好地方。

这个article概述了一些技巧。常见方法包括使用Hidden Markov ModelsMel-frequency Cepstral Coefficients

答案 1 :(得分:-2)