Text To Sound
来自丢石头百科
| ||||||||||||||||||||||
| ||||||||||||||||||||||
|
目录
产品概述
- Text To Sound是一款基于SYN8086芯片制作的中文语音合成模块。本模块可通过UART接口,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换。转换后的音色清亮圆润。支持GB2312、GBK、UTF-8 和Unicode 四种编码方式,能识别数值、电话号码、时间日期、度量衡符号及自动识别多音字的读法并合成正确的读音。支持10级音量、30级语速、10级语调调节;多种文本控制标记,提升文本处理的正确率;多种播放控制,包括:合成、停止、暂停合成、继续合成。支持UART通讯方式;多种通讯波特率供选择;各项指标均满足室外严酷环境下的应用。可用于车载终端、考勤终端、公交报站、语音对讲等领域。
产品说明
- 工作电压:5V
- 通信接口:UART
- 本模块可通过与单片机的串口通信或者使用串口助手/上位机软件+串口模块完成发音操作,发送的指令格式为“5位帧头+文本”的方式,文本即为我们需要播放的内容。
- 音频输出:板载功放电路与喇叭,无需外接负载。
- 指示灯:板载一个电源指示灯与两个通信指示灯
- 支持波特率:9600bps、57600bps、115200bps,可通过拨码开关选择。
- 低功耗模式:支持 Deep Sleep模式。使用控制命令可以使芯片进入 Deep Sleep模式。
- 支持语音类型:
- 支持任意中文文本的合成。
- 支持英文字母的合成,遇到英文单词时按字母方式发音。
- 支持编码类型:支持GB2312、GBK、Unicode和UTF-8四种编码方式。详见编码说明
- 合成文本量:
- UTF-8编码:支持最多2000字节的文本合成。
- GB2312、GBK、UNICODE小头、UNICODE大头编码:支持最多4000字节的文本合成。
- 文本智能处理:对常见的数值、电话号码、时间日期、度量衡符号等格式的文本,芯片能够根据内置的文本匹配规则进行正确的识别和处理。
- 例如:“2012-05-01 10:36:28”读作 “二零一二年五月一日十点三十六分二十八秒”,“火车的速度是622km/h” 读作 “火车的速度是六百二十二公里每小时”,“-12℃”读作“零下十二摄氏度”。
- 多音字和姓氏处理:对存在多音字的文本,例如:“银行行长穿过人行道向骑着自行车的银行职员行走过去”,芯片可以自动对文本进行分析,判别文本中多音字的读法并合成正确的读音。
- 例如:“他是一位姓朴的朴素的韩国艺人。”,句中两个“朴”字前面一个读作“piao2”,后面一个读作“pu3”。
- 音量、语速、语调调整:支持10级音量控制、30级语速、10级语调调节;
- 提示音:集成了93种声音提示音,可用于不同行业不同场合的信息提醒、报警等功能。详见提示音说明
- 和弦提示音:14
- 兼容提示音:24
- 铃声提示音:19
- 提示音:19
- 报警提示音:8
- 刷卡提示音特殊提示音:7
- 客户提示音:2
- 支持多个发音人:提供两男、两女、一个效果器和一个女童、两个男童声共8个中文发音人,可以通过使用特殊标记[m?]来切换芯片的发音人。
- 多种文本控制标记:可通过发送“合成命令”发送文本控制标记,调节语速、语调、音量;还可以使用控制标记提升文本处理的正确率,如:设置句子的韵律、设置数字读法、设置姓氏读音策略、设置号码中“1”的读法等。详见控制标记说明
- 多种播放控制:控制命令包括合成文本、停止合成、暂停合成、恢复合成、状态查询、进入Deep Sleep模式。控制器通过通讯接口发送控制命令实现对芯片的控制。
- 查询芯片的工作状态:支持多种方式查询芯片的工作状态,包括:查询状态管脚电平、通过读芯片自动返回的回传、发送查询命令获得芯片工作状态的回传。
- 参考资料:提供上位机软件与部分开发板参考例程。
使用说明
命令帧格式
- 支持以下命令帧格式:“帧头FD + 数据区长度+数据区”格式。
- 上位机发送给芯片的所有命令和数据都需要用“帧”的方式进行封装后传输。
- 同一帧数据中,每个字节之间的发送间隔不能超过30ms;帧与帧之间的发送间隔必须超过30ms。
- 当模块正在合成文本的时候,如果又接收到一帧有效的合成命令帧,芯片会立即停止当前正在合成的文本,转而合成新收到的文本。
- 用户在连续播放文本内容时,在收到前一帧数据播放完毕的“芯片空闲”字节(即0x4F)后,最好延时1ms左右再发送下一帧数据。
- 更多命令说明详见串口命令说明
- 注意:本模块不支持《串口命令说明》中的这些命令:第3.5章“带背景音语音合成命令”、第4章“自定义文本相关命令”和第5章“MP3相关命令”
上位机
硬件准备
- PC 一台
- Text To Sound模块 一个
- CP2102 USB转TTL串口模块 一个
- 上位机软件仅能识别CP2102串口模块,否则会出现报错:“串口不存在或被占用,若电脑没有串口,请使用USB转串口设备”。
硬件连接
界面介绍
输入。
- 2、日志:用于显示当前的用户操作和芯片返回等信息,可以选择十六进制是否加0x显示,是否需要回传
解释,也可以清空操作。
- 3、通讯端口设置:用于选择端口号和设置通讯波特率,波特率默认为115200bps。
- 4、演示文本设置:分为【中文合成】和【中英合成】两个模式,本模块需选择【中英合成】模式。注:本模块不支持优质前导音的播放。
- 5、TTS属性设置:演示或评估语音合成功能时,设置语音合成的相关属性和参数。
- 6、自定义功能:本模块无此功能
- 7、控制操作:用于实现文本合成语音功能的各种相关控制操作,如合成、停止、暂停等。
- 8、直接编码发送:发送编码区:可以直接把十六进制文字编码拷贝到发送编码区,点“添加命令头播放(自动)”可以根据选择的编码自动为文字编码添加语音合成命令帧头,并发送给TTS模块。
按键说明
操作步骤
- 安装驱动
- 下载CP2102 Windows 通用驱动,解压后安装驱动,安装完成后在桌面【我的电脑】上右键单击/设备管理器/端口查看端口号。
- 通讯端口设置以及波特率配置方法
- 打开上位机软件,选择上一步安装驱动后生成的端口号,并进行波特率的选择,默认为115200bps。模块支持三种通信波特率:9600bps、57600bps、115200bps,可以通过调整板上拨码开关BAUD0、BAUD1进行硬件配置,0:表示低电平 1:表示高电平
- 输入文本
- 在“发送文本”框内编辑文本,或者将芯片的介绍文本、提示音文本等通过点击【演示文本】或【提示音】自动载入到“发送文本”的输入框内。
- 设置合成参数
- 可通过软件选择发音人,进行语速、语调、音量的调节(点击“恢复默认值”,可以将这几项设置恢复到默认值)。
- 发送合成命令
- 点击“合成”按钮,就可以听到“发送文本”输入框中的文字被合成为声音输出。
报错解决方案
- 运行“语音合成芯片_PC 端演示程序”报错,如下图。这是因为需要安装 MSCOMM32.OCX,在注册 ActiveX 控件时出错了,错误提示是 MSCOMM32.OCX 已加载,但是DllRegisterServer 调用失败。
- 解决方案:
- 将上位机软件文件夹整移动至桌面上,存储路径为“C:\Users\yousi\Desktop”,程序包含有“MSCOMM32.OCX”
- 按键盘上的 win+x 键调出常用命令,选择“Windows PowerShell(管理员)(A)”
- 在命令提示符中输入“regsvr32 "C:\Users\yousi\Desktop\语音合成芯片_pc端演示程序\1-文档及工具\MSCOMM32.OCX"”
- 输入完按回车键确定,会有成功提示,这样就表示我们注册成功了
- 启动 PC 端上位机程序未报错,则可正常使用。如遇到其它控件注册失败请按照此步骤注册就可以了,“C:\Users\yousi\Desktop\语音合成芯片_pc端演示程序\1-文档及工具\”目录下有所需要的控件。
Arduino
硬件连接
下载例程
- 打开参考例程中arduino_SYN8086文件夹下的程序。
- 根据实际使用的波特率修改波特率函数:serial2.begin(115200)
- 修改需要发声的文本,以及语音,语速等参数,更多参数详见控制标记说明
- 上传修改好的程序。
STM32
硬件连接
下载例程
- 打开参考例程中STM32F103C8T6_DEMO_SYN8086文件夹下的程序。
- 根据实际使用的波特率修改波特率函数:USART3_Init(115200)
- 修改需要发声的文本,以及语音,语速等参数,更多参数详见控制标记说明
- 编译修改好的程序,编译完成后下载.HEX文件。
参考资料
FAQ
|
|
|
|
|
|
|
|
|
|