首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用ffmpeg“沉默”滤波器模拟奥多蒂的“截断沉默”

如何用ffmpeg“沉默”滤波器模拟奥多蒂的“截断沉默”
EN

Stack Overflow用户
提问于 2022-02-08 06:07:18
回答 1查看 172关注 0票数 1

我想用ffmpeg从wav文件中删除完全沉默的部分。

输入wav可以类似于:

我使用下面的ffmpeg命令删除静音部分ffmpeg -i input.wav -af silenceremove=stop_periods=-1:stop_duration=0.2:stop_threshold=-45dB output.wav,因为我从文档中了解到,它将删除超过0.2s的所有静音部分(沉默小于-45 to )。

但我明白

其中静音部分只被减少到0.1左右,正如我希望的那样,它是0(没有剩下的静音)。

在Audacity中,我将使用“截断音频”筛选器并选择上面的参数来检测沉默,而在动作部分,我将选择截断为0:

这将屈服于我想要的(没有静音部分的音频):

互联网上搜索只会引导我找到我已经做过的事情。

那么,我如何重现从Audacity“截断沉默”过滤器与ffmpeg获得的输出,并从音频中删除所有的静音部分?

编辑:来自沉默检测过滤器的输出是正确的:ffmpeg -i input.wav -af silencedetect=0.2:n=-45dB -f null -准确地检测到了audacity检测到的内容。

提前感谢您的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-08 14:03:51

类似于AUdacity的截断沉默行为的等效命令如下(以粗体表示添加的内容):

silenceremove=start_periods=1:stop_periods=-1:stop_duration=0.2:start_threshold=-45dB:stop_threshold=-45dB -i input.wav -af output.wav

我不知道为什么添加这两个参数会导致预期的行为,但是它可以工作,尽管对于某些文件,silenceremove可以删除比Audacity / sure检测检测更多的部件。

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

https://stackoverflow.com/questions/71029244

复制
相关文章

相似问题

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