用sox剥离沉默

时间:2016-12-21 23:39:34

标签: sox

我有大约20,000个.wav文件(所有语音线路),我需要从开始和结束时去除沉默。

"沉默"不是纯粹的沉默,所以我需要设置一个阈值。

我也想留下一点"沉默"在实际的声音/声音开始之前,所以每个文件都会被修剪但原始沉默的.X秒仍然存在。

我已经尝试了各种命令,无法正确设置阈值。我已经看到很多关于这样做的互联网评论,所以我必须使用错误的命令。

我也无法弄清楚如何离开.X秒的沉默。

我认为sox可以做到这一点,或者至少大部分是这样做的吗?

感谢。

2 个答案:

答案 0 :(得分:5)

我找到了使用SoX Silence的非常有用的指南。虽然官方的SoX Silence手册页非常混乱且难以理解,但本指南通过示例提供了详尽的解释: https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/comment-page-2/

您可以尝试:

$html = file_get_html('URL'); // search for .htm change to .php foreach ($html->find("td a") as $a) { if (strpos($a->href, 'box') === false) { $a->href = substr_replace($a->href, 'php', -3); } }

sox input.wav output.wav silence 1 X 0.1% 1 X 0.1% : newfile : restart是一个数字,例如X

答案 1 :(得分:0)

修剪音频的静音开始 sox in.wav out1.wav沉默1 0.1 1%

来源:https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/