Text To Sound

来自丢石头百科
Text To Sound
Text To Sound 示意图.png
基本信息

分类: 音频模块 传感器

品牌: 丢石头

功能简介
特性
  • 语音合成模块

接口

UART接口

相关产品

{{{related}}}

产品概述

  • Text To Sound是一款基于SYN8086芯片制作的中文语音合成模块。本模块可通过UART接口,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换。转换后的音色清亮圆润。支持GB2312、GBK、UTF-8 和Unicode 四种编码方式,能识别数值、电话号码、时间日期、度量衡符号及自动识别多音字的读法并合成正确的读音。支持10级音量、30级语速、10级语调调节;多种文本控制标记,提升文本处理的正确率;多种播放控制,包括:合成、停止、暂停合成、继续合成。支持UART通讯方式;多种通讯波特率供选择;各项指标均满足室外严酷环境下的应用。可用于车载终端、考勤终端、公交报站、语音对讲等领域。

产品说明

  • 工作电压:5V
  • 通信接口:UART
    • 本模块可通过与单片机的串口通信或者使用串口助手/上位机软件+串口模块完成发音操作,发送的指令格式为“5位帧头+文本”的方式,文本即为我们需要播放的内容。
  • 音频输出:板载功放电路与喇叭,无需外接负载。
  • 指示灯:板载一个电源指示灯与两个通信指示灯
  • 支持波特率:9600bps、57600bps、115200bps,可通过拨码开关选择。
    • Text To Sound 产品说明1.png
  • 低功耗模式:支持 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?]来切换芯片的发音人。
    • Text To Sound 产品说明2.png
  • 多种文本控制标记:可通过发送“合成命令”发送文本控制标记,调节语速、语调、音量;还可以使用控制标记提升文本处理的正确率,如:设置句子的韵律、设置数字读法、设置姓氏读音策略、设置号码中“1”的读法等。详见控制标记说明
  • 多种播放控制:控制命令包括合成文本、停止合成、暂停合成、恢复合成、状态查询、进入Deep Sleep模式。控制器通过通讯接口发送控制命令实现对芯片的控制。
  • 查询芯片的工作状态:支持多种方式查询芯片的工作状态,包括:查询状态管脚电平、通过读芯片自动返回的回传、发送查询命令获得芯片工作状态的回传。
  • 参考资料:提供上位机软件与部分开发板参考例程。

使用说明

命令帧格式

  • Text To Sound 命令说明.png
  • 支持以下命令帧格式:“帧头FD + 数据区长度+数据区”格式。
  • 上位机发送给芯片的所有命令和数据都需要用“帧”的方式进行封装后传输。
  • 同一帧数据中,每个字节之间的发送间隔不能超过30ms;帧与帧之间的发送间隔必须超过30ms。
  • 当模块正在合成文本的时候,如果又接收到一帧有效的合成命令帧,芯片会立即停止当前正在合成的文本,转而合成新收到的文本。
  • 用户在连续播放文本内容时,在收到前一帧数据播放完毕的“芯片空闲”字节(即0x4F)后,最好延时1ms左右再发送下一帧数据。
  • 更多命令说明详见串口命令说明
    • 注意:本模块不支持《串口命令说明》中的这些命令:第3.5章“带背景音语音合成命令”、第4章“自定义文本相关命令”和第5章“MP3相关命令”

上位机

硬件准备

  • PC 一台
  • Text To Sound模块 一个
  • CP2102 USB转TTL串口模块 一个
    • 上位机软件仅能识别CP2102串口模块,否则会出现报错:“串口不存在或被占用,若电脑没有串口,请使用USB转串口设备”。

硬件连接

  • Text To Sound 上位机1.png

界面介绍

  • Text To Sound 上位机2.png
  • 语音合成功能的文本控制:
  • 1、发送文本:用于输入和编辑发送文本,也可以载入内置的演示文本,载入提示音,可以点“清空”重新

输入。

  • 2、日志:用于显示当前的用户操作和芯片返回等信息,可以选择十六进制是否加0x显示,是否需要回传

解释,也可以清空操作。

  • 3、通讯端口设置:用于选择端口号和设置通讯波特率,波特率默认为115200bps。
  • 4、演示文本设置:分为【中文合成】和【中英合成】两个模式,本模块需选择【中英合成】模式。注:本模块不支持优质前导音的播放。
  • 5、TTS属性设置:演示或评估语音合成功能时,设置语音合成的相关属性和参数。
  • 6、自定义功能:本模块无此功能
  • 7、控制操作:用于实现文本合成语音功能的各种相关控制操作,如合成、停止、暂停等。
  • 8、直接编码发送:发送编码区:可以直接把十六进制文字编码拷贝到发送编码区,点“添加命令头播放(自动)”可以根据选择的编码自动为文字编码添加语音合成命令帧头,并发送给TTS模块。

按键说明

  • Text To Sound 上位机3.png

操作步骤

  • 安装驱动
    • 下载CP2102 Windows 通用驱动,解压后安装驱动,安装完成后在桌面【我的电脑】上右键单击/设备管理器/端口查看端口号。
  • 通讯端口设置以及波特率配置方法
    • 打开上位机软件,选择上一步安装驱动后生成的端口号,并进行波特率的选择,默认为115200bps。模块支持三种通信波特率:9600bps、57600bps、115200bps,可以通过调整板上拨码开关BAUD0、BAUD1进行硬件配置,0:表示低电平 1:表示高电平
    • Text To Sound 产品说明1.png
  • 输入文本
    • 在“发送文本”框内编辑文本,或者将芯片的介绍文本、提示音文本等通过点击【演示文本】或【提示音】自动载入到“发送文本”的输入框内。
  • 设置合成参数
    • 可通过软件选择发音人,进行语速、语调、音量的调节(点击“恢复默认值”,可以将这几项设置恢复到默认值)。
  • 发送合成命令
    • 点击“合成”按钮,就可以听到“发送文本”输入框中的文字被合成为声音输出。

报错解决方案

  • 运行“语音合成芯片_PC 端演示程序”报错,如下图。这是因为需要安装 MSCOMM32.OCX,在注册 ActiveX 控件时出错了,错误提示是 MSCOMM32.OCX 已加载,但是DllRegisterServer 调用失败。
    • Text To Sound 上位机4.png
  • 解决方案:
    • 将上位机软件文件夹整移动至桌面上,存储路径为“C:\Users\yousi\Desktop”,程序包含有“MSCOMM32.OCX”
      • Text To Sound 上位机8.png
    • 按键盘上的 win+x 键调出常用命令,选择“Windows PowerShell(管理员)(A)”
      • Text To Sound 上位机5.png
    • 在命令提示符中输入“regsvr32 "C:\Users\yousi\Desktop\语音合成芯片_pc端演示程序\1-文档及工具\MSCOMM32.OCX"”
      • Text To Sound 上位机6.png
    • 输入完按回车键确定,会有成功提示,这样就表示我们注册成功了
      • Text To Sound 上位机7.png
    • 启动 PC 端上位机程序未报错,则可正常使用。如遇到其它控件注册失败请按照此步骤注册就可以了,“C:\Users\yousi\Desktop\语音合成芯片_pc端演示程序\1-文档及工具\”目录下有所需要的控件。

Arduino

硬件连接

  • Text To Sound arduino1.png

下载例程

  • 打开参考例程中arduino_SYN8086文件夹下的程序。
  • 根据实际使用的波特率修改波特率函数:serial2.begin(115200)
  • 修改需要发声的文本,以及语音,语速等参数,更多参数详见控制标记说明
    • Text To Sound arduino2.png
  • 上传修改好的程序。

STM32

硬件连接

  • Text To Sound stm1.png

下载例程

  • 打开参考例程中STM32F103C8T6_DEMO_SYN8086文件夹下的程序。
  • 根据实际使用的波特率修改波特率函数:USART3_Init(115200)
  • 修改需要发声的文本,以及语音,语速等参数,更多参数详见控制标记说明
    • Text To Sound stm2.png
  • 编译修改好的程序,编译完成后下载.HEX文件。

参考资料

FAQ

问题:
可以识别声音吗?有什么用?
答复:

不可以语音识别,这是语音合成,即 文本转声音,发送文本给模块它播放对应的声音。如应用于公交车报站、排队叫号、取餐叫号等语音播报场景。


问题:
可以录音吗?可以转换成MP3文件吗?能保存吗?
答复:

不能够录音,也不能转换为MP3文件,是实时播放的模块,发送文本立刻部分,不能保存。


问题:
怎么使用?复杂吗?
答复:

可以通过配套电脑软件发送文本,或者用单片机串口通信发送文本。单片机程序简单懂串口通信即可。电脑控制的话连接好就可以,无需基础。


问题:
用单片机怎么控制它?可以合成英文吗?
答复:

单片机通过串口向语音模块发送“5字节帧头+文本”的格式数据,他就可以播放对应文本的声音,只支持中文。遇到英文会按照英文字母的方式朗读。


问题:
只可以用电脑测试吗?
答复:

本模块除了可以用电脑测试,也可以用单片机进行结合使用,电脑亦通过串口发送数 据,只要具备串口通信功能的设备都可以使用注意需要为TTL电平。



Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)