我正在尝试实现一个使用低音音频(http://www.un4seen.com/)绘制音频频谱的应用程序。我的理解是我必须:
从流中获取 FFT 数据 float[] buffer = new float[256]; Bass.BASS_ChannelGetData(句柄,缓冲区,(int)(BASS_DATA_FFT_COMPLEX|BASS_DATA_FFT_NOWINDOW));
对于每个 fft,计算它的大小
将窗函数应用于 FFT(汉宁或汉明都可以)
然后,画出漂亮的频谱分析
然而问题在于:
- 似乎无法访问 BASS_DATA_FFT_COMPLEX BassData。我可以看到它应该在文档http://www.bass.radio42.com/help/html/a13cfef0-1056-bb94-81c4-a4fdf21bd463.htm中可用,但我无法使用它,因为我收到 BassData 错误不包括此类枚举
- 此外,我想知道我所做的是否正确。要绘制频谱,我应该简单地绘制 fft 的幅度还是绘制 fft 的幅度与该 fft 的频率?在这种情况下,我将如何获得与该 fft 对应的频率?我不介意从任何语言(C/C++、C#、VB、Java 等)截取的任何代码
注意:我不确定这是否有帮助,但这就是我正在使用的:Plotting using Microsoft Chart control。C# with the BASS.NET API by http://www.bass.radio42.com/ 非常感谢任何帮助和建议