LD3320语音识别模块+JQ8900-TF语音模块实现简单的语音交互控制

news/2024/11/16 20:31:22/

        玩这个真的要感谢头条的强大推荐,清明节回家的大巴车上,无聊的刷着头条,很智能的给我推荐了一款语音识别模块,一直很想自己试着玩一把的我,按奈不住,点开视频看到了介绍,接着我就淘宝一下,加入了购物车,事后感觉我被套路了,是不是商家自己制作的视频推广发到头条,不管怎样,模块已经在手上了,那就利用起来吧,然后网上又搜了一款语音播放模块,自己设计不了硬件,买现成的模块玩玩拼凑吧

材料: LD3320语音识别模块

           JQ8900-TF语音播放模块

           串口,杜邦线,1k电阻,扬声器

硬件连接图

原理图如下 

 硬件连接完成,接下来就要做软件部分的了

购买两种模块,店家会把简单的示例代码发放,只要我们简单修改就可以使用

LD3320语音识别模块,利用stc系列单片机操作,模块识别到与程序内指令相同时,发送播放语音指令,使JQ9800播放已经录入好的语音文件,作为语音识别的应答

LD3320在口令模式基础上修改,内容如下:

main.c内添加需要播放的音频文件指令

uint8_t code PrevFile[] = {0xAA, 0x05, 0x00, 0xAF};/* 上一曲*/
uint8_t code NextFile[] = {0xAA, 0x06, 0x00, 0xB0}; /* 下一曲 */
uint8_t code FirstCmd[] = {0xAA, 0x07, 0x02, 0x00, 0x0B, 0xBE}; //我在
uint8_t code AlreadyOpen[] = {0xAA, 0x07, 0x02, 0x00, 0x0C, 0xBF}; //灯已打开
uint8_t code p_nextcmd[]={0xAA, 0x07, 0x02, 0x00, 0x0D, 0xC0}; //有什么吩咐
uint8_t code p_OK[]={0xAA, 0x07, 0x02, 0x00, 0x0E, 0xC1}; //好的
uint8_t code p_respeak[]={0xAA, 0x07, 0x02, 0x00, 0x0F, 0xC2}; //请重说void 	User_handle(uint8 dat)
{if(0==dat){G0_flag=ENABLE;LED=0;PrintCom("收到\r\n");UartSendData(FirstCmd, 6);delay(10000);UartSendData(p_nextcmd, 6);}else if(ENABLE==G0_flag){	G0_flag=DISABLE;LED=1;switch(dat)		   /*对结果执行相关的操作,客户可删除 printcom输出语句*/{case CODE_OPENLIGHT:					case CODE_OPENLIGHTA:										case CODE_OPENLIGHTB:				UartSendData(AlreadyOpen, 6);break;case CODE_CLOSE:									case CODE_CLOSEA:				case CODE_CLOSEB:					UartSendData(p_OK, 6);break;																											default:PrintCom("请重新识别发口令\r\n");UartSendData(p_respeak, 6);break;}	}	else 	{PrintCom("请说出一级口令\r\n");	}
}	 

LDChip.c

uint8 code sRecog[DATE_A][DATE_B] = { "tian tian",\		"da kai deng",\"kai deng",\"ba deng da kai",\"guan diao deng",\"guan deng",\ "ba deng guan diao", \"chong dian"};	uint8 code pCode[DATE_A] = {CODE_CMD,\CODE_OPENLIGHT,\CODE_OPENLIGHTA,\CODE_OPENLIGHTB,\CODE_CLOSE,\CODE_CLOSEA,\CODE_CLOSEB,\CODE_GZ};		

将修改后的程序重新编译烧写到LD3320模块,使用“”天天“”口令唤醒,说“开灯”,“关灯”指令

JQ8900 语音播放,使用官方提供的调试工具,将文字转换为语音文件存储大sd卡,将sd卡插入模块,使用调试工具确认播放文件对应的指令,将指令写到LD3320程序内,使用串口发送指令播放语音

因为使用的都是开发好的code,只要简单修改,就可以玩转简单的语音交互控制


http://www.ppmy.cn/news/249128.html

相关文章

八重州8900如何解锁_八重贵族怪胎之路

八重州8900如何解锁 Dealing with computers day in and day out can be a harrowing experience. In difficult times, or even when things are idle, finding some spirituality can help cope with the experience—Techies: I give you the Eightfold Noble Geek Path. 日…

stm32通过 一线串口通信控制JQ8900-16P语音模块

今天玩玩语音模块,用到了所谓的一线串口通信(就是用一个IO口发脉冲)不说了,上代码 JQ8900-16P语音模块资料自取:链接:https://pan.baidu.com/s/1O3P1Ro4Rc4cVMACuJVdqaA 提取码:1u4p 接线&a…

cs8900的基地址

用原版vivi一直很不爽,于是便有个想法,想整个功能比较完备的出来. 于是开始搜索资料,baidugoogle一番竟然发现早已有高手做出来了.自己正苦于拿不定主意到底用不用中断,正好拿高手的成果参考下,站在巨人的肩膀上,让我们走得更远. 于是便看代码...看代码... 在看tftp实现的时候,…

linux网卡驱动之CS8900A网卡驱动程序

文章目录 CS8900A芯片介绍以太网帧CS8900A寄存器代码分析 CS8900A芯片介绍 CS8900芯片是Cirrus Logic公司生产的一种局域网处理芯片,在嵌入式领域中使用非常常见。它的封装是100-pin TQFP,内部集成了在片RAM、10BASE-T收发滤波器,并且提供8位…

STM32一键连接JQ8400-FLJQ8900语音模块程序分析

最近优化了一个项目 需要使用 语音模块 于是采用了JQ8400 语音模块 具体的数据手册 淘宝卖家提供 主要的是一线数据发送的协议格式 由于前期使用了RT-Thread 给自己挖了一个坑 为什么呢 我所移植的3.1.3版本的源码 没有提供 us级的延时函数 只有…

单片机语音模块JQ8900-16P的几种触发方式与源码配置

我先来讲一下这个模块方便在什么地方: (我没有做广告哈,有一说一) 1,有SPI-flash,USB的接口直接连电脑显示U盘,替换音频很方便 2,默认情况下有IO口按键触发,很方便播放…

JQ8900-16P语音模组硬件使用

资料阅读 1.模组特征 1. 支持 MP3 WAV 硬件解码1. 支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/481. 多种控制模式:两线串口模式、一线串口控制、按键模式1. 支持上一曲,下一曲,播放、暂停、停止、选曲、等常用功能控制1. 支持播放曲目序号获取&…

JQ8900-16P语音模块(驱动及测试)

今天,给大家带来的是JQ8900语音模块,这是硬件图: VPP: 单线串口(就是接收脉冲信号的引进) BUSY: 播放指示灯 RX: 接收段 TX: 发送段 DC-5V: 5v供电 SPK-: 扬声器负极 SPK: 扬声器正极 IO1~IO7是触发输入口&…