python - 如何仅提取音频文件中的语音/语音?
问题描述
我正在尝试为我的神经网络准备一些音频文件。为了删除静音部分,我使用了一个用户在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
这很好用,但并不完美。当我绘制音频信号时,您可以看到音频开头仍然存在一些噪音/静音。此外,它不是真正动态的,因为阈值是固定值,但对于其他一些音频文件,我需要更高/更低的阈值。
我怎样才能实现只提取语音/语音?
解决方案
推荐阅读
- php - 如何从 Symfony3 中提交的表单中获取数据?
- sql-server - 有没有办法将 .sqlproj 添加到 SSMS 解决方案资源管理器?
- reactjs - 为什么这个 JSX 中有一个随机空间?
- mysql - 如何登录 Mariadb?
- html - 如何在 Safari 中显示 OpenSearch 建议?
- nhibernate - NHibernate:无法调用 QueryOver
().List() 来自 IronPython - android - android ConstraintLayoutStates - 如何获取对 constraintLayoutStates 对象的引用?
- android - Android 应用程序 GUI - 是否可以嵌套 LinearLayout?
- typescript - 在生产中禁用 console.log()
- ibm-cloud - IBM Cloud:如何在未使用时禁用分析引擎?