XTTS 算法引擎,支持你使用自定义的提示音资源,用于在语音合成时可以与文本自由衔接播放,提升用户体验。
解压后为以下内容
┳ 提示音打包工具
┗┳ PCM/
┣ 提示音打包工具使用说明.docx
┣ xTTS_Prompt.irf
┣ CodecLib.lib
┣ ResampleLib.lib
┗ Prompt&Bgsound_ResBuilder.exe
要打包出一个提示音资源,需要包含以下内容
可以打包的提示音,需要使用格式为 16k16bit 单声道的 PCM 格式文件(在打包工具中提供了几个示例),放置在同一目录下。
在提示音目录下,新建一个 TextList.txt 的文件,编码为 utf-8,该文件代表当资源生效后,使用什么文本合成来触发合成提示音。文本内容只能为字母、下划线、数字的组合,如 ring1、ring_1 等。
同个目录下,新建一个 WaveList.txt 文件,编码为 utf-8,该文件与 TextList.txt 配合生效,每一行都是音频文件名,且与上一文件中的文本一一对应,代表那些文本所触发合成的音频文件是哪一个。
在打包工具目录下的 Prompt&Bgsound_ResBuilder.exe ,即可看到以下界面。
其中,提示音音频目录即包含提示音文件的目录。IRF 文件可以使用打包工具目录下的 xTTS_Prompt.irf 。
点击 Start 后等待进度条结束,打包好的资源会位于你的提示音目录下,名为 xTTS_Prompt.irf。
在 xtts 项目下,将打包好的 xTTS_Prompt.irf 复制到 resource/ 目录中。
然后打开 merge_conf.json ,内容如下
{
"origin": "res_qianqian.bin",
"merge": [
{
"name": "tones",
"file": "xTTS_Prompt.irf"
}
]
}
这里的 origin 字段代表你要将提示音资源合并到哪一个原有的算法资源中,你可以修改成你想要使用的发音人资源。
然后在命令行中输入
lisa zep build -t merge_res -- -DCONFIG_LICAK_RES_CONF=\"resource/merge_conf.json\" -DCONFIG_LICAK_RES_OUTPUT=\"merge.bin\"
执行完成后,将会在目录下生成一个 merge.bin 即为合并了提示音资源的算法资源。
烧录资源步骤可参考 开发指引-烧录资源 。烧录完成后,我们在串口终端中尝试播放提示音。
假设在我的设备中,烧录的提示音资源包含了一个 ring_1 的提示音,那么我就可以这么使用。

第一个命令会触发单独的提示音播放,第二个命令会触发播放完提示音后再去读 New message 。
注意:提示音和普通文本组合使用时,建议使用英文符号(例如
, . ;等)隔开,避免出现识别出错的情况。