引题
在录音完成或者从别处得到一批音频之后,在对音频进行标注之间,除了以前提到的需要查看噪声情况,查看音量大小,另外一个问题就是需要查看每一句话,首尾的静音段是否过长?比如以下的句子,它的首尾静音段时长达到了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、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。
介绍如何使用Praat脚本自动检测并裁剪音频文件首尾的静音段,提高标注效率。
1772

被折叠的 条评论
为什么被折叠?



