我需要从wav文件中删去一些小片段(音素),大约是0.1秒(例如0.3698125-0.466125)
我用的是wave模块,但它无法处理:-/有人知道如何处理它吗?在
此脚本应打开文件,剪切片段并将其添加到新脚本中
data = fonemy[fonem][0] = start, end, path ([0.3698125, 0.466125, u'hds/data/speech_16kHz/utt001.wav'])
frames = ""
text = "hello"
for fonem in text:
data = fonemy[fonem][0]
win = wave.open(data[2], 'rb')
wout = wave.open('segment.wav', 'wb')
wout.setparams(win.getparams())
t0 = data[0]
t1= data[1]
s0, s1= int(t0*win.getframerate()), int(t1*win.getframerate())
win.readframes(s0) # discard
frames = frames + win.readframes(s1-s0)
wout.writeframes(frames)
不清楚您所说的“它不能处理它”是什么意思,但这里的一个问题是,您试图使用
float
读取帧,但只能读取整数帧:读一部分音频样本是没有意义的。弄清楚您是否需要多一个或少一个帧值的数据,并根据需要舍入到下一个更高或更低的帧数:
^{pr2}$相关问题 更多 >
编程相关推荐