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

Posted 卓晴

tags:

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

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

关键词 TTSESP32声音模块

 

§01 文文字转语音


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

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

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

1.开发资料

开发资料:
百度网盘下载了解https://pan.baidu.com/s/1z2nrEr-MvIl9ZdkbGG1ZUQ
提取码:pa29

2.板上主要芯片

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

集成芯片信息:
MX25L6445MX25L6446 3V,64Mb 串口Flash
XS8002DXS8002D 是一款带有自关断的音频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过程中出现的问题进行探索,初步找到了解决问题的方案,但具体原因并不是完全了解。

 


  ■ 相关文献链接:

以上是关于中文TTS文字转语音合成模块合成成品带喇叭 替代SYN6288和XFS5152的主要内容,如果未能解决你的问题,请参考以下文章

语音合成(文字转语音)工具大全

20.5 语音合成(百度2016年2月29日发布的tts引擎)

chrome文字转语音(tts)

chrome文字转语音(tts)

chrome文字转语音(tts)

Android TextToSpeech TTS中文文本转语音(语音合成)