使用背景
假定现在有这样一个场景,你得到一大批TextGrids
,这些大概有1000
条,这1000
条是不同的人完成的,你的同学A负责标注完成了第1,2
层,你的同学B负责标注完成了第3,4
层,甚至前者是第1,3
层,后者是第4,7
层,如此种种。现在你的任务是要把这两位同学的任务合并在一块,形成一个新的TextGrid
文件,这就用到了Praat
的合并操作,Merge,但是实现起来主要是要考虑到我刚才说的可能情况各种各样,如何使用更方便,而且能够任意设置新文件的层级结构,就是本脚本的功能。
实现效果
首先我们假定有两个不同任务组的TextGrid
,这里放两个例子。
这是第一个TextGrid
,假定它是由一位同学完成的,请注意这里一定要熟悉TextGrid
关于层级数字,以及它们的名称,象图上红圈所示。
这是第二个同学的TextGrid
,也是注意层级数字和名称,因为这个脚本主要是使用这个数字和名称进行合并,所以务必要清楚。
使用说明
我们直接使用脚本操作以上两个不同的TextGrid
,这个脚本不涉及音频,输入目录里不必要有音频文件,只要有你需要操作的TextGrids
就好。本篇脚本在第25个目录,25_merge_tiers_of_different_dir\Merge_tiers_of_different_TextGrids.praat
, 具体地址参考下文的github
项目地址。
使用方法如下:
- Praat运行脚本,Praat->Open Script->Merge_tiers_of_different_TextGrids.praat,这里设置需要运行的目录,
- 第一个目录的
TextGrid
放在oldTextGrid1
里; - 第二个目录的
TextGrid
放在oldTextGrid2
里; - 第三个参数就是需要合并的选项,我们下面单独分析;
- 第四个参数是输出的
TextGrid
目录,这里是new_TextGrid
,它会自动创建。
- 第一个目录的
友情提醒:好多同学在评论里,或者在QQ咨询群里,问起自己运行脚本有问题,看上去就是路径的问题,在这里提示那些对设置路径不熟悉的同学,就可以把我的示例数据删掉,放进这个目录运行就好。
现在我们分两种情况介绍选项的使用,想要拼接的新文件层级之后用/隔开,1-1,tom,第一个数字表示是第几个文件,第二个数字是这个文件的第几层,最后一个名称是新层级的名称,是用逗号隔开的。
- 第一种情况,如上图所示,
这里的意思是我需要合并的结果分别是:1-1,tom/2-1,emma/1-2,0/1-7,mike
- 第一个
TextGrid
的第1
层,新名称是tom
; - 第二个
TextGird
的第1
层,新名称是emma
; - 第一个
TextGird
的第2
层,这里名称为0
,表示我用原来的名称; - 第一个
TextGrid
的第7
层,新名称为mike
,这里由于第一个TextGrid
没有第7
层,加在这里只是为了说明程序也不会执行什么;
- 第一个
选择Run之后,我们查看结果目录里的new_TextGird
里的文件,请参照上面两个例子,按我们需要的顺序,TextGrid
已经被合并,名称也是按我们所需要的。
- 第二种情况,我们设置如下:
2-1,0/1-1,0
目标结果分别是:
* 第二个TextGird
的第1
层,这里名称为0
,表示用原来的名称;
* 第一个TextGird
的第1
层,这里名称为0
,表示用原来的名称;
得到的结果是下面这样,请注意层级名称,还是原来的名称。
总之,这个脚本使用非常简单,要注意两条,两个目录里的TextGrid
应该有相同的名字,如果名字有一些不同,或者有规律,那么需要适当修改脚本;也要注意1-1,tom这里的符号都是英语输入法下的符号,或者叫半角符号。
获取脚本
https://github.com/feelins/Praat_Scripts
说明:近期,貌似遇到了github如果不科学上网无法访问的情况,笔者也发现这个问题,后期有时间会将代码同步在一个国内容易访问的代码管理空间,目前还没有想好,请大家谅解哈,有兴趣可以加文末的QQ群,在群里私信发,会直接发给大家代码。
本站所有Praat脚本
都可以在上述github的项目目录
里找到,如果日常对代码、脚本操作比较熟练的可通过下载、安装、配置github for windows
在自己的电脑上通过git clone
将代码下载到本机,这样的好处是可以跟主站及时更新代码。
不想费如此脑筋,可以通过点击如下图Code位置所示,下载整站的代码,可直接使用。
关注
版权说明
1、版权归本站所有;
2、未经本站或者作者允许, 不得任意转载本文内容,否则将视为侵权;
3、转载或者引用本文内容请注明来源及原作者;
4、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。