HS-S77-PL TTS 음성合成 모듈

HS-S77-PL  TTS 음성合成 모듈

1、소개

TTS 오디오合成 모듈 내장된 오디오合成 칩, 시리얼 포트를 통해 메인 컨트롤 장치(예: 마이크로컨트롤러)의 텍스트 데이터를 수신하고, 칩에서 분석 처리, 오디오 라이브러리와 알고리즘을 호출하여 오디오 신호로 변환하고, 증폭하여 스피커를 통해 소리를 내는 데 사용됩니다。문자 정보를 음성 출력으로 변환.

2、시뮬레이션 그래프

3、모듈 매개변수

핀 이름

설명

G

GND(전원 입력 부정极)

V

VCC(전원 입력 정극)

RX

받기 핀

TX

보내기 핀

  • 전원 공급 전압: 3.3V-5V

  • 연결 방식: PH2.0 4P 핀 라인

  • 설치 방법: 블록 고정

4、회로판 크기

5、Arduino 라이브러리 추가

라이브러리를 사용하지 못하는 참고 여기:라이브러리 설치 사용 방법

라이브러리 다운로드: 다운로드 클릭

미스키 UNO 개발판 라이브러리 설치 단계(코드 사용 전 미스키 라이브러리를 다운로드하고 설치하세요):참고 링크

6、한국어로 MicroPython 환경 라이브러리 파일 추가

미스키 ESP32 개발 보드 라이브러리 파일 다운로드 및 설치 단계(코드 사용 전 먼저 미스키 라이브러리 파일을 다운로드 및 설치하세요):참고 링크

7、아두이노 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 개발판):다운로드 클릭

예제 프로그램(ESP32 개발 보드):다운로드 클릭

9、테스트 환경 구축

Arduino UNO 테스트 환경 구축

부품 준비:“

  • UNO-R3 개발 보드 *1

  • UNO-R3 EXP 확장판 *1

  • USB type-c 데이터 케이블 *1

  • HS-S77-PL TTS 토플링合成模块 *1

  • PH2.0 4P둘쪽 머리 끝 케이블 *1

전기 연결도):

ESP32 Python 테스트 환경 구축

10、비디오 강의

Arduino UNO 비디오 강의:시각화 클릭

ESP32 Python 비디오 강의:

11、테스트 결과

Arduino UNO 테스트 결과:

코드를 업로드한 후, 모듈이 반복적으로 음성을 재생하는 것을 발견했습니다。