我正在开发一个应用程序,其中对上传的视频进行自动降噪,然后再进行进一步处理。该视频包含呼吸噪音,人们在说话以及麦克风产生的一些噪音。我想在很大程度上消除或至少减少背景噪音。如何使用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")
谢谢!