我有大约20,000个.wav文件(所有语音线路),我需要从开始和结束时去除沉默。
"沉默"不是纯粹的沉默,所以我需要设置一个阈值。
我也想留下一点"沉默"在实际的声音/声音开始之前,所以每个文件都会被修剪但原始沉默的.X秒仍然存在。
我已经尝试了各种命令,无法正确设置阈值。我已经看到很多关于这样做的互联网评论,所以我必须使用错误的命令。
我也无法弄清楚如何离开.X秒的沉默。
我认为sox可以做到这一点,或者至少大部分是这样做的吗?
感谢。
答案 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/