我是靠谱客的博主 强健小懒猪,最近开发中收集的这篇文章主要介绍DY-SV17F 语音模块,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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


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

模块概述

  • 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 语音模块的全部内容,希望文章能够帮你解决DY-SV17F 语音模块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部