Praat 编程基础

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Script中的元素
• 对象(可操作)
– 对象窗口里面的任何一个 (左侧) – 文件 – 数字 – 字符 等 …
Script中的元素
• 变量(a type of object)
– 存储数值 – Examples:
• ifile • numberOfFiles • fileName$
– Types: 数字, 字符 (文本), 逻辑数 (yes/no or 1/0) – 命名规则:
Praat 编程基础
王华朋 中国刑警学院声像系
Huapeng.wang@gmail.com
Praat scripting
• Praat 是一个语音分析软件 • 可以在多个平台上运行 (Windows, Macintosh, Unix, Linux) • 可以在下面的网址免费下载 www.praat.org. • 包含代码编写语言
详细Praat编程指南
在下面网页(Praat web page):
http://www.fon.hum.uva.nl/praat/manual/Scripting.html
或者在Praat软件中寻找 Help | Praat intro Search: scripting
Keep in mΒιβλιοθήκη Baidund…
Script中的元素
备注 – 允许你描述每段脚本的功能 – 非常好,可以帮助自己和他人理解脚本
• 对测试和诊断程序也非常有用 • Praat 备注符号: # • Praat 忽略每行之前有#的语句 • 下面这行读入一个声音文件: Read from file... finger.wav • 下面这一行什么也不做! #Read from file... finger.wav
Praat scripts
• 可以完成手工可以完成的任何事
– 打开,保存,重命名文件,音频格式转换等. – 测量共振峰, F0, etc. – 合成时长, F0, etc. – 绘图 – 标注 – 提供冲击并记录响应 – 频谱分析,语图分析
为什么要在Praat中编程?
• • • • 节约时间 防止出错(typos, data transfer errors) 使错误快速的得到更改 允许你操作多个不同的参数
Let’s try it…
• 打开一个目录里的所有声音文件 • 可以手工打开(缓慢且痛苦) • 还可以用脚本打开: readin-filessimple.praat - Praat | Open script... - 选择合适目录,寻找下面的脚本 readin-files-simple.praat
创建一个新的脚本
• Praat | New script
历史记录
• Praat监测操作者手动做了哪些内容 • 如果你想完成一些操作,但对语法不确定, 按照以下来做 :
– 在脚本窗口: Edit | Clear history – 在对象窗口,选择要处理的对象,并进行需要 的操作。 (Query | Get duration) – 在脚本窗口,复制历史记录 (Edit | Paste history)
• 使用print命令打印错误信息在信息窗口,以寻找 bug. E.g.:
– print got here 'newline$’ – print ‘baseFile’ 'newline$’
• 修改和检测同时进行 • 备份可以使用的脚本
注意!
• • • • 不要删除或覆盖重要的文件! 脚本可以瞬间删除长期以来的工作积累 备份数据 当写或修改一个新脚本时,最好在一个临时的 路径总
• 以小写字符开始 • 不留空字符 • 字符变量必须以 ‘$’结尾
Script中的元素
• 函数(exist in Praat window menus)
– – – – Read from file… Write to file… Remove Play
一些函数只对在特定环境里的几种特定的对象有效 (e.g., Edit window).
• 修改一个已经存在的脚本比自己重新编写一个简单. • 网络上免费的网址:
http://www.icp.inpg.fr/~welby/PAGES/praat.html (Pauline Welby, in French and English) – http://www.cavi.univ-paris3.fr/ilpga/ED/student/stcg/#E (Cedric Gendrot, in French) – http://www.helsinki.fi/~lennes/praat-scripts (Mietta Lennes, in English) – http://www.icp.inpg.fr/%7Eloeven/ScriptsPraat.html (Hélène Loevenbruck, in French) – http://www.cphling.dk/pers/johtnd/praat/my_praat.htm (John Tøndering, in English) – http://www.ling.ohio-state.edu/~kyoon/scripts/praat (Kyuchul Yoon, in English)
Also, try a Google search.
打开一个 Praat script
• 在Praat中打开一个已经存在的脚本: Praat | Open script... • 注意: 与打开声音文件和标注文件(TextGrid files)不同 。(Read | Read from file…)
Loops 循环
• 运行命令和函数重复执行(比如文件列表) • 下面为循环命令: for, endfor repeat, until (还有其他的命令)
Bug 跟踪
• 错误信息可以是非常明显的… • 但经常不是这样的! • 实际中经常需要修改:
– 丢掉 $, 错误拼写/错误大小写变量, hard return in form, …
命名规则: - 经常以大写字符开头 - 可以包含空格 - 函数的参数放在三个点之后 (…)
Script中的元素
• 命令(specific to Praat scripting language)
– form, endform 建立对话框 – select 选择 – print 打印 – clearinfo – if, endif 条件 – for, endfor 循环 … 命名规则: - 以小写字符开头 - 一个单词
相关文档
最新文档