HS-S77-PL TTS Voice Synthesis Module

HS-S77-PL  TTS Voice Synthesis Module

1. Introduction

Built-in voice synthesis chip of TTS voice synthesis module, receives text data from the main control device (such as a microcontroller) through serial port, analyzes and processes the chip, calls the voice library and algorithm, converts it into voice signals, amplifies it, and drives the speaker to produce sound.Convert text information to speech output.

2. Schematic

Module Parameters

Pin Name

description

G

GND (Negative Power Input)

V

VCC (Positive Power Input)

RX

Receive Pin

TX

Transmit Pin

  • Supply voltage: 3.3V-5V

  • Connection method: PH2.0 4P terminal wire

  • Installation method: Modular fixed

4, Circuit Board Size

Add Arduino Library File

Reference here if you don't know how to use library files:Install and use library files

Download library files: Click to download

Installation steps for the MiQi UNO development board library (download and install the MiQi library before using the code):Reference link

6, Add MicroPython environment library file

MiXin ESP32 development board library download and installation steps (download and install the MiXin library before using the code):Reference link

7. Arduino IDE example program

Example Program (UNO Development Board): Click to Download

#include "VTX316.h"

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

}

void loop(){
  Voice_BOBAO("ไปŠๅคฉๅคฉๆฐ”ๆ™ด๏ผŒ้€‚ๅˆๅค–ๅ‡บ");
  delay(5000);

}

Example Program (ESP32 Development Board):

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 Example Program (Graphic Language)

Example Program (UNO Development Board):Click to download

Example Program (ESP32 Development Board):Click to download

9. Setting up the Test Environment

Arduino UNO Test Environment Setup

Prepare Components:

  • UNO-R3 Development Board *1

  • UNO-R3 Expansion Board *1

  • USB TYPE-C DATA CABLE *1

  • HS-S77-PL TTS voice synthesis module *1

  • PH2.0 4P Double Head Terminal Line *1

Circuit wiring diagram:

ESP32 Python test environment setup

10, video tutorial

Arduino UNO video tutorial: Click to view

ESP32 Python Video Tutorial:

11. Test Conclusion

Arduino UNO Test Conclusion:

After uploading the code, the module kept playing the voice in a loop.