我正在尝试使用lua和基于CMU字典的预先录制的音素来制作一个像样的语音合成/文本到语音系统:
到目前为止,我是如何做到的,一旦玩家输入文本,它就会遍历每个单词,并从这里获得他们的音素设置:
然后,它播放每个单词的每个音素集,每次一个,在播放下一个音素之前具有恒定的时间偏移量。
也就是说,
if Phoneme.TimePosition>=_end-(_end-_start)*0.4 then
音素是与音素对应的声音对象(我用麦克风录制了39个音素,并将声音对象链接到相应的文件),当然,_end是声音文件长度,_start是0
结果如下:
虽然这并不完全可怕,但听起来还是很糟糕,