从音频时频域分析中检测背景噪声
信息处理
fft
声音的
stft
音频处理
即时的
2022-02-23 23:22:14
1个回答
在这方面进行了一些研发后,我发现只有一种解决问题的好方法。这就是短时傅里叶变换(STFT),因为音频帧的 RMS 是那里存在的所有频率的混合能量。它可以给出一个想法,但在许多情况下会失败。但是通过 STFT,我们得到了频率区间(范围)和那些频率的特定功率,与某个阈值相比,我可以检测到语音,并且可以检测到低于该阈值的噪声/旁白。现在您可以使用 Infos 两种方式。
数字 1是显而易见的,它在频域中对频率功率进行复杂缩放,然后实时重建音频。但是在尝试了这个之后,我失败了,因为频率缩放对时域有很大的影响。(尝试了overlap_samples+windowing+zero-pad+scaling+overlap-save等,并将继续探索,让我知道你是否可以作为新手帮助我)
然后我想到了另一种更简单有趣的方法(第 2 号),用于最小/平均嘈杂环境。您可以在频域中收集尽可能多的信息,例如阈值的语音/非语音概率,单帧中的阈值通过/失败计数,并设计一种自适应算法来计算“比例”值并将此比例应用于时域. 这不会 100% 去除背景噪音(因为它会在实际讲话中出现)但是当你不说话时,如果你能正确实现它,它可以像魔法一样工作。因此,背景噪音或旁白将被缩放到非常低的水平,并且在您不说话时不会伤害他人。这是我设计自适应算法并应用后的结果。
其它你可能感兴趣的问题

