语音合成是将文本传递给服务端,然后把服务端合成好的语音通过播放器播放出来的流程。

使用流程

语音合成完整的使用流程图如下。

语音合成 - 图1

音频播放

语音合成的功能实现中,音频的流式播放是核心功能,因为合成的语音会通过语音片段的形式,一边合成一边传递到浏览器来,但是如果等待所有片段收集完毕后播放,将会等待一个比较久的时间。而流式播放可以做得边接受合成数据边播放,类似直播的形式,体验上会强上许多。

为此我们基于 Web Audio API,实现了一个支持流式播放的音频播放器。

主要实现方式如图所示。

语音合成 - 图2