Как убрать шум с больших аудиофайлов с помощью python? - PullRequest
0 голосов
/ 29 мая 2019

Я занимаюсь разработкой приложения, в котором загруженное видео автоматически удаляется из шума перед дальнейшей обработкой. Видео содержит дыхательные шумы, разговоры людей и некоторые шумы, создаваемые микрофоном. Я хочу удалить или хотя бы уменьшить фоновые шумы в значительной степени. Как я могу справиться с этим с помощью Python?

Я попытался с помощью ffmpeg установить фильтры верхних и нижних частот, но я не получаю ожидаемый результат. Мои видеофайлы довольно большие (около 800 МБ), и я продолжаю получать ошибки памяти, когда пытаюсь их прочитать.

Ниже приведен код, который я пробовал, но он выдает ошибку памяти. При попытке использовать тот же код с довольно небольшим звуком, шум говорящего ухудшается вместо фонового шума (здесь 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")

Любая помощь будет оценена. Заранее спасибо!

...