如何使用python去噪大型音频文件?

时间:2019-05-29 08:05:38

标签: python audio noise-reduction

我正在开发一个应用程序,其中对上传的视频进行自动降噪,然后再进行进一步处理。该视频包含呼吸噪音,人们在说话以及麦克风产生的一些噪音。我想在很大程度上消除或至少减少背景噪音。如何使用python处理此问题?

我尝试使用ffmpeg设置高通和低通滤波器,但没有得到预期的输出。我的视频文件很大(大约800 MB),并且在尝试读取视频时总是出现内存错误。

下面是我尝试的代码,但它给出了内存错误。当尝试用较小的音频尝试相同的代码时,扬声器的噪音会降低,而不是背景噪音。(这里的audio1.mp3是从视频中提取的音频。)

sound_stereo = AudioSegment.from_file('audio1.mp3', format="mp3")
sound_monoL = sound_stereo.split_to_mono()[0]
sound_monoR = sound_stereo.split_to_mono()[1]

sound_monoR_inv = sound_monoR.invert_phase()
sound_monoL_inv = sound_monoL.invert_phase()

sound_CentersOut = sound_monoL.overlay(sound_monoR_inv)
sound_CentersOut = sound_monoR.overlay(sound_monoL_inv)

fh = sound_CentersOut.export('denoised.mp3', format="mp3")

谢谢!

0 个答案:

没有答案