我正在使用 Matlab 开发音频动态范围压缩器。在计算了音频文件的 FFT 之后,我使用了几个带通滤波器来分别放大特定的频段。然后我想做的是删除乐队的组件并将它们放在另一个乐队中。例如,去掉 8khz-10khz 频段的分量,将它们放入 6khz-8khz 频段。请给我一般的图片。
更改音频文件中频谱的频率分量
信息处理
声音的
fft
压缩
带通
2022-02-02 17:45:46
2个回答
从您的问题来看,听起来您正在开发助听器解决方案。鉴于您正在计算 FFT 并且现在处于频域中,最简单的前进路线是使用相位声码器技术来移动频谱峰值。这是关于这项技术的原始论文 > http://505606.pbworks.com/f/LaroD99-pvoc.pdf
这是另一个解决方案:
- 假设这些是平坦频段,请计算您想要移动到的频段的中心频率。
- 将要向下移动的频段乘以 cos(2*pi*centerFreq + phaseOfComponentsOfMovedBand) 如果要向下移动频段,请对信号应用高通滤波器。如果要向上移动频段,请对信号应用低通滤波器。
这是 FT 的调制特性:
即:Cos(f)*x(t)=> (频域) X(wf) + X(w+f)
见 http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE301_files/FT%20Tables_rev3.pdf
详情。
其它你可能感兴趣的问题