Python | 基本的信息统计-层级之间的信息

本文的脚本还是关于统计,上一次提供了针对某一层的统计信息(Praat脚本 | 基本的信息统计),可以帮助我们了解自己标注的具体情况,可以检查标注的信息是否有错误。本次提供一个Python脚本还是关于统计的,除了单独了解每一层的标注信息,我们有时候还想了解某个字或者词,在我们的音库里标注了几种情况的发音。比如print这个词或者“卡”这个字,我们想了解总共有几种发音形式?

有人可能会好奇这么做的意义,因为几乎每个词每个字基本都有固定的发音?!但很多语言的字词都会有复杂的发音体系,也就是发音并不唯一;再者说,你所面对的音库,就每个发音人来说,他/她也总会在语流中,表现出很多不符合标准发音的样本。这次的脚本就是可以做到统计以字或者词为单位的发音情况。

笔者尝试使用Praat脚本来实现,但是未能达到目的,Praat在处理这类问题时显示比较无力。或许有人会有更好的方法也可以提出来讨论。所以本文使用的是Python脚本来实现,这个脚本程序用到了前面介绍的使用Python读取TextGrid的一个开源包,如果不清楚的请查阅一下(Python | 如何优雅的使用Python读取TextGrid文件)。

使用这个脚本可以先使用这两套开源数据试一下,下载地址在https://github.com/feelins/Praat_Scripts/tree/master/data, 关于这两套数据的详细说明可通过关注微信公众号“语音处理小站“,查找一篇”推荐|中文普通话和英语开源数据“的文章。

代码段:

首先建立一个常规的Python文件。比如示例中使用的a02_stats_complex_infos.py,第一句命令,如下将这个textgrid包读进来命名为tg。

import textgrid as tg

紧接着,要确定你所用的TextGrid包括两层,一层是字或者词信息,一层是它的发音音素,如下图。
在这里插入图片描述
这里要确定你的标注文件两层的名称,即图上右侧的PhonWord,这个要设置一下程序里的这个位置,这里是区分大小写的。

ph_tiers = tg.read_textgrid(input_textgrid_file, 'Phon')
wd_tiers = tg.read_textgrid(input_textgrid_file, 'Word')

然后打开Python程序,设置输入的TextGrid目录,以及要保存的结果路径。

input_textgrid_dir = r'E:\006_TTS\biaobei\CMU_Demo'
save_result_file = r'E:\006_TTS\biaobei\CMU_Demo_complex.txt'

然后使用你熟悉的方式运行Python代码,打开结果文件,将会看到统计结果。可见,有的字是明确一个读音的,而有的字,可能是多音字,也有可能是发音人读的两种读音,比如这里的字。

itemValue
[‘v3’, ‘v2’]
[‘sa4’]
[‘qie4’, ‘qie1’]
[‘er3’]
[‘huei4’]

来看一下英语数据,
在这里插入图片描述
要注意这里的层级名称,一个是phones,一个是words,所以在代码里要同样设置:

ph_tiers = tg.read_textgrid(input_textgrid_file, 'phones')
wd_tiers = tg.read_textgrid(input_textgrid_file, 'words')

运行之后,我们得到以下结果,同样会发现一些词出现了多种读音,如them, on, and

itemValue
them[‘DH AH0 M’, ‘DH EH1 M’]
i[‘AY1’]
hope[‘HH OW1 P’]
i’ll[‘AY1 L’]
go[‘G OW1’]
on[‘AO1 N’, ‘AA1 N’]
seeing[‘S IY1 IH0 NG’]
forever[‘F ER0 EH1 V ER0’]
and[‘AE1 N D’, ‘AH0 N D’]
如何获取脚本 https://github.com/feelins/Praat_Scripts

本站所有Praat脚本都可以在上述github的项目目录里找到,如果日常对代码、脚本操作比较熟练的可通过下载、安装、配置github for windows在自己的电脑上通过git clone将代码下载到本机,这样的好处是可以跟主站及时更新代码。
不想费如此脑筋,可以通过点击如下图1位置所示,下载整站的代码,也可直接使用。
download
本文的代码是00-Python/a02_stats_complex_infos.py,点进去之后,还有附带的示例文件,同学可练习使用。脚本里有我的邮箱,有任何问题都可以来信咨询。

关注

关于对本站脚本的使用咨询,以及功能修改,增加等,都可以扫QQ咨询群,私信群主。

在这里插入图片描述

版权说明

1、版权归本公众号“极地语音工作室”,原名“语音处理小站”所有;

2、未经本站或者作者允许, 不得任意转载本文内容,否则将视为侵权;

3、转载或者引用本文内容请注明来源及原作者;

4、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

极地语音工作室

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

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

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

打赏作者

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

抵扣说明:

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

余额充值