如何解析此格式(Praat TextGrid)

2024-09-19 20:37:17 发布

您现在位置:Python中文网/ 问答频道 /正文

TextGrid是Praat程序使用的“分段”文件。我想编写一个解析器来验证数据。我的问题是:

如何为这种格式编写解析器?一行一行读还是别的什么?这是已知格式吗?在

File type = "ooTextFile"
Object class = "TextGrid"

xmin = 0 
xmax = 93.0538775510204 
tiers? <exists> 
size = 3 

item []: 
    item [1]:
        class = "IntervalTier" 
        name = "diph" 
        xmin = 0 
        xmax = 93.0538775510204 
        intervals: size = 65 
        intervals [1]:
            xmin = 0 
            xmax = 1.300090702947846 
            text = "" 
        intervals [2]:
            xmin = 1.300090702947846 
            xmax = 1.5300845864661654 
            text = "ey_s" 
        intervals [3]:
            xmin = 1.5300845864661654 
            xmax = 3.4648692624493815 
            text = "" 

(然后以[4….n]的间隔对EOF重复此操作)


Tags: 文件数据text程序解析器size格式item
3条回答

自动prat的TextGrid文件解析器是一个小应用程序,用于解析Praat的TextGrid文件。解析的结果是保存在输出文本文件中的电子表格。输出文本文件可以由Excel等应用程序导入。TGP是一个灵活的程序,可以很容易地进行连续的扩展或修改,它目前能够分析特定类型的TextGrid文件。TGP的版本1.0读取的TextGrid文件具有以下项类型:word、phone和可选焦点。在

http://tgp.peremila.com/

TextGrid解析器已经存在,它是NLTK工具箱的一部分。Python文件在这里:

http://nltk.googlecode.com/svn/trunk/nltk_contrib/nltk_contrib/textgrid.py

更新的链接: https://github.com/nltk/nltk_contrib/blob/master/nltk_contrib/textgrid.py

另一种解决方案是使用这些Praat对象的JSON或YAML表示;然后对正确性进行解析是很简单的。在

我编写了两个Perl脚本来精确地实现这一点(转换from Praat to JSON/YAML,转换{a2}),这可能对这些任务很有用。在

这些脚本是我维护的名为^{}的插件的一部分,该插件通过CPrAN分发。这个实现有点像黑客,但它相当稳定,而且插件支持大多数你想使用的对象。欢迎发表评论。在

相关问题 更多 >