将TextGrid文件读入NLTK

时间:2013-10-12 23:11:53

标签: nltk praat

我正在尝试将TextGrid文件读入NLTK,但我遇到了一些麻烦。 我知道Textgrid有一个解析器(如下所示:http://nltk.googlecode.com/svn/trunk/nltk_contrib/nltk_contrib/textgrid.py)。

不幸的是,我是NLTK的新手,我不知道如何使用解析器。

非常感谢任何帮助。

2 个答案:

答案 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脚本。尽管它仍处于开发阶段,但目前支持大多数对象类型。