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