Praat脚本提取时长及基频

Praat脚本具有强大的功能,对语音文件标注完成后,下面的任务就是把成百上千的语音文件中的参数提取出来,最基本的就是时长,和基频,其它还有元音可能要提取共振峰,如果对这些文件全部手工提取,工作量可想而知,而使用Praat脚本即可以批量提取,便于统一整理。这里先介绍如何提取时长和基频的脚本。

1. 基本的读文件以及文件名操作(略)

2. 基频处理

        if fileReadable(pitchtierFileName$)
		Read from file: pitchtierFileName$
	else
		To Pitch: 0, 75, 600
                Interpolate
                Smooth: 10
		Down to PitchTier
		selectObject: "Pitch " + simpleName$
		Remove
		selectObject: "Pitch " + simpleName$
		Remove
		selectObject: "Pitch " + simpleName$
		Remove
	endif

解释:这部分是针对基频的提取处理,如果有修正好的基频文件,这里是需要使用Praat保存的格式*.PitchTier格式。所谓的修基频是需要通过Praat生成一个Pitch文件,然后对里面的清、浊出错比较明显的位置给予修正。如果不修基频,最后的结果难免有很多数值点影响整体效果。如果没有提供修正的基频文件,脚本会自动创建一个基频文件。如上面代码里的To Pitch这一部分。

3. 提取音素所在的单词

                intervalWordTier = Get interval at time: word_tier, sTime
		sTimeWord = Get start point: word_tier, intervalWordTier
		eTimeWord = Get end point: word_tier, intervalWordTier
		durationWord = eTimeWord - sTimeWord
		labelOfIntervalWord$ = Get label of interval: word_tier, intervalWordTier

解释:这一段是为了提取该音素所在的单词,因为整个脚本是以音素层为参考,然后提取每个音素所在的单词,所以这里的代码是为了提取这个音素所在的单词。

4. 最后附上整个Praat脚本的下载页.

该脚本在Praat6.0.14测试成功。适用版本包括Praat5.2.*以上。

http://download.csdn.net/detail/shaopengfei/9475768

5. 测试的文件如下图。

语音文件使用的是http://www.phonetics.ucla.edu/course/contents.html页面上的声音。标注文件是随手标的,请忽略不准确,或者错误。

Praat脚本提取时长及基频_第1张图片

6. 生成的文件

在result.txt,如下面的格式:

Praat脚本提取时长及基频_第2张图片

7.将这些数据直接拷贝到Excel表格里可以更方便的查看。

你可能感兴趣的:(脚本,Praat)