首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从实践脚本中打开praat

如何从实践脚本中打开praat
EN

Stack Overflow用户
提问于 2017-06-28 14:06:25
回答 2查看 1.1K关注 0票数 2

我希望允许一个praatscript打开praat对象行。这将允许我打开praat,然后自动允许脚本将对象加载到对象窗口中。

例如,脚本

代码语言:javascript
复制
run_something.praat 1.wav 1.TextGrid 0.1 0.2

可以打开praat,然后在音频文件"1.wav“中将编辑器打开到0.1和0.2,这对我来说很容易。

我只是不能事先打开普拉特插入我需要的东西。

现在,我的脚本如下所示:

代码语言:javascript
复制
form Info
    text Sound
    text Textgrid
    real Start
    real End
endform


if sound$ != "" and textgrid$ != ""
     Read from file: sound$
     Read Strings from raw text file: textgrid$
     @read_lab()

selectObject: 1, 3
View & Edit
editor = 3
editor: editor
Select: start , end
Zoom to selection
endeditor

endif

当然,它会告诉我视图和编辑不能工作,因为GUI没有打开。我不能使用环境,因为它必须在windows和linux上工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-28 17:38:46

您可以使用--open选项启动Praat .打开你想要的文件。这将在GUI模式下启动Praat,打开指定的文件(和/或脚本):

代码语言:javascript
复制
praat --open sound.wav annotation.TextGrid script.praat

但是,如果您想以编程方式向Praat实例发出命令(=不单击任何内容),您可能必须使用森普拉特,它应该可以在运行普拉特的所有平台上使用。

请注意,该页中的编译指令至少对Linux来说有点过时:我能够在我的计算机上用

代码语言:javascript
复制
gcc -std=gnu99 -o sendpraat -DSTAND_ALONE -DUNIX \
  `pkg-config --cflags gtk+-2.0 glib-2.0` \
  sendpraat.c \
  `pkg-config --libs   gtk+-2.0 glib-2.0`

有了sendpraat,您就必须启动Praat的GUI实例,然后在一个单独的语句中发送脚本的执行:

代码语言:javascript
复制
sendpraat 0 praat \
  'runScript: "path/to/your/script", "1.wav", "1.TextGrid", 0.1, 0.2'

使用sendpraat的说明可以在普拉特手册上找到。第一个参数是以秒为单位的超时(如果到那时操作尚未完成,则为死),然后是程序的名称,然后是要按顺序运行的命令列表。

据我所知,没有一种简单的方法可以运行单个脚本,在一个步骤中打开Praat 的GUI版本,使该实例执行命令。但我可能错了。

票数 3
EN

Stack Overflow用户

发布于 2019-04-11 18:16:49

对于那些正在与sendpraat作斗争的人:

尝试:

代码语言:javascript
复制
sendpraat praat 'execute "pathtoyourscript"'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44804843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档