对TIMIT数据进行格式转换(SPHERE2WAV(RIFF))


首先,转换sph2pipe工具所在文件夹(此工具为LDC所提供的SPHERE音频文件转换工具)
cd '/home/dream/Research/kaldi-master/tools/sph2pipe_v2.5'
其次:在命令行进行音频文件转换测试:
./sph2pipe -f wav ./wav_test/SA1.WAV ./wav_test/SA1_tr.WAV
此处需要注意的是,sph2pipe可执行文件不再PATH当中,所以需要当前路径下的完全路径,即:./sph2pipe才可以运行,而非sph2pipe。

1.由批处理python脚本生成转换文件
具体的:

# encoding:utf-8
import os
import os.path

root_dir = "/home/dream/Research/Data/TIMIT/"

timit_path = "/home/dream/Research/Data/TIMIT/"
# 文件保存路径

sph2pipe_path = "/home/dream/Research/kaldi-master/tools/sph2pipe_v2.5/sph2pipe"
# sph2pipe工具所在路径

f = open("/home/dream/Research/Data/timit_sph2pipe/make_sph2pipe_file.txt", 'w')

for root, dirs, files in os.walk(root_dir):
	for fn in files:
		if fn[len(fn)-3:len(fn)]=='WAV':
			sourcefile = timit_path+root[len(root_dir):]+"/"+fn
			targetfile = root[len(root)-5:len(root)]+"_"+fn
			s = sph2pipe_path + " -f wav " + sourcefile+" "+targetfile+"\n"
			f.write(s.replace('\\','/'))
f.close()

由上述脚本,可以生成对应的txt格式的转换文件
2.在linux下运行shell脚本文件,读取转换文件进行数据转换

# 逐行执行make_sph2pipe_file.txt当中的命令
filename='/home/dream/Research/Data/timit_sph2pipe/text.txt'
while read line
do 
	echo $line
	$line
        # 此处$line进行逐行执行代码 
done < $filename


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM