TextGridTools
TextGridTools copied to clipboard
Loading fails if `DEL` present in multi-line interval annotation
The following TextGrid does not load: DEL.TextGrid.txt
If either the DEL
(ASCII 7f
) character or the newline is removed from the annotation, the file loads fine, but if both are present I get
>>> tgt.io.read_textgrid('DEL.TextGrid')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/daniel/.local/lib/python3.8/site-packages/tgt/io3.py", line 51, in read_textgrid
return read_long_textgrid(filename, stg, include_empty_intervals)
File "/home/daniel/.local/lib/python3.8/site-packages/tgt/io3.py", line 158, in read_long_textgrid
num_obj = int(get_attr_val(stg[index + 5]))
IndexError: list index out of range
It looks like the issue is that the parser assumes that if there is a newline in an annotation, then it will be the last character before the quotation, but the textgrid that raised the issue for some reason had a DEL
after the \n
. (It's also entirely unclear to me why Praat generated this in the file.)
Could you perhaps provide a sample file where the problem occurs?
That's DEL.TextGrid
from the post (added .txt
so github would allow it).