我是靠谱客的博主 诚心皮皮虾,这篇文章主要介绍语音合成模块 文本转TTS 真人发音 SYN6288 §01 语音合成模块SYN6288b §02 模块测试 §03 测试控制命令 §00 测试结果总结 ,现在分享给大家,希望可以做个参考。

简 介: 测试了一款基于UYN6288的TTS模块。在开始使用ESP32-S对SYN6288进行控制的时候,出现了一些问题。具体原因还需要另外进行测试。

关键词 SYN6288TTSESP32-S文本转声音

 

§01 音合成模块SYN6288b


  开始的时候为了支持学生制作一款他们设计的作品,其中需要一种语音合成的模块。昨天(2021-05-15)在对 中文TTS文字转语音合成模块合成成品带喇叭 替代SYN6288和XFS5152 模块进行测试,遇到一些不可控制的,无法发声的情况。今天测试 SYN6288 TTS 模块

1.模块基本参数

(1)外部接口

▲ 模块组件Speeker, 模块以及外接排线

▲ 模块组件Speeker, 模块以及外接排线

【表1 模块外部接口】
PIN1PIN2PIN3PIN4PIN5PIN6PIN7
SPK-SPK++ 5VRXDTXDGNDBUSY
必须连接接口:
电源线:+ 5V ,GND
通信线:RXD
喇叭:SPK+,SPK-

(2)基本特点

  UNV6288是一款高集成度的语音合成模块,可实现中文、英文、数字的语音合成;并且支持用户的命令词或提示音的定制需求。该模块控制方式简单,是通过 TTL 串口发送GBK编码的形式,发送什么就播放什么。串口是 3.3V 电平,可兼容市面上主流 5V3.3V 单片机。

  支持任意中文、英文字母、阿拉伯数字的文本合成,并且支持中文、英文字母、数字的混读。模块支持中文 GBK编码集;支持大、小写英文字母。模块采用 UART通讯方式UART串口支持9600bps,发什么报什么,简单易用。支持状态显示用户的控制器能够清楚地了解模块是否正在合成播报,还是空闲状态。

2.模块开发资料:

(1)开发资料下载

  • **TTS** 经济板链接: https://pan.baidu.com/s/1MxyufjQgyaJZ3181VIXsxA
    提取码:UNVS

(2)基本连接方式

  • 典型链接1: 和USB-TTL模块链接。通过电脑串口助手发送数据播放。 5V5V GND—GND 模块的RXD接串口模块的TXD,如果是模块,需要接上喇叭,其他线可不接。

      打开串口调试助手,波特率为 9600 ,如果想要播放你好,直接通过串口助手发送你好即可。

  • 典型接线2: 和51单片机连接,通过程序播放。 5V - 5V GND-GND,模块的RXD接P31(TXD),如果是模块,需要接上喇叭,其他线可不接。

      初始化单片机串口,波特率为 9600 ,利用51单片机串口发送函数发送数据即可播放。

(3)串口通讯参数

串口配置:
波特率:9600bps
数据格式:起始位1,数据8,停止位1
校验:无


 

§02 块测试


  上面的资料说明来看,UNV6288模块的外部接口、通讯命令等都与昨天博文 中文TTS文字转语音合成模块合成成品带喇叭 替代SYN6288和XFS5152 测试相同,所以使用昨天博文相同的测试ESP32-S 模块对于SYN6288进行测试。

1.焊接外部接口

  使用自带的100mil的插针焊接到UNV6288模块的接口上。其中为了连接喇叭方便,将对应的2PIN焊接在上面,其他的5PIN韩姐在下面便于插在面包板上完成试验线路的连接。

▲ **UNV6288**外部接口定义

▲ <font color=red>**UNV6288**</font>外部接口定义

2.连接ESP32-S转接模块

  使用 ESP32-S模块转接板设计与实现 中的转接板来与TTS模块的串口相连。

  由于ESP32-S工作电源为 3.3V ,而TTS模块工作电压为 5V 。所以他们分别使用USB电源以及外部DH1766提供的+5V电源。

▲ 使用ESP32-S测试模块

▲ 使用ESP32-S测试模块

  给TTS上电之后,它会自动发出开机的和弦声调。

3.测试软件

(1)MicroPython 测试软件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
from machine import Pin import time from machine import UART LED1 = Pin(5, Pin.OUT) LED2 = Pin(18, Pin.OUT) uart2 = UART(2, baudrate=9600, tx=17, rx=16) uart2.write(b'<V>4') uart2.write(b'<S>3') while True: uart2.write(b'1234') time.sleep(5)

  当输入“1234”,TTS会发出正确的声音。但改换成其它自负的时候,发出的声音就会出现错误。无法播报汉字。

(2)是否因为UART电平不对?

  出现这种情况,是否由于ESP32-S发送的UART的信号为3.3V的信号,无法驱动SYN6288?

  但是根据UN6288的说明书,它的串口为3.3V电平,可以兼容5V,3.3V的单片机。

4.直接使用MAX2323转换RS232

  使用MAX2323转换模块将RS232端口转换成TTL-UART。

【表2 TTL-UART转换模块接口】

(1)连接TTL-UART模块与TTS

PIN1PIN2PIN3PIN4PIN5
+5VRXDTXDRTSGND

  连接PIN3与TTS的RXD。

▲ 使用MAX2323转换模块连接**TTS**

▲ 使用MAX2323转换模块连接<font color=red>**TTS**</font>

(2)测试程序

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/local/bin/python # -*- coding: gbk -*- #============================================================ # TEST2.PY -- by Dr. ZhuoQing 2021-05-15 # # Note: #============================================================ from head import * import serial from _ast import Or from serial.serialutil import SerialException #------------------------------------------------------------ sport = serial.Serial() sport.baudrate = 9600 sport.timeout = 0.05 try: sport.port = 'COM1' except: printf('Set sport port COM1 error. ') try: sport.open() except serial.serialutil.SerialException: printf('Open sport port COM1 error.') else: printf('Open sport port COM1 Ok.') #------------------------------------------------------------ while True: sport.write(bytes('欢迎您。', 'gbk')) time.sleep(3) #------------------------------------------------------------ # END OF FILE : TEST2.PY #============================================================

(3)测试结果

  实验验证SYN6288可以正确读出数字、汉字、字母等。

 

§03 试控制命令


1.音量设置

  • 命令格式:
      发送””+音量等级 设置音量播报,可设置1-4级音量

  • 示例代码: 代码如:printf(“<V>3”); 设置音量为3。系统默认为4,为最高音量。

2.语速设置

  • 命令格式:
      发送”<S>”+语速值 设置语速,可设置1-3级语速

  • 示例代码: 代码如:printf(“<S>3”); 设置语速为3。系统默认为2,为中速。

3.音效播放控制

  内置8种音效,编号为0-7。

  • 命令控制:
      发送””+编号 控制播放内置音效

  • 示例代码: 代码如:printf(“<Z>0”); 播报编号为0的音效

4.数字以及相关标点

  一般数字按顺序进行播报,如“123”读成“一二三”。

  日期、时间、百分号的数字按数字规则,如“2020-02-14”读成“二零二零年二月十四日”、“08:56”读成“八点五十六分”、“25%”读成“百分之二十五”。

  注:标准日期格式“2020-02-14”、标准时间格式“12:30”,才会按日期、时间处理,简写和非标准顺序都不会按日期读音处理后读出。

 

§00 试结果总结


  试了SYN6288的使用方法。

  通过测试验证了在最初使用ESP32-S输出UART控制SYN6288出现的问题,都在ESP32-S的UART输出问题。进一步讨论究竟ESP32-S输出的UART信息究竟在哪些方面与RS232不同,这需要之后进一步通过测试来验证。

▓ 补充说明1:

在博文: ESP32-S的UART2的初始化需要注意的问题 对于前面实验中使用ESP32-S的UART2控制TTS过程中出现的问题进行探索,初步找到了解决问题的方案,但具体原因并不是完全了解。

 


  ■ 相关文献链接:

  • 中文TTS文字转语音合成模块合成成品带喇叭 替代SYN6288和XFS5152
  • SYN6288 TTS 模块
  • ESP32-S模块转接板设计与实现
  • ESP32-S的UART2的初始化需要注意的问题

最后

以上就是诚心皮皮虾最近收集整理的关于语音合成模块 文本转TTS 真人发音 SYN6288 §01 语音合成模块SYN6288b §02 模块测试 §03 测试控制命令 §00 测试结果总结 的全部内容,更多相关语音合成模块内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部