pratt手册中的脚本程序范文Word下载.docx

上传人:b****1 文档编号:3271705 上传时间:2023-05-01 格式:DOCX 页数:63 大小:139.99KB
下载 相关 举报
pratt手册中的脚本程序范文Word下载.docx_第1页
第1页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第2页
第2页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第3页
第3页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第4页
第4页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第5页
第5页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第6页
第6页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第7页
第7页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第8页
第8页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第9页
第9页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第10页
第10页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第11页
第11页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第12页
第12页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第13页
第13页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第14页
第14页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第15页
第15页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第16页
第16页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第17页
第17页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第18页
第18页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第19页
第19页 / 共63页
pratt手册中的脚本程序范文Word下载.docx_第20页
第20页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

pratt手册中的脚本程序范文Word下载.docx

《pratt手册中的脚本程序范文Word下载.docx》由会员分享,可在线阅读,更多相关《pratt手册中的脚本程序范文Word下载.docx(63页珍藏版)》请在冰点文库上搜索。

pratt手册中的脚本程序范文Word下载.docx

shengYaH=(rV*rV+iV*iV)^0.5

dBH=20*log10(shengYaH/2*10^5)+15

juli=(pitchV-pitchQ)/(pitchH-pitchQ)

dB=dBQ+(dBH-dBQ)*juli

endif

ifpitchH-pitchQ=0

binN'

shengYa=(rV*rV+iV*iV)^0.5

dB=20*log10(shengYa/2*10^5)+15

print'

dB'

(二)提取二维频谱中前n个谐波峰的能量值

#然后在对象列表窗口选定并编辑(Edit)一个二维频谱对象(Spectrum),并测

量其第10个谐波的中心频率,再除以10以得到这个时点的基频值;

#然后按脚本编辑器的Run菜单下的Run按钮,接下来在弹出的对话窗口

里输入您刚才测定的基频值和需要测量的谐波峰数目n;

#执行结束后,您将在弹出的信息窗口中看见n个谐波峰位置的能量值。

form对话框

positiveFrequency_Zero_(Hz)100

positiveThe_Number_of_harmonics10

endform

fZero=frequency_Zero

fNum=the_Number_of_harmonics

fNum'

forjfrom1tofNum

pitchV=fZero*j

'

newline$'

endfor

(三)提取二维频谱中各频率成分的能量值

#然后在对象列表窗口中选定一个二维频谱对象(Spectrum);

#执行结束后,您将在"

C:

/temp.txt"

文件中得到各频率成分的能量值。

saveFileName$="

c:

filedelete'

saveFileName$'

fileappend'

Hz

dB

forifrom1tobinNum

i'

pitchV=(i-1)*binW

(四)将共振峰频率数据提取到TextGrid对象中

#打开一个声音,并按对象列表右侧的Edit按钮来编辑这个声音,选择Show

Spectrogram和ShowFormant按钮前的对钩。

并将显示窗口调整到合适的横轴显

示比例,将游标定位到需要测量共振峰的位置上(一般定位在共振峰数据比较稳

定的地方或发生变化的地方,而不能放在那些红点散乱的位置);

#然后按脚本编辑器的菜单"

Run"

下的"

按钮即可执行;

#运行这段程序后,会出现一个对话框,询问您要提取多少个共振峰数据,

默认为3个,另外还要询问您是否需要新建一个TextGrid对象来保存共振峰数据,

如果在对象列表窗口中没有对应于声音对象的TextGrid对象,请选择"

Create

TextGrid(forFirstTime)"

按钮前的复选框,然后按"

OK"

按钮运行即可;

如果已经

有了TextGrid对象,则不必选择"

CreateTextGrid(forFirstTime)"

按钮前的复选框,

直接按"

按钮运行即可。

另外请保持FormantNumber与第一次设定的个数一

致,后面的操作过程不必修改它;

#这个程序将提取出游标位置的共振峰频率数据和带宽数据,并把它写到一

个TextGrid类型的文件之中,在TextGrid对象中它们之间用“-”分开,“-”之

前表示共振峰的中心频率值,“-”之后表示共振峰的带宽;

如果所提取出来的数

据不够准确,请在TextGrid对象中进行修改,最后请记作保存TextGrid对象。

positiveFormant_Number_(no_more_than_5)3

booleanCreate_TextGrid_(for_First_Time)0

nf=formant_Number

createTextgrid=create_TextGrid

soundN$=selected$("

Sound"

textGridN$=soundN$+"

_Formant"

editorSound'

soundN$'

Showanalyses...yesnonoyesno10

time=Getcursor

forifrom1tonf

f'

=Getformant...'

b'

=Getbandwidth...'

ifcreateTextgrid=1

ifnf=5

ToTextGrid..."

F5F4F3F2F1"

F5F4F3F2F1

ifnf=4

F4F3F2F1"

F4F3F2F1

ifnf=3

F3F2F1"

F3F2F1

Rename...'

textGridN$'

selectTextGrid'

fV=floor(f'

bV=floor(b'

txt$=fixed$(fV,0)+"

-"

+fixed$(bV,0)

Insertpoint...nf+1-itime'

txt$'

selectSound'

(五)将TextGrid对象中的共振峰数据转换成文本文件

#再在对象列表窗口中选定一个用来登记共振峰数据的TextGrid对象;

#然后按脚本编辑窗口的Run菜单下的Run按钮执行程序;

文件中得到这个TextGrid对象内的数据,

您可以使用Excell表格读取该文件。

tN=Getnumberoftiers

forifrom1totN

nF=Gettiername...'

pN=Getnumberofpoints...'

forjfrom1topN

lP$=Getlabelofpoint...'

j'

ifindex(lP$,"

)>

a=index(lP$,"

)-1

b=length(lP$)

b=b-a-1

fP'

'

=extractNumber(left$(lP$,a),"

"

bP'

=extractNumber(right$(lP$,b),"

else

=extractNumber(lP$,"

=100

tP'

=Gettimeofpoint...'

时点(ms)

a=tN+1-i

F

a'

Bandwidth

tt=floor(tP'

*1000)

tt'

ll=fP'

ll'

ll=bP'

(六)制作声学元音图

运行时,会弹

出一个对话框,如下图所示:

#如果您要自己输入元音的音标及其F1和F2的值,则分别在对话框的前三

个输入窗口中输入;

如果您不准备自己手工输入(即由程序自动从声音编辑窗口

和标注窗口中提取您所指定位置的数据),则保持对话框的前三个输入窗口的数

据不变。

对话框的第四个窗口用来输入F1的范围,对话框的第五个窗口用来输

入F2的范围,这两个值一般根据您所画元音里的F1和F2的最大值来决定,通

常可以保持不变。

对话框的第六个窗口用来输入声学元音图的宽度,对话框的第

七个窗口用来输入声学元音图的高度,一般也可以保持不变。

对话框最底下的那

个复选框用来确定是否重新作图,只在做第一个元音图时打钩,接下来做其他元

音时就不能再打钩了,否则前面所做好的图就被取消了。

设置好之后,按对话框

上的“OK”按钮提交运行即可。

#如果您不是手工输入元音的音标及其F1和F2的值,那么您需要在对象列

表窗口中选定声音文件对象和相应的标注文件,并将它们合并在一起打开来编

辑,在编辑窗口分析显示出声音的共振峰数据,还需要在相应的标注文件里标注

出该元音的音标,然后把游标定位到合适的共振峰位置上,设置好这些之后再运

行这个脚本程序。

运行时,还可以在上图1、2、3位置修改元音的音标及其F1

和F2的值。

form输入框

commentIfyouthinkthevaluestokenfromtheeditorarewrong,

commentpleaseinputthecorrectvaluesinthefollowingtextbox:

sentenceVowel_Symboloriginal

realFrequency_of_First_Formant_(Hz)0(=autoinput)

realFrequency_of_Second_Formant_(Hz)0(=autoinput)

positiveMaximum_Frequency_of_First_Formant_(Hz)1000

positiveMaximum_Frequency_of_Second_Formant_(Hz)3000

positiveWidth_of_the_picture5

positiveHeight_of_the_picture5

booleanDraw_the_vowel_on_a_new_picture0

vowelN$=vowel_Symbol$

fff=frequency_of_First_Formant

fsf=frequency_of_Second_Formant

newPic=draw_the_vowel_on_a_new_picture

hyu=maximum_Frequency_of_Second_Formant

zyu=maximum_Frequency_of_First_Formant

wP=width_of_the_picture

hP=height_of_the_picture

wP=wP+0.5

hP=hP+0.5

hjiange=hyu/10000

zjiange=zyu/10000

ifvowelN$="

original"

textName$=selected$("

TextGrid"

editorTextGrid'

textName$'

txt$=Getlabelofinterval

txt$=vowelN$

iffff=0

ff=Getfirstformant

ff=fff

iffsf=0

fs=Getsecondformant

fs=fsf

ff=1-ff/zyu

fs=1-fs/hyu

ifnewPic=1

Eraseall

Viewport...0.5'

wP'

0.5'

hP'

Black

Plainline

Drawline...0010

Drawline...0111

Drawline...1110

Drawline...0100

forifrom0to10

a=i/10

b=(10-i)*hjiange

b='

b:

2'

Textspecial...'

Centre1BottomTimes100'

Grey

Dottedline

ifa<

>

0anda<

1

Drawline...'

1'

0

forifrom0to9

b=(10-i)*zjiange

Textspecial...1Left'

BottomTimes100'

Drawline...1'

0'

Textspecial...1Left1BottomTimes100K

Drawcircle...'

fs'

ff'

0.006

a=ff/zjiange

b=floor(a)

c=ceiling(a)

d=(b+c)/2

ifa>

d

tf=ff-0.02

tf=ff+0.02

a=fs/hjiange

ts=fs-0.02

ts=fs+0.02

Blue

ts'

Centre'

tf'

HalfTimes140'

(七)提取标注对象中的数据

#执行这个程序,你需要在C盘temp文件夹下存放TextGrid文件,TextGrid

对象需要标注音节和声韵母等数据;

#请在上图1位置输入音节层的标注层级;

请在上图2位置输入声韵母层的

标注层级;

请在上图3位置输入重音层的标注层级;

请在上图4位置输入间断层

的标注层级;

如果在您的标注文件中没有标注上面的内容,请保留“0”不变。

设置好之后请按上图5的“OK”按钮继续运行。

#运行结束后,您将在C盘temp文件夹下找到提取出来的数据文件,其名

称是TextGrid文件的名称加上“_TextGrid”,类型是文本文件。

您可以使用Excel

表格打开刚才得到的数据文件,以观察和分析数据。

dirPath$="

\temp\"

CreateStringsasfilelist...list'

dirPath$'

\*.TextGrid

fileNum=Getnumberofstrings

iffileNum>

realthe_PinYin_TierIndex_in_TextGrid0

realthe_ShengYun_TierIndex_in_TextGrid0

realthe_Stress_TierIndex_in_TextGrid0

realthe_Break_TierIndex_in_TextGrid

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2