# -*- coding:utf-8 -*-
import re
import os
import pymysql
from datetime import datetime, date, timedelta
import time
import shutil
import sys
import _thread
import json
import math
def getTextInfo():
pattern = re.compile('xmin = .*\n.*xmax = .*\n.*text = ".*"')
content = open('1.TextGrid').read()
m = pattern.findall(content)
num = 1
for i in m:
temp1 = i.split('\n')[0].strip().split('=')[1]
temp2 = i.split('\n')[1].strip().split('=')[1]
temp3 = i.split('\n')[2].strip().split('=')[1]
if temp3 == ' "旁白"':
min = math.trunc(float(temp1) * 1000)
max = math.trunc(float(temp2) * 1000)
newFile = str(num) + 'p'
cmd = "python3 split.py 1.wav %s %s ./pangbai/%s.wav"%(min,max,newFile)
print(cmd)
os.system(cmd)
elif temp3 == ' "男性对白"':
min = math.trunc(float(temp1) * 1000)
max = math.trunc(float(temp2) * 1000)
newFile = str(num) + 'm'
cmd = "python3 split.py ./1.wav %s %s ./man/%s.wav"%(min,max,newFile)
print(cmd)
os.system(cmd)
elif temp3 == ' "女性对白"':
min = math.trunc(float(temp1) * 1000)
max = math.trunc(float(temp2) * 1000)
newFile = str(num) + 'g'
cmd = "python3 split.py ./1.wav %s %s ./girl/%s.wav"%(min,max,newFile)
print(cmd)
os.system(cmd)
else:
pass
num=int(num)+1
if __name__ == '__main__':
getTextInfo()
python脚本根据文本内容切割音频
最新推荐文章于 2024-03-27 11:06:07 发布