我正在使用 FFmpeg 开发音频播放器。我想在我的应用程序中添加音频均衡器,但我不知道该怎么做。我知道 FFmpeg 有一个 FFT 函数,但我有一些样本不符合 2 的任何幂。我也尝试使用其他 FFT 库,但均衡后我的音频有一些噪音。 谁能帮助我了解如何使用 FFmpeg 的 FFT 函数或使用 FFmpeg 实现 audio-eq 的任何其他方法?
最佳答案
如果您想使用 FFT 进行快速卷积过滤,请不要使用 mp3 样本计数。相反,您将需要重新缓冲音频数据(可能使用循环缓冲区)以获得 FFT 所需的适当大小的新缓冲区。您还需要对 FFT 进行零填充,以便进行重叠添加或重叠保存快速卷积 FFT 滤波。您需要计算所需均衡的脉冲响应长度,以便将 FFT 补零适当的量。这可能涉及修改均衡滤波器以获得合理(有限)长度的 FFT。
关于c++ - 使用 FFmpeg 的音频均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32778683/