24

我在 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

4

3 回答 3

15

如果您将 0.5 更改为 3.0,它可以正常工作:

sox -V3 input.wav output.wav silence 1 3.0 0.1% 1 0.3 0.1% : newfile : restart
于 2015-08-15T10:53:57.723 回答
9

您没有指定任何编程语言,所以我假设您并不是特别在寻找一种自己编程的方法(这使得它在这里有点离题)。顺便说一句,这并不难。

无论如何,也许这对你有用:

http://www.nch.com.au/splitter/

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

于 2014-03-14T08:30:12.947 回答
4
sox -V3 orig.wav p.wav silence -l  0   1 0.5 0.1% : newfile : restart

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

于 2017-02-26T08:57:10.790 回答