模块 API
mod_wsstream 模块文档
mod_wsstream 是一个处理 websocket 以及语音合成(tts)的模块。
火山 TTS
火山引擎中包含 TTS 服务,其中在线语言合成 API 的文档地址为 https://www.volcengine.com/docs/6561/79821
mod_wsstream 模块中增加了 tts 引擎 volengine
, volengine
tts 引擎使用了火山 tts 的 websocket api。
调用示例:
这里以一个系统路由为例,先执行 app answer
,然后调用 speak
执行 tts 引擎。
answer speak volengine|defualt|火山引擎TTS,这是一个测试字符串。
配置文件
<configuration name="volcengine.conf" description="volcengine configuration"> <tts> <param name="tts-url" value="wss://openspeech.bytedance.com/api/v1/tts/ws_binary"/> <param name="cluster" value="volcano_tts"/> <param name="appid" value=""/> <param name="token" value=""/> <param name="disable-cache" value="true"/> <param name="tts-file-ext" value="wav"/> <param name="token-expires" value="36000"/> <!-- default value --> <param name="volume" value="50"/> <!-- [0, 100] --> <param name="speed-rate" value="0"/> <!-- [-500, 500] --> <param name="pich-rate" value="0"/> <!-- [-500, 500] --> <!-- force rate, comment out to use native session rate --> <!-- <param name="rate" value="24000"/> --> <!-- [0.2, 3] --> <!-- <param name="speed-ratio" value="1.0"/> --> <!-- [0.1, 3] --> <!-- <param name="volume-ratio" value="1.0"/> --> <!-- [0.1, 3] --> <!-- <param name="pich-ratio" value="1.0"/> --> <!-- <param name="emotion" value="happy"/> --> <!-- language, cn, ... --> <!-- <param name="language" value="cn"/> --> <!-- silence duration in ms --> <!-- <param name="silence_duration" value="125"/> --> </tts> </configuration>
- tts-url: 是火山 websocket 语音合成的地址。
- cluster: 业务集群,如果使用火山内部的音色选择
volcano_tts
, 如果使用复制音色需要设置成volcano_mega
,参考火山引擎文档。 - appid: 是火山引擎的 appid,如何获取参考 火山引擎文档。
- token: 是火山引擎的 token,同上。
- disable-cache: 是否禁用缓存。
- tts-file-ext: 语音合成缓存文件扩展名。
- token-expires: token 过期时间。
- volume: 音量。
- speed-rate: 语速。
- pich-rate: 音调。
参数说明
除了上述配置文件中的参数之外,还可以在调用 speak
命令传入文字的的同时携带临时参数。 该参数只会在当前这句话中生效。
例子:
speak volengine|default|{speed-ratio=1.5,silence-duration=125}测试语句。
这里的 speed-ratio
和 silence-duration
会覆盖配置文件中的参数。
所有的临时参数如下:
- voice:
string
音色。 - silence-duration:
int
这个语句最后的静音时长,单位是毫秒。 - speed-ratio:
float
语速,范围是[0.2, 3]
,默认值 1,保留一位小数。 - volume-ratio:
float
音量,范围是[0.1, 3]
,默认是 1,保留一位小数。 - pich-ratio:
float
音调,范围是[0.1, 3]
默认是 1,保留一位小数。 - emotion:
string
情感/风格,参考 火山引擎文档。 - language:
string
语言类型,参考 火山引擎文档。 - cluster:
string
集群名称,复制音色使用volcano_mega
, 内置音色使用volcano_tts
,参考火山引擎文档。
AISTREAM
基于 WebSocket 的 AI 流媒体通信协议。本协议目前处于 Beta 版。
文档正在完善中,敬请期待。