首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sox或ffmpeg来检测长音频文件中的静音间隔,并将其替换为零(也称为抑制背景噪声)?

如何使用sox或ffmpeg来检测长音频文件中的静音间隔,并将其替换为零(也称为抑制背景噪声)?
EN

Unix & Linux用户
提问于 2015-03-27 13:02:22
回答 1查看 3.2K关注 0票数 4

我有一个长的音频文件,是通过连接许多短文件创建的。我希望检测到语音片段之间的沉默(对我而言,仅仅一个阈值就足够了),并将它们替换为绝对零,这样就没有背景“噪音”了。保留录音的长度对我来说很重要。

我知道sox可以检测到文件开始和结束时的沉默,我可以使用silencereversepad等来删除样本并填充零。是否有办法在文件中的任何地方,而不仅仅是start+end中执行此操作?

UPD:这可能是一种非常复杂的方式来询问是否有用于Linux的语音活动检测工具。

EN

回答 1

Unix & Linux用户

发布于 2016-04-17 04:23:17

使用sox silence选项:

代码语言:javascript
复制
sox [input] [output] silence 1 1 2% -1 0.5 2%

将前面的静音修剪到1秒,并将文件中的间隙减少到半秒。在我的例子中,2%的人忽略噪音地板。0%可能对你有用。

-1告诉sox处理每个实例。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/192894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档