模块 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-ratiosilence-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 版。

文档正在完善中,敬请期待。

VAD