1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Praat脚本-009 | 提取时长和基频

Praat脚本-009 | 提取时长和基频

时间:2021-05-20 14:31:13

相关推荐

Praat脚本-009 | 提取时长和基频

目录

引题提取基频操作解释运行脚本获取脚本关注版权说明

引题

在提取数据的工作中,提取基频这是最重要的一部分,基频也可以称为Pitch,F0。它跟我们感知到的声调,语调是相关的,所以通常用来描述声调语言的声调,以及语调走势等。有关于相关的理论在此不展开,请查阅其它资料。以下图例从论文中摘出。

上图针对的声调语言的声调研究,在通过大量的数据提取平均值之后,画出来4个声调调类的基频走势。上图是原始值,下图是归一化到5度的值。描述方法是一样的。从这样的图,我们能够大概知道研究对象的声调趋势情况。

同样的道理,我们想研究一句话的语调,也是同样作出类似的基频图,如上图,通过这一句话对比美国发音人中国学生的语调区别。

提取基频

虽然本站主要在介绍如何使用Praat脚本,其实提取基频远不止使用Praat脚本这一条路,其它常用的工具或者工具包,有Straight, Reaper, Python,Matlab, R等。有的人经常会困于这样的纠结中,认为Praat脚本必须是比较低级的学习者才用的工具,而我的论文,我的课题要体现出优越感,要体现出高大上,随即转向去用其它办法来提取,我觉得大可不必有这样的胡思乱想,小编比较过使用Praat提取的基频和其它的方法提取的差异,这真的是可以忽略不计的,因为频率的计算自然就是通过对N个采样点使用数学公式,差别只是在于小数点后面几位的大小吧,而真正描述我们的语音现象,使用Praat提取的基频是足够有说服力的。

操作解释

我们举一个例子说明Praat对基频的一些操作,如图所示。这是一句中文的标注。请关注中间的频谱部分有一些蓝色的线,这些线就是基频线,当鼠标点在频谱某一个位置时,在窗口的右侧,这个数值就是这一点的基频值,是312.2Hz,单位是赫兹。这个汉字“梯”明显是声调为1,高平调,很明显这一小段的基频线也是几乎是一条直线,而且它的位置很高,或者说数值都比较大,相对其它声调的基频数值来说。

我们提取基频是不是就意味着点点鼠标,将这些值记录下来呢?确实如此。不过如果使用脚本,我们是可以批量提取的。而且因为展示在计算机上的声波或者频谱都是经过N个采样点显示的,我们该使用多少个点来描述基频呢?这个也要因研究而异。有的地方的语言声调没有时长的变化,每一种声调类型取10个点就可以了,比如上面的“梯”字,取浊音部分时长分10份,每一份取一个值就好了,用这10个点来来出基频曲线,在这里,就代表这个字的声调。Praat有一个操作可以让我们得到一串数字。

首先将鼠标点到需要提取基频的“梯”字的韵母部分,即i1这个位置,然后点击菜单上的Pitch里的Pitch listing这里我们得到以下的数值,第一列是时间点,它是每隔0.005秒提取一个数值的,而第二列就是基频值。最后两个点由于在浊音的尾巴部分,这个地方并没有算出来基频值,这种情况发生在清音段。

Time_s F0_Hz2.195000 312.5719042.205000 307.6726182.215000 307.2103822.225000 308.8337922.235000 310.2903842.245000 311.2725582.255000 312.5340892.265000 314.2280552.275000 316.0116642.285000 317.7212822.295000 319.1522612.305000 319.9414872.315000 320.9630752.325000 322.052.335000 323.1851392.345000 324.7483662.355000 326.4520912.365000 326.7976062.375000 324.2316422.385000 --undefined--2.395000 --undefined--

我们将这些数值放在Excel表格里,即可画出基频曲线图。

运行脚本

本文的代码下载地址见下文(获取脚本部分)是09-get_duration_and_pitch/Get_Duration_and_Pitch.Praat。脚本里有我的邮箱,有任何问题都可以来信咨询。

打开Praat之后,选择PraatOpen Praat Script...,打开这个脚本,然后在脚本窗口选择RunRun,或者直接使用快捷键Ctrl+R,在弹出来的对话框里,设置以下几个地方:

设置你的wav所在的目录,这里因为是在Windows系统,所以路径斜线是\,如果你是在Mac使用,将这个斜线方向反一下就好。本文示例是放在E盘的Biaobei_Demo目录里。自己没有数据的可以参考本公众号里的一篇文章,开源的中文英文数据库,就是这些示例,是已经标注过的;同样的方法设置下面的PitchTier目录和TextGrid目录,请注意,如果没有自己修过的基频目录,PitchTier目录可以置空;接着设置你要提取的一般是音素层,它是第几层,这里在第1层;设置提取出来的结果文件的路径。

设置完毕,点击OK,运行脚本,结果可以到结果文件里查看。

结果是这样的,首先是文件名,其次是这个音素的名称,再后面是音素的时长,以及后面的10个点的基频值

由于这是中文数据,我们看一下在说话的过程中我们所说的上声,具体表现是什么样的呢?我们从上面的数据里将3声调的数值都提出来在Excel里做一下平均,再画图。我们得到了这样的一个曲线,很明显,这个3声和我们想象的单念的时候差别很大,我们在单念的时候需要一个很夸张的末尾上扬,在实际说话中这个并不明显。有兴趣的同学可自己单念几个上声字检查这个声调图。

获取脚本

/feelins/Praat_Scripts

本站所有Praat脚本都可以在上述github的项目目录里找到,如果日常对代码、脚本操作比较熟练的可通过下载、安装、配置github for windows在自己的电脑上通过git clone将代码下载到本机,这样的好处是可以跟主站及时更新代码。

不想费如此脑筋,可以通过点击如下图Code位置所示,下载整站的代码,可直接使用。

关注

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

版权说明

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。