在Java - TTS应用程序中尽可能顺利地播放ogg语音

时间:2012-02-25 12:12:06

标签: java text-to-speech smooth-streaming

我正在为我自己的Java语言开发一个文本到语音(TTS)(它是一个以前没有开发过的最终项目,因此我不能使用内置类)。

我可以识别输入文字的双音素。

为了播放,我在输入文本分析完成后将双音素放入数组中。在此基础上,我根据数组中的双音素(逐个)播放音频文件(采用ogg格式)。

我想问的是,您如何看待这种播放单独双音素的方法? 现在,我正试图平滑每个音频剪辑的播放之间存在(大)间隙。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在双音素合成中,通常将双音素分离到手机中间,它是最稳定的,并以这种方式将它们拼接在一起。因此,例如,要合成单词“meeting”,我将从m iy电话(在ARPAbet符号中)开始,然后在iy的中间切断它并拼接成{{1两个手机被分成两半的双音素,依此类推,以iy dx双音素结束ix ng已完成。

为了做到这一点,你需要知道每个.ogg中的时间索引,它对应于连续电话的中间或者关闭和释放停止之间的差距。