帮助文档

HS-S77-PL TTS语音合成模块

目 录 (点击目录列表可以跳转到相应位置)

  1. 介绍
  2. 原理图
  3. 模块参数
  4. 电路板尺寸
  5. 添加Arduino库文件
  6. 添加Micropython库文件
  7. ArduinoIDE 和Python语言示例程序
  8. 米思齐 Mixly 示例程序(图形化语言)
  9. Arduino测试环境搭建
  10. 视频教程
  11. 测试结论

1、介绍 点这里回到目录

TTS 语音合成模块内置语音合成芯片,通过串口接收主控设备(如单片机)的文本数据,经芯片分析处理、调用语音库与算法,转成语音信号,放大后驱动扬声器发声 。将文字信息转换成语音输出。


2、原理图 点这里回到目录

HS-S77-PL  TTS语音合成模块


3、模块参数 点这里回到目录

引脚名称 描述
G GND(电源输入负极)
V VCC(电源输入正极)
RX 接受引脚
TX 发送引脚

  • 供电电压: 3.3V-5V

  • 连接方式:PH2.0 4P端子线

  • 安装方式:积木固定


4、电路板尺寸 点这里回到目录

HS-S77-PL  TTS语音合成模块


5、添加Arduino库文件

不会使用库文件的参考这里库文件安装使用

库文件下载:点击下载

米思齐UNO开发板库文件安装步骤(使用代码前先下载安装米思齐库文件):参考链接


6、添加MicroPython环境库文件 点这里回到目录

米思齐ESP32开发板库文件下载安装步骤(使用代码前先下载安装米思齐库文件):参考链接


7、Arduino IDE示例程序 点这里回到目录

示例程序(UNO开发板):点击下载

#include "VTX316.h"

void setup(){
  VTX316_Init(6,5);

}

void loop(){
  Voice_BOBAO("今天天气晴,适合外出");
  delay(5000);

}

示例程序(ESP32开发板):

from machine import UART, Pin
import time
class VTX316:
    def __init__(self, tx_pin: int, rx_pin: int, baudrate=115200, uart_id=2):
        """初始化 VTX316 语音模块"""
        self.uart = UART(uart_id, baudrate=baudrate, tx=Pin(tx_pin), rx=Pin(rx_pin))
        time.sleep_ms(200)

    def _send_bytes(self, data: bytes):
        """发送原始字节"""
        self.uart.write(data)

    def _send_text(self, text: str):
        """发送字符串文本"""
        self.uart.write(text.encode('gbk'))

    def bobo(self, message: str):
        if not message:
            return
        msg_bytes = message.encode('gbk')
        length = len(msg_bytes)
        frame_head = bytes([0xFD, 0x00, length + 2, 0x01, 0x05])
        self._send_bytes(frame_head)
        time.sleep_ms(2)
        self._send_bytes(msg_bytes)
        time.sleep_ms(length + 50)

    def yinliang(self, level: int):
        if level < 0:
            level = 0
        elif level > 10:
            level = 10
        frame = bytes([
            0xFD, 0x00, 0x06,
            0x01, 0x01,
            0x5B, 0x76,
            0x30 + level,
            0x5D
        ])
        self._send_bytes(frame)
        time.sleep_ms(100)

    def zanting(self):
        cmd = bytes([0xFD, 0x00, 0x01, 0x03])
        self._send_bytes(cmd)

    def huifu(self):
        cmd = bytes([0xFD, 0x00, 0x01, 0x04])
        self._send_bytes(cmd)

    def fayanren(self, idx: int):
        if idx < 1 or idx > 7:
            idx = 1
        cmd_str = f"[m5{idx}]"
        msg_bytes = cmd_str.encode('gbk')
        length = len(msg_bytes)

        frame_head = bytes([0xFD, 0x00, length + 2, 0x01, 0x05])
        self._send_bytes(frame_head)
        time.sleep_ms(2)
        self._send_bytes(msg_bytes)
        time.sleep_ms(50)



voice = VTX316(tx_pin=17, rx_pin=16)

voice.yinliang(6)

voice.bobo('欢迎使用语音合成模块')


8、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录

示例程序(UNO开发板)点击下载

HS-S77-PL  TTS语音合成模块

示例程序(ESP32开发板):点击下载

HS-S77-PL  TTS语音合成模块


9、测试环境搭建 点这里回到目录

Arduino UNO 测试环境搭建

准备配件:

  • UNO-R3 开发板 *1
  • UNO-R3 EXP 扩展板 *1
  • USB type-c 数据线 *1
  • HS-S77-PL TTS语音合成模块 *1
  • PH2.0 4P双头端子线 *1

电路接线图:

HS-S77-PL  TTS语音合成模块

ESP32 Python 测试环境搭建


10、视频教程 点这里回到目录

Arduino UNO视频教程:点击查看

ESP32 Python视频教程:


11、测试结论 点这里回到目录

Arduino UNO测试结论:

上传代码后,发现模块一直循环播放语音。

HS-S77-PL  TTS语音合成模块


点这里回到目录