按TextGrid来切割音频

from pydub import AudioSegment
import re
f=open("0.TextGrid","r",encoding='utf-8')
#w=open('label','w')
file_name = "0.wav"
sound = AudioSegment.from_mp3(file_name)
f.readline()
time_start=0
time_end=0
wav_id=0
for line in f:
    line=line.strip()
    if(re.match("xmin = (.*)", line) != None):
        start0bj=re.match("xmin = (.*)", line)
        time_start=float(start0bj.group(1))*1000
    if(re.match("xmax = (.*)", line) != None):
        end0bj=re.match("xmax = (.*)", line)
        time_end=float(end0bj.group(1))*1000
    if(re.match("text = (.*)", line) != None):
        text0bj=re.match("text = (.*)", line)
        text=text0bj.group(1) 
        if(len(text)>2):
            save_name =str(wav_id)+".wav"
            wav_id+=1
            #print(time_start,"-",time_end,":",text,save_name)
            #w.write(text+'('+save_name+")\n")
            word=sound[time_start:time_end]
            word.export(save_name, format="wav")

 

 按顺序切并给音频按0-N.wav这种编名 .  去掉#号就是提取相应wav的label

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值