ESP32+MY1680U实现语音播报
前言
在这一章将实现MY1680U语音模块播放MP3,语音播报存入的语句。
需要用到的资料 提取码:lwm2
一、MY1680U-12P 语音模块
1、概述
MY1680U-12P 是深圳市迈优科技有限公司自主研发的一款小巧的集成MP3模块。采用MY1680U-16S MP3主控芯 片,支持MP3、WAV格式双解码,模拟U盘下载。模块内置FLASH存储芯片,1-16M容量可选;也可外接U盘或USB数据线连接电脑更换FLASH的音频文件。该模块内置3W功放,可以直接驱动3W的喇叭,使用更方便。
产品特性
- 支持 MP3 、WAV 高品质音频格式文件,声音优美。
- 24 位 DAC 输出,动态范围支持 93dB,信噪比支持 85dB。
- 完全支持 FAT16、FAT32 文件系统,最大支持 16M FLASH,32G 的 U 盘。
- 支持 UART 异步串口控制:支持播放、暂停、上下曲、音量加减、选曲播放、插播等。
- ADKEY 功能,通过电阻选择可实现标准 MP3 功能的 5 按键控制和其他功能。
- 内置音量、曲目掉电记忆功能。 支持 USB 连接电脑下载声音。
- 自带 3W 的功放,直接外接喇叭即可完成播放;音量不够客户也可外接功放。
- MY1690-12P 插 SD 卡模块与这款管脚兼容,需要升级大存储空间方便更换
2、参数说明
MY1680U-12P内置标准UART异步串口接口,为3.3V TTL电平接口,波特率9600。可通过MAX3232芯片转换成RS232电平或者通过 USB转TTL模块与PC通讯进行调试。通讯数据格式是:
起始位:1位;数据位:8位;奇偶位:无;停止位:1位。
向语音模块里面传入音频文件可以通过USB连接电脑传输也可以通过USB转TTL模块,使用电脑串口调试助手,传输音频文件
USB转TTL模块与MY1680U-12P的连接图
这里是串口调试助手的下载地址 提取码:lwm2
使用普通安卓手机数据线连接模块,第一次连接会自动安装驱动。安装成功后电脑弹出可移动磁盘,直接将声音命名好然后拖进磁盘内便可
照歌曲命名规则
- 存根目录时按以下方式命名,四位数字开头命名,后面可以带中文也可以不带。
- 建文件夹时按以下方式命名,文件夹以两位数字开头命名,文件夹内歌曲以三位数字命名后面可以带中文也可以不带。
朗读女 提取码:lwm2
这个软件可以把你输入的文本合成语音生成音频文件
二、代码实现
1.MY1690.c
代码如下:
#include "MY1690.h"
VOICE_DEV voice1={
.frame_head = 0x7E,.frame_end = 0xEF};
//0 1 2 3 4 5 6 7 8 9 10 100 1000 10000
u8 Voice_Table[] = {
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21};
//MY1690通信接口初始化
void MY1690_UARTConfig(u32 brr)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
//开时钟
RCC_APB2PeriphClockCmd(MY1690_TX_CLK | MY1690_RX_CLK, ENABLE);
MY1690_UART_CLKCMD(MY1690_UART_CLK, ENABLE);
//结构体赋值
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Pin = MY1690_TX_PIN;
GPIO_Init(MY1690_TX_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = MY1690_RX_PIN;
GPIO_Init(MY1690_RX_PORT, &GPIO_InitStructure);