我是靠谱客的博主 诚心皮皮虾,最近开发中收集的这篇文章主要介绍语音合成模块 文本转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 测试软件

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)测试程序

#!/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 测试结果总结 的全部内容,希望文章能够帮你解决语音合成模块 文本转TTS 真人发音 SYN6288 §01 语音合成模块SYN6288b §02 模块测试 §03 测试控制命令 §00 测试结果总结 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部