Praat 学习日志2--第一个脚本程序,输出“hello world!”

来源:互联网 发布:阿里云别名解析 编辑:程序博客网 时间:2024/06/16 18:22

    Praat这个软件的功能我们就不多说了,语音学的研究生们应

该都会用到这软件,我们使用这个软件,首先就是学会对他的编


程。里就开始教大家第一个教程程序,写出来了,供初学者学


习。相信很多人已经学会了。


    我只是打酱油的,大神们不要喷……


    首先,我们来看一下脚本编程前的准备。我们要进行编程,


就得先打开编程窗口。在主窗口(我在此称之为Objects窗口,


次点击【开始】→【新建Praat脚本】(【Praat→【New Praat


 script】),这时候我们就会打开一个脚本窗口,就一个空白的


文本输入框,我们所有脚本都写   在这里。当然,如果你有现成


的脚本,你也可以从菜单中用命令进行打开,打开菜单路径


在此不述我们除了在Objects窗口打开脚本窗口外,几乎其他的窗


口你都可以打开脚本窗口,比如Sound窗口、Pitch窗口等等,打


开顺序为【文件】→【新建脚本】(【File】→【New


 editorscript】)。

    要编写“Hello World”,我们得先来知道Praat的输出语


句:print。print为打印的意思,即在输出窗口中打印出我们想


要的结果。那我们的第一个程序就很简单了:print Hello World





    在结果输出的界面,每次结束了以后,可以在这个Praat


Info这个界面点击file-clear。清除本次运行的结果,不然你下


次运行的时候,你上次的运行的结果还是会存在的。



print是在当前行输出的,也就是说如果你写了两句print,那


输出的结果会在一行中显示,如果我们要另起一行输出,那


可以用 printline


print Hello World1
print Hello World2





以上两句脚本的输出结果为:



Hello World1Hello World2


那我们来换一下:

printline Hello World1

printline Hello World2



这时我们看到的输出结果会是下面这样:

Hello World1

Hello World2





 

是的,我们的脚本1输出的结果连起来了,而脚本2的输出结

果分行显示了。


除了print以外,Praat还提供了另外的输出语


句:writeInfoLine


writeInfoLine:"Hello World"


 World”,那我们再试试如下脚本:运行以上这句脚本,我们同


样能在Info窗口输出“Hello

writeInfoLine:"Hello World1"
writeInfoLine:"Hello World2"





你可能猜这会输出“Hello World1”,再输出“Hello


 World2”,但是你错了,在结果中你只会看到一个“Hello


 World2”,那“Hello World1”去哪了?原来,


writeInfoLine会在输出结果之前先把Info输出窗口中的所


有信息清除掉,那我们又有另外一个输出命


令:appendInfoLine





writeInfoLine:"Hello World1"
appendInfoLine:"Hello World2"

如你所料,这次输出的结果是:






Hello World1

Hello World2

appendInfoLine不会清除原先输出窗口中的内容。对应


writeInfoLine、appendInfoLine,还有不换行输出的


writeInfoappendInfo两个命令,读者可自行编写试验。


鉴于writeInfoLine能清除Info输出窗口中的内容,所以我们一


般会写在整个脚本的第一次输出的地方,在脚本中接下的输出中


千万不要再用writeInfoLine,否则一个脚本运行下来你就只能


看到最后一条输出结果,之前的结果会被清除掉。


现在,我们现在来总结一下:print后面直接跟要输出的内容


,writeInfo和appendInfo后面跟英文冒号,然后输出内容包裹


在英文双引号中。注意程序编写是区分大小写的。这篇教程中


用到的几个命


令:printprintlinewriteInfowriteInfoLineappen


dInfoappendInfoLine。请注意区分这6个命令的异同。





不懂的可以加我的QQ群: 545991507(Praat学习群)。。。。。。。。




0 0