热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:中文TTS文字转语音合成模块合成成品带喇叭替代SYN6288和XFS5152

篇首语:本文由编程笔记#小编为大家整理,主要介绍了中文TTS文字转语音合成模块合成成品带喇叭替代SYN6288和XFS5152相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了中文TTS文字转语音合成模块合成成品带喇叭 替代SYN6288和XFS5152相关的知识,希望对你有一定的参考价值。








简 介: 初步测试了一款非常简单的语音模块。使用ESP32的串口作为控制模块发声的控制器。在测试过程中出现读音错误的情况,具体原因还需要之后进一步进行查找。

关键词: TTS,ESP32,声音模块


 




§01 文文字转语音


  初是为了支持学生制作一款他们的设计作品,需要设计到语音合成的目标板。现在从 TB购买到一款模块 ,准备进行测试。下面就是购买到的中文TTS文字转语音合成模块。

▲ 购买到的中文TTS文字转语音合成模块



▲ 购买到的中文TTS文字转语音合成模块


1.开发资料




开发资料:


百度网盘下载了解:
https://pan.baidu.com/s/1z2nrEr-MvIl9ZdkbGG1ZUQ


提取码:pa29


2.板上主要芯片

  在语音模块内部的电路板上,主要有三个集成芯片。




集成芯片信息:


MX25L6445:
MX25L6446 3V,64Mb 串口Flash


XS8002D:
XS8002D 是一款带有自关断的音频IC。(
已经停产)


SSOP20:表面打磨的芯片,型号不详。估计是一颗MCU。

▲ 语音模块内聚结构以及外部接口



▲ 语音模块内聚结构以及外部接口


3.接口功能定义



【表1-1 对外接口颜色功能】

引线PIN1PIN2PIN3PIN4
颜色
功能+5VRXTXGND

▲ 内部对外接口连线的颜色



▲ 内部对外接口连线的颜色

  为了便于对TTS模块进行测试,将它原来的接口焊接成PIN100mil的接口。它的定义如下图所示。

▲ 外部新的接口功能定义



▲ 外部新的接口功能定义

▲ TTS模块功能定义



▲ TTS模块功能定义

  连接TTS与控制器的UART之间的方法如下图所示:

▲ TTS模块与控制串口的连接方式



▲ TTS模块与控制串口的连接方式




串口通信协议:


波特率:9600bps


起始位:1bit


数据位:8bits


停止位:1bits


校验:无

 




§02 试模块功能



1.UART接口平台

  使用 ESP32-S 转接板 的接口来调试TTS模块。在PIN19,20分别定义了ESP32的UART2(PIN19-RXD2, PIN20-TXD2)。下面通过基础实验来测试ESP32-PIN19,20的基本功能。

▲ 实验ESP32测试版



▲ 实验ESP32测试版


(1)ESP32-UART 管脚

  根据 MicroPython 中ESP32 UART模块 ,ESP32模块对应的GPIO管脚表格:
▲ ESP32 UART端口



▲ ESP32 UART端口

  使用UART2 对于 TTS模块进行控制。


(2)测试TX2程序

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)
while True:
LED1.off()
LED2.on()
time.sleep_ms(25)
LED1.on()
LED2.off()
time.sleep_ms(25)
uart2.write(b'U')

▲ 测量ESP32-S模块PIN20,GPIO17, TX2波形



▲ 测量ESP32-S模块PIN20,GPIO17, TX2波形


2.连接TTS

  将ESP-32S转移模块的PIN20(UART2-TXD)与TTS模块的TXD。

▲ 连接TTS模块与ESP32-S



▲ 连接TTS模块与ESP32-S

  对于TTS模块上电+5V时,它会输出一个三音和弦,然后处在静态,静态电流: 3.3mA


3.测试语言输出

from machine import Pin
import time
from machine import UART
uart2 = UART(2, baudrate=9600, tx=17, rx=16)
while True:
uart2.write(b'hello')
time.sleep(2)

  TTS则分别念出 “HELLO”。

  测试错误: 但是输出其它字符串的时候出现发生错误。

 




试总结 ※


  步测试了TTS的模块。它发出的声音比较生硬。对于输出汉字以及其它信息还存在一定问题。现在还不知道具体的错误原因是什么。


▓ 补充说明

  在 语音合成模块 文本转TTS 真人发音 SYN6288 进行了补充实验,验证了直接使用MAX2323将PC的RS232转换成TTL-UART,可以正确的控制语音模块了。这说明使用ESP-32-S模块发送TTL-UART出现与设置不同的情况。具体原因后面需要通过进一步的实验进行验证。


▓ 补充说明1:

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

 



  ■ 相关文献链接:


  • TB购买到一款模块
  • MX25L6446 3V,64Mb
  • XS8002D
  • ESP32-S模块转接板设计与实现
  • MicroPython 中ESP32 UART模块
  • 语音合成模块 文本转TTS 真人发音 SYN6288
  • ESP32-S的UART2的初始化需要注意的问题





推荐阅读
author-avatar
手机用户2602933165
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有