Praat脚本-025 | 轻松合并不同目录里的TextGrids

本文介绍如何使用Praat脚本Merge_tiers_of_different_TextGrids.praat,高效地合并来自不同同学的TextGrid文件,根据指定层级和名称定制输出。教程包含步骤、示例和获取脚本的方法,适合处理复杂层级结构的文本标注任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用背景

假定现在有这样一个场景,你得到一大批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-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已经被合并,名称也是按我们所需要的。
在这里插入图片描述

  1. 第二种情况,我们设置如下:
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、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极地语音工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值