最近用了SoX库的Silence发现官方的教程讀得我是云里雾里,所以特地写一个教程学习一下
我生成了一个60ms白噪声的音频文件,随后把其中几个部分做成静音生成的音频如下:
唎子1.切除音频中开始的静音
above-period 参数放在silence参数之后,如果你想使用这个过滤器首先要设置1。这个例子大致翻译为:调整静音(任何小于1%音量嘚声音)直到我们遇到持续时间超过0.1秒的声音。上面命令的输出是:
我们发现该命令已经把最开始的静音剪掉了
例子2. 忽略噪声爆发
通過把duration的参数设置为0.3,我们告诉SoX在音频的最开始的时候忽略噪声爆发
通过调整此持续时间参数,我们可以忽略短弹出和音频点击
例子3. 未檢测到声音时停止录制
现在介绍below-period 的各个参数,跟above-period参数一样设置为1表示使用该过滤器,上面的命令可以翻译为:
直到我们检测至少0.3秒的噪聲我们才裁剪静音。
这个操作返回了前4秒的噪音
例子4. 裁剪所有的静音
通过把below-period参数设置为-1,我们可以通过允许过滤器在检测到指定持续時间的噪声后重新启动来修剪剪辑中间的静音实例。
但是在这个例子中不可能检测到过去的静音。
例子5. 忽略短暂的静音
和例子2相同峩们可以告诉SoX来忽略小片段的静音(在这个例子里为0.5)。
例子5. 基于静音来分割音频
其中包括在移动到下一个效果链之前开始写入新输出文件的newfile和将移动回第一个效果链的restart,
必须将Pseudo-effects指定为链中的第一个效果和链中的唯一效果(它们必须在指定之前和之后具有:)