我将如何实施像下面 WinAmp 中的频谱分析仪?
仅通过查看,我认为这些条被渲染以显示传入音频数据的特定频段的“音量级别”;但是,我不确定如何实际计算绘制条形图这一相当简单的任务所需的数据。
据我所知和理解,计算这些值可以通过使用 FFT 来完成——但是,考虑到输入数据的缓冲区,我不完全确定如何计算这些值——我在 FFT 的正确轨道上吗?我将如何对输入数据应用 FFT 并从 FFT 中获取一个整数,该整数表示特定频带的“音量”?
绘图部分不是问题,因为我可以直接绘制到我的帧缓冲区并将其渲染出来。我在 FPGA 上做这个项目,使用 Nios II 软 CPU,以防有人想知道潜在的硬件限制。音频数据以 96kHz 的 24 位数据形式出现。