2014-10-07 65 views
1

我正在为C#使用NAudio库。我有一个.wav文件中的浮点数组。我想通过FFT进行分析,这样我就可以发现一首歌曲是否具有某些频率。例如长笛等的频率NAudio中是否有FFT,如果是的话,它会采取和输出什么?FFT数字音频

回答

1

这是一个SO问题,它解释了如何calculate FFT in NAudio

就个人而言,我一直没n音讯最大的风扇FFT实现,我宁愿使用下面的开源解决方案:

AForge.net。查看ComplexImage.cs的使用情况& FourierTransform.cs以供实施。

Math.NET的Iridium library(根据LGPL许可,因此您可以在商业产品中免费使用它)。

Chris Lomont's C# Fast Fourier Transform

MSDN也有一个great discussion and a sample FFT implementation

+0

太棒了,我会看看,我是DSP新手,想知道FFT会采用什么,可以使用信号作为浮点数组吗?还可以输出什么(用于在可视图上绘图) ?有没有内联的方法? – 2014-10-07 22:19:01

+0

嘿罗布,很高兴听到!浮点数组绝对可以使用! (事实上​​,你会在网上遇到的很多例子都会使用浮点数组)。同样对于你的返回值,取决于你使用的库可能会有所不同(从特殊类等),但绘制它们根本不会是坏的。请让我知道,如果你有任何问题! – 2014-10-07 22:24:05

+0

以下是C#中的一些示例FFT图:http://www.codeproject.com/Questions/661422/Plotting-Fast-Fourier-Transform-in-Csharp和http://libzplay.sourceforge.net/FFT_GRAPH.html以及http://social.msdn.microsoft.com/Forums/vstudio/en-US/cbb28804-bb27-4f60-9f0f-7d6e79ea0f52/plotting-of-fft-graph-in-c?forum=csharpgeneral和http:// stackoverflow.com/questions/18141070/how-do-i-plot-the-spectrum-of-a-wav-file-using-fft 如果您有任何问题,请让我知道! :0) – 2014-10-07 22:27:36