跳转至

语音合成TTS算法

语音合成算法是一种将文本转换为声音信号的技术,又称为文本转换语音技术(TextToSpeech,TTS),多应用于ETC、公交智能报站器、叫号系统等领域。

1. 文本合成TTS算法涉及前端算法模型和相关库文件,firmware文件请替换external\firmware参考\tts\firmware。

2.算法功能配置步骤如下:

打开CI13XX_SDK_ALG_PRO_Vx.x.x\project_file\makefile文件,对CI_ALG_TYPE修改为CI_ALG_TYPE := $(USE_TTS)

CI_ALG_TYPE变量和算法功能对应说明请参考:算法功能使用说明

3. 该算法参数宏说明在projects\CI13XX_SDK_ALG_PRO_Vx.x.x\app\app_main\user_config.h文件中

//TTS文本合成通信串口号
#define UART_TTS_NUMBER         HAL_UART1_BASE  
//TTS文本合成通信串口中断号        
#define UART_TTS_IRQ            UART1_IRQn     
//TTS文本合成通信串口波特率         
#define UART_TTS_BAUDRATE       UART_BaudRate115200     

4. 语音芯片和上位机串口通信协议说明☞TTS上位机和语音芯片通信串口协议_V1.xlsx

说明:上位机按照协议发送文本合成指令,合成后的音频会直接通过语音芯片播放出来(用户无法获取到播放的音频数据)

5. 该算法Demo使用涉及”启英泰伦-语音开发工具”,请前往启英泰伦语音AI平台开发资料中下载获取chipintelli-audio-tools_vx.x.x.exe 语音开发工具

5.1 打开启英泰伦-语音开发工具,选择 TTS串口工具功能,通信串口配置与代码中TTS串口配置一样后打开串口。

图3-4 通信串口配置

5.2 输入待合成文本或加载默认文本后,点击开始合成 ,工具将把光标起始后的文本内容使用通信串口发送协议数据给语音芯片,芯片通过日志串口打印出文本信息并进行播报。

图3-5 加载文本开始合成

注意

  1. 文本合成TTS算法,涉及收费,需烧录license,具备license的芯片正常运行,无license的芯片每10秒会进行复位,如有量产需求,请联系启英泰伦商务。
  2. TTS串口接收数据支持GB2312编码格式,GB2312将转换utf-8格式进行后续处理。
  3. 从端接收协议buffer大小限制,协议数据长度请不要超过3000个字节,超出协议数据可能会解析出错。