使用FFmpeg的音频均衡器

时间:2015-09-25 09:10:41

标签: c++ audio ffmpeg signal-processing fft

我正在使用FFmpeg开发音频播放器。我想在我的应用程序中添加音频equaliqer,但我不知道该怎么做。我知道FFmpeg有一个FFT函数,但我有数量的样本不会随着2的任何幂变化。我也尝试使用其他FFT库,但在均衡后我的音频上有一些噪音。 任何人都可以帮助我理解如何使用FFmpeg的FFT函数或任何其他方法来使用FFmpeg实现audio-eq?

1 个答案:

答案 0 :(得分:0)

如果您想使用FFT进行快速卷积滤波,请不要使用mp3样本计数。相反,您需要重新缓冲音频数据(可能使用循环缓冲区)以获得FFT所需的适当大小的新缓冲区。您还需要对FFT进行零填充,以便进行重叠相加或重叠保存快速卷积FFT滤波。您需要计算所需均衡的脉冲响应的长度,以便将FFT填零适当的量。这可能涉及修改均衡滤波器以获得合理(有限)长度的FFT。