项目地址:https://gitee.com/ailemon/ASRT_SpeechRecognition
通过观察evaluate_speech_model.py的代码,知道DataLoader加载asrt_config.json配置项,进而加载数据内容。复制json配置文件,在数据类“dev”下填写数据集名(name)cus250118、数据路径(data_path)C:/Users/tellw/test/dev、数据列表文件(data_list)datalist/cus250118/val.wav.lst和音节列表文件(label_list)datalist/cus250118/val.syllable.txt
令DataLoader在加载数据的时候读取自定义的json配置文件
准备好转录文本不包含数字和英文字母的音频文件,转录文本满足上述条件的过滤方法:if re.search('[0-9a-zA-Z]',trans)
,处理方式来自找出文本中含有特定拼音的汉字序列
处理音频格式
import os
import subprocess
for file in os.listdir('dev1'):
subprocess.run(f'ffmpeg -i dev1/{file} -ar 16000 -ac 1 -c:a pcm_s16le dev/{file}',shell=True)
ASRT模型只处理16k帧率的音频
生成列表文件
import os
import re
import shutil
from pypinyin import pinyin,Style
lst_f=open('E:/ASRT_v1.3.0/datalist/cus250118/val.wav.lst','w',encoding='utf8')
syl_f=open('E:/ASRT_v1.3.0/datalist/cus250118/val.syllable.txt','w',encoding='utf8')
for file in os.listdir('dev'):
trans=os.path.splitext(file)[0].split('_')[1] # 音频文件名 %3d_trans.wav
trans=re.sub(r'\W','',trans)
syllables=[i[0] for i in pinyin(trans,style=Style.TONE3,neutral_tone_with_five=True)]
syllables=' '.join(syllables)
lst_f.write(f'{trans} {file}\n')
syl_f.write(f'{trans} {syllables}\n')
print(file)
创建于2501191935,修改于2501191936
标签:file,ASRT,cus250118,语音,import,trans,os,定义数据 From: https://www.cnblogs.com/tellw/p/18679841