我正在尝试将TextGrid文件读入NLTK,但我遇到了一些麻烦。 我知道Textgrid有一个解析器(如下所示:http://nltk.googlecode.com/svn/trunk/nltk_contrib/nltk_contrib/textgrid.py)。
不幸的是,我是NLTK的新手,我不知道如何使用解析器。
非常感谢任何帮助。
答案 0 :(得分:2)
不幸的是,知道NLTK没有帮助:我看了一下textgrid的源代码,尽管它是由NLTK的核心团队编写的,但它与其他NLTK“语料库读者”没有任何共同之处。我建议你在源代码中研究文件头并进行一些实验 - 文档本来就足够了。
为了帮助您入门:看起来您可以通过将打开的文件指针传递给类TextGrid
的构造函数来加载TextGrid文件:
fp = open("grid_file.praat")
grid = TextGrid(fp)
for tier in grid:
# do something with the Tier object
PS。这不是一个非常完整的答案,但我不能在评论中包含代码段。
答案 1 :(得分:0)
派对有点晚了,但我来了:
您可以将TextGrid
对象保存为JSON文件,并使用this answer中的标准python库将其读入NLTK。
Praat不包括(此时)JSON转换器,但[完全免责声明]我一直在研究一个应该完成这项工作的脚本。它是我维护的较大插件的一部分,可以从github repository下载。
安装插件后,您可以通过运行
来使用它runScript: preferencesDirectory$ + "/plugin_jjatools/save_as_json.praat",
..."/output/path", "Data stream", "Pretty printed"
该脚本基本上在后台调用perl script,这可以完成大部分的工作,因此您也可以直接运行perl脚本。尽管它仍处于开发阶段,但目前支持大多数对象类型。