Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 如何在静音的地方批量分割音频文件?_Audio_Split_Sox_Audacity - Fatal编程技术网

Audio 如何在静音的地方批量分割音频文件?

Audio 如何在静音的地方批量分割音频文件?,audio,split,sox,audacity,Audio,Split,Sox,Audacity,我在SoX中使用以下命令在静默时间超过0.3秒的每个位置分割许多大型音频文件: sox -V3 input.wav output.wav silence 1 0.50 0.1% 1 0.3 0.1% : newfile : restart 然而,这样偶尔会创建完全静默的文件,并在每次休息前修剪音频 我发现Audacity的效果更好,但我需要分割数百个WAV文件,Audacity甚至无法在不冻结的情况下同时打开10个文件 我如何使用SoX或类似软件在0.3秒沉默期结束时分割文件,以便沉默部分仍然

我在SoX中使用以下命令在静默时间超过0.3秒的每个位置分割许多大型音频文件:

sox -V3 input.wav output.wav silence 1 0.50 0.1% 1 0.3 0.1% : newfile : restart
然而,这样偶尔会创建完全静默的文件,并在每次休息前修剪音频

我发现Audacity的效果更好,但我需要分割数百个WAV文件,Audacity甚至无法在不冻结的情况下同时打开10个文件


我如何使用SoX或类似软件在0.3秒沉默期结束时分割文件,以便沉默部分仍然附着在演讲结束时,但不是之前,并且没有完全沉默的剪辑,除非它们来自
input.wav

的开头,否则您没有指定任何编程语言,因此我假设您不是特别想自己编程(这使它有点离题)。顺便说一句,这不难做到

不管怎样,也许这对你有好处:


可以将以dB为单位的阈值设置为拆分。我想当您将其设置为0dB时,您将获得每个片段所需的所有音频。

如果将0.5更改为3.0,则效果良好:

sox -V3 input.wav output.wav silence 1 3.0 0.1% 1 0.3 0.1% : newfile : restart

这对我有用。我找到了一些关于该命令的有用解释。

使用
sox$wav-n stat
并查看平均标准值。对于静默文件,它将<0.01。使用此逻辑并放弃所有静默文件。对我来说,没有解决方案。请解释答案中的参数。@user272651参数的含义是什么?不再是了。我刚去了那个网站,那里有一个macOS版本。
sox -V3 orig.wav p.wav silence -l  0   1 0.5 0.1% : newfile : restart