大家好,我是程序员小哈。

前几天有个球友在用一个语音模块,遇到了点困难,为了方便调试,小哈哥也买了两个一起玩了一下。


今天小哈哥就来简单分享一下这个模块。

模块概述

  • DY-SV17F 语音模块,包括IO 分段触发,UART 串口控制, ONE_line 单总线控制,标准 MP3 等 7 种工作模式;
  • 板载 5W D 类功放,可直接驱动 4Ω, 3~5W 喇叭;
  • 支持 MP3,WAV 解码格式;
  • 板载4MByte flash 存储,可通过 USB 数据线连接模块上的MicroUSB接口,电脑可以将模块识别为一个U盘,打开此存储更新音频文件即可。

硬件连接

原理图

为了测试方便,各位也可以画一个PCB板,这样就可以避免使用一堆杜邦线进行连接,也可以避免调试过程中遇到一些不必要的问题,底板的原理图可以参考下图所示。

因为我们要选择串口模式,所以实际使用过程中,CON1、CON2接地,CON3接高电平。

CON3/BUSY 引脚,上电 30mS 内作为模式配置引脚 3,30mS 后作为 BUSY 信号输出,播放曲目时,CON3输出高电平(3.3V),播放结束输出低电平(0V)。

注意:上述CON3引脚状态,我实际测试结果与手册中描述相反,此处自己使用时进行一下确认。

工作模式配置

资源文件

要想实现语音播放当前时间,我们首先要找到或者制作一些基本语音的音频文件,如果想制作音频文件素材,可以用下面网址制作:

https://www.coder.work/text2audio

准备好组合播放的音频素材文件,将其放置在 ZH 文件夹下,曲目名要求固定两个字符,为了控制方便,我们选择以两位数字的形式命名文件名,本次实例的音频文件素材如下:

素材的语音内容具体如下:

文件名 语音
00.mp3
01.mp3
02.mp3
03.mp3
04.mp3
05.mp3
06.mp3
07.mp3
08.mp3
09.mp3
10.mp3
11.mp3 现在时间是
12.mp3
13.mp3
14.mp3

协议

串口通信,波特率为9600,数据位:8,停止位1位,校验位N。

示例 含义 备注
AA 01 00 AB 查询播放状态 AA 01 01 播放状态 校验
比如:AA 01 01 00 AC
AA 02 00 AC 从头开始播放当前曲目
AA 03 00 AD 暂停 无返回
AA 04 00 AE 停止 无返回
AA 05 00 AF 上一曲 无返回
AA 06 00 B0 下一曲 无返回
AA 07 02 曲目高 曲目低 SM 指定曲目 无返回,曲目序号由存储顺序决定。
AA 0C 00 B6 查询总曲目 返回:AA 0C 02 总曲目高 总曲目低 校验
AA 0D 00 B7 查询当前曲目 AA 0D 02 00 08 C1
AA 10 00 BA 结束播放
AA 13 01 VOL SM 音量设置 无返回,例如: AA 13 01 14 D2 设置音量为 20 级
AA 14 00 BE 音量加 无返回
AA 15 00 BF 音量减 无返回
AA 1B 长度 曲目 1 名称高字节,曲目名称 1 低字节… 曲目 n 名称高字节, 曲目 n 名称低字节 SM 组合播放 无返回,例如: AA 1B 04 30 31 30 32 8C,文件名为“01”、“02”歌曲组合播放。 文件名播放方式,不受拷贝顺序限制。
AA 1C 00 C6 结束组合播报 无返回
AA 25 00 CF 开启播放时间发送 返回:AA 25 03 时 分 秒 SM
AA 25 03 01 02 03 D8
AA 26 00 D0 关闭播报时间发送

查询模块当前播放状态的串口指令,调试过程如截图所示:

模块的串口协议有很多,因为要播放实时时间,这个是一个变化的量,使用模块自带的组合播放功能,可以方便的实现实时时间的播放报。

 AA 1B 长度 曲目1名称高字节 曲目名称1低字节 ..... 曲目n名称高字节 曲目n名称低字节 SM

例如:串口发送 AA 1B 04 30 31 30 32 8C,模块会将文件名为“01.mp3”、“02.mp3”的歌曲进行组合播放。

结果展示

要进行组合播放,无非将要组合的文件名进行拼接,将这些内容按照组合播放的通信协议,组成一个字符数组进行发送即可,代码比较简单,大家有需要的,直接去公众号后台回复:语音播报实时时间 获取代码查看吧。

下面我们看一下语音播放实时时间的效果吧。

效果赶不上专业的TTS模块,此方案胜在性价比高。

今天的文章到这里就结束了,希望对你有帮助,我们下期见。

更多精彩内容,请关注小哈哥的微信视频号:程序员小哈

DY-SV17F 语音模块相关推荐

  1. Swift 中 insetBy(dx: CGFloat, dy: CGFloat) - CGRect 用法详解

    insetBy(dx: CGFloat, dy: CGFloat) -> CGRect 点击头文件进去 可以发现它是返回的一个CGRect insetBy方法是CGRect 的一个方法 dx后面 ...

  2. 支持自定义的离线语音模块WT516P6Core 串口协议使用说明

    很多开发爱好者在应用启明云端的WT516P6Core自定义离线语音模块时,遇到最多的就是串口问题:接好线没反应,串口数据没有等等 ,这里为大家整理了一份串口协议使用说明文档供大家参考! 离线语音-支持 ...

  3. 用WT516P6Core离线语音模块在烧录和连接MCU时要注意避开的坑,要不挠掉头发也钻不出来!我差点套进去了,还好他们技术人员给力!把我给扯出来了!做了一个踩坑记录分享给大家

    为什么会选择用WT516P6Core离线语音模块呢?原因有几点,一是他支持自定义语音,虽然说现在是针对开发爱好者给的是一个公共帐号,也就是同一个入口,使用的是同一个帐号,都可以在上面建项目.发布项目, ...

  4. 启明云端WT516P6Core离线语音模块发布后,开发者朋友提出的问题最多的是:是否可以自己编译指令

    关于这个问题,开发者朋友后期可以在esp32.8ms.xyz.平台上进行二次开发,方便定制,目前正在完善测试中,很快发布. 目前市面上的离线语音大多无法做到自定义控制指令,用户如果需要按照业务场景自行 ...

  5. 小米tts语音引擎下载_TTS语音模块:XFS5152CE语音合成模块详解

    TTS是Text To Speech的缩写,即"从文本到语音",是人机对话的一部分,让机器能够说话. 语音播报功能的实现方式 TTS语音模块,比如XFS5152.SYN6288等 ...

  6. 智能家居 (5) —— LD3320语音模块二次开发

    目录 LD3320语音模块使用介绍 二次开发源码修改 程序编译及烧录 程序测试 往期文章 LD3320语音模块使用介绍 语音模块之前在博文有讲过,具体的使用方法参见这篇博文:硬件模块化开发的例子:LD ...

  7. 硬件模块化开发的例子:LD3320语音模块与Source Insight的使用

    目录 硬件模块化开发的行情 LD3320语音模块使用手册介绍: 语音模块验货测试 硬件连接效果图 测试结果良好 Source Insight代码查看器 创建工程 修改字体 配色方案 中文乱码 关联代码 ...

  8. 树莓派外设开发之接入语音模块

    参考:树莓派接入语音模块控制继电器组 作者:糯米啊啊 发布时间: 2021-04-18 17:07:08 网址:https://blog.csdn.net/weixin_43732386/articl ...

  9. LintCode MySQL 1968. 查询首两个字母在 ‘Db‘ 和 ‘Dy‘ 之间的课程名称(REGEXP正则)

    文章目录 1. 题目 2. 解题 1. 题目 描述 请编写 SQL 语句,查询 courses 表中,课程名首两个字母在 'Db' 和 'Dy' 之间所有课程的名称 https://www.lintc ...

  10. Python的文字转语音模块pyttsx3模拟测温提示

    今天有朋友问我,想用Python模拟测温做一个语音提醒.我虽然会Python,想到是要用到一些第三方语音模块,但具体怎么用还真没试过.经过一番搜索和踩坑,最后找到这个能用的,谨以本篇博客作为一次学习笔 ...

最新文章

  1. 什么是IOC为什么要使用IOC
  2. 揭秘毕加索被隐藏千年的“画中画”,神经网络让它重新面世
  3. 索引中丢失IN或OUT
  4. PHPROXY Encrypt 0.61
  5. C++动态绑定及返回类型协变
  6. 对话中情绪识别,研究挑战、数据集和前沿方法
  7. mysql repos_mysql yum源安装
  8. POJ 3734_Blocks
  9. React Elements vs React Components
  10. 返回零长度的数组或者集合,而不是null
  11. 我的面试准备过程--队列与栈(更新中)
  12. h5学习笔记:写一个小表格
  13. java springboot实现pdf在线盖章,签字的功能
  14. 1.1 爬虫入门介绍
  15. 玉米社:抖音玩法和运营机制,学会这些技巧,轻松上热门
  16. 愚人节整蛊,网页倾斜代码
  17. 测试电商项目 第三章
  18. Mysql客户端给字段添加中文数据报错SQL错误(1366):Incorrect string value: ‘\xE5\xA4\xA7\xE5\xB9\x85...‘ for column ‘nam
  19. vs项目文件夹进行分类管理
  20. 苹果硅之后:PC市场会走向何方?

热门文章

  1. udhcpc 的使用
  2. 【猥琐流】制作一个隐藏在黑页下的大马并且添加后门
  3. Ubuntu LogViewer调试工具
  4. 数控铣床法兰克系统代码完整版
  5. 【AP_EJOR】Robust solutions to multi-objective linear programs with uncertain data(2)
  6. 基于 Django 的图书馆借阅系统
  7. 软件测试面试自我介绍
  8. 3D打印无人机等无人设备4——solidworks逆向建模编辑stl打印文件
  9. 虚拟机桥接模式设置IP
  10. 西门子PS2阀门定位器在调试中常见问题