首页 > 解决方案 > 如何仅提取音频文件中的语音/语音?

问题描述

我正在尝试为我的神经网络准备一些音频文件。为了删除静音部分,我使用了一个用户在SO上发布的解决方案:

def detect_leading_silence(sound, silence_threshold=-50.0, chunk_size=10):
'''
sound is a pydub.AudioSegment
silence_threshold in dB
chunk_size in ms

iterate over chunks until you find the first one with sound
'''
trim_ms = 0 # ms

assert chunk_size > 0 # to avoid infinite loop
while sound[trim_ms:trim_ms+chunk_size].dBFS < silence_threshold and trim_ms < len(sound):
    trim_ms += chunk_size

return trim_ms

这很好用,但并不完美。当我绘制音频信号时,您可以看到音频开头仍然存在一些噪音/静音。此外,它不是真正动态的,因为阈值是固定值,但对于其他一些音频文件,我需要更高/更低的阈值。

在此处输入图像描述 在此处输入图像描述

我怎样才能实现只提取语音/语音?

标签: pythonaudiosignal-processing

解决方案


推荐阅读