引题
在录音完成或者从别处得到一批音频之后,在对音频进行标注之间,除了以前提到的需要查看噪声情况,查看音量大小,另外一个问题就是需要查看每一句话,首尾的静音段是否过长?比如以下的句子,它的首尾静音段时长达到了1-2秒。
这样就造成一个困扰,在标注的时候每次听音都要浪费这多余的几秒种,在讲究效率的今天,这显然是比较浪费时间的。在其它编程语言中如Python
,它是有专门的包处理音频的,是可以截取首尾静音段的。使用Praat脚本
也可以达到这个目的,因为Praat
也有一个功能是自动检测到静音段的。尤其是录音条件良好,在首和尾的静音段。
操作方法
首先介绍一下这个操作,读进来一个wav
之后,点击右侧的Annotate
,再点击To TextGrid(silence)...
这时候会弹出一个对话框,这里面的设置可以默认不动。有兴趣的可以自行调整,会影响到得到的静音段边界的位置,以及容错率等。
这时候我们得到一个TextGrid
和音频同时打开之后是这样的,由于这句话的底噪很小,所以它的对静音段的判断还是非常准确的。至于中间也判断出来静音段,这个是没有办法避免的。而我们最需要的其实是第一个,和最后一个静音段。利用这两个静音段,我们可以自由决定保留多长的时长。
将以上的一系列操作写成脚本就可以了。
运行脚本
本文的代码下载地址见下文(获取脚本部分)是13-cut_silence/Cut_Wav_TextGrid.Praat
。脚本里有我的邮箱,有任何问题都可以来信咨询。
打开Praat
之后,选择Praat
,Open Praat Script...
,打开这个脚本,然后在脚本窗口选择Run
,Run
,或者直接使用快捷键Ctrl+R
,在弹出来的对话框里,设置以下几个地方:
- 设置你的
wav
所在的目录
,这里因为是在Windows系统
,所以路径斜线是\
,如果你是在Mac
使用,将这个斜线方向反一下就好; - 同样的方法设置保存
wav
所在的目录; - 设置你需要对这个
wav
保存的时长,这里是对首尾,保留0.1秒
,注意如果你首尾的时候不足0.1秒
,脚本是不会对音频进行切分
的;
设置完毕,点击OK
,运行脚本,我们来对比一下切分前后的wav
,下图上半部分是切分之前的,下图就是利用上面的脚本自动切分之后的,可以看到首尾,被保留了0.1秒
的静音段时长,如果你想保留0
,那么就设置0
就可以了。
获取脚本
https://github.com/feelins/Praat_Scripts
本站所有Praat脚本
都可以在上述github的项目目录
里找到,如果日常对代码、脚本操作比较熟练的可通过下载、安装、配置github for windows
在自己的电脑上通过git clone
将代码下载到本机,这样的好处是可以跟主站及时更新代码。
不想费如此脑筋,可以通过点击如下图Code位置所示,下载整站的代码,可直接使用。
关注
关于对本站脚本的使用咨询,以及功能修改,增加等,都可以扫QQ咨询群,私信群主。
版权说明
1、版权归本公众号“极地语音工作室”,原名“语音处理小站”所有;
2、未经本站或者作者允许, 不得任意转载本文内容,否则将视为侵权;
3、转载或者引用本文内容请注明来源及原作者;
4、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。