python如何生成textgrid文件
textgrid文件說(shuō)明
第一行是固定的:File type = "ooTextFile" 第二行也是固定的:Object class = "TextGrid" 空一行 xmin = xxxx.xxxx # 表示開(kāi)始時(shí)間 xmax = xxxx.xxxx # 表示結(jié)束時(shí)間 tiers? <exists> # 這一行固定 size = 4 # 表示這個(gè)文件有幾個(gè)item, item也叫tiers, 可以翻譯為'層', 這個(gè)值是幾,就表示有幾個(gè)item item []: item [1]: class = "IntervalTier" name = "phone" xmin = 1358.8925 xmax = 1422.5525 intervals: size = 104 intervals [1]: xmin = 1358.8925 xmax = 1361.8925 text = "sil" intervals [2]: xmin = 1361.8925 xmax = 1362.0125 text = "R" intervals [3]: ... intervals [104]: xmin = 1422.2325 xmax = 1422.5525 text = "sil" item [2]: class = "IntervalTier" name = "word" xmin = 1358.8925 xmax = 1422.5525 intervals: size = 3 intervals [1]: xmin = 1358.8925 xmax = 1361.8925 text = "sp"
textgrid文件中的size的值是幾就表示有幾個(gè)item, 每個(gè)item下面包含class, name, xmin, xmax, intervals的鍵值對(duì),
item中的size是幾就表示這個(gè)item中有幾個(gè)intervals, 每個(gè)intervals有xmin, xmax, text三個(gè)鍵值參數(shù).
所有item中的xmax-xmin的值是一樣的
代碼生成
#! /usr/bin/env python # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- # Name: demo # Author: yunhgu # Date: 2021/8/24 10:56 # Description: # ------------------------------------------------------------------------------- import textgrid # 讀取音頻文件給定最大時(shí)長(zhǎng) tg = textgrid.TextGrid(minTime=0, maxTime=2) print(tg.__dict__) tier_word = textgrid.IntervalTier(name="word", minTime=0., maxTime=2) # 添加一層,命名為word層 tier_phone = textgrid.IntervalTier(name="phone", minTime=0., maxTime=2) # 添加一層,命名為phone音素層 # 添加分割線 interval = textgrid.Interval(minTime=0, maxTime=2, mark="s") interval2 = textgrid.Interval(minTime=1, maxTime=2, mark="asdfas") tier_word.addInterval(interval) tier_phone.addInterval(interval2) # 添加到tg對(duì)象中 tg.tiers.append(tier_word) tg.tiers.append(tier_phone) print(tg.__dict__) # 寫(xiě)入保存 tg.write("1.TextGrid")
生成圖片樣例
問(wèn)題
一般意義上textgrid時(shí)間上是不可以有重疊部分的,textgrid,設(shè)置了嚴(yán)格性參數(shù),默認(rèn)為T(mén)rue.
因此如果允許時(shí)間上有重疊的話,可以:
tier_text = textgrid.IntervalTier(name="文本", minTime=min_time, maxTime=max_time) tier_text.strict = False
不論你在什么時(shí)候開(kāi)始,重要的是開(kāi)始之后就不要停止。不論你在什么時(shí)候結(jié)束,重要的是結(jié)束之后就不要悔恨。
到此這篇關(guān)于python如何生成textgrid文件 的文章就介紹到這了,更多相關(guān)python textgrid文件 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)圖像尺寸和格式轉(zhuǎn)換處理的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)圖像尺寸獲取和格式轉(zhuǎn)換處理的功能,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-04-04Python實(shí)現(xiàn)批量填補(bǔ)遙感影像的無(wú)效值NoData
這篇文章主要為大家介紹了如何基于Python中ArcPy模塊,對(duì)大量柵格遙感影像文件批量進(jìn)行無(wú)效值(NoData值)填充的方法,感興趣的小伙伴可以了解一下2023-06-06Python使用pylab庫(kù)實(shí)現(xiàn)畫(huà)線功能的方法詳解
這篇文章主要介紹了Python使用pylab庫(kù)實(shí)現(xiàn)畫(huà)線功能的方法,結(jié)合具體實(shí)例分析了Python使用pylab庫(kù)的相關(guān)函數(shù)實(shí)現(xiàn)畫(huà)線功能的操作技巧,并附帶說(shuō)明了相關(guān)函數(shù)與參數(shù)功能,需要的朋友可以參考下2017-06-06