当前位置: 首页 > news >正文

[毕设]基于STM32的语音识别智能蓝牙音箱设计

基于STM32语音识别智能蓝牙音箱设计

目录标题

  • 基于STM32语音识别智能蓝牙音箱设计
    • 设计说明:
    • 原理图
    • PCB图
    • 源程序
    • 设计说明书
    • 1 . 1 **研究背景及意义**
    • 1 . 2 **国内外研究现状**
    • 器件清单
    • 资料清单

(源程序+原理图+PCB+设计说明书+PPT)

原理图:Altium Designer

程序编译器:keil4/keil 5

编程语言:C语言

设计编号:Y002

设计说明:

本设计制作了以蓝牙接收模块,语音识别和STM32单片机为核心的蓝牙音箱。实现的具体要求如下:

1.语音识别:

采用基于自动语音识别技术的LD3320语音识别方案,调试语音模块识别本课题所需要的特定词汇。通过主控芯片STM32F103C8T6与语音识别模块LD-V7进行串口通信,主控芯片接收到串口关键字拼音后处理该消息命令。本课题需要的关键字包括:唤醒词、上一首、下一首、大声点、小声点、暂停、播放。

2.按键控制:

在不方便语音的情况下,可以采用按键来控制音箱。本课题选用JDY-64音频接收模块,该模块集成SD卡功能,支持按键控制。需要根据原厂手册提供的试用手册设计外围电路实现。

3.音频接收:

本课题选用的JDY-64 蓝牙模块,将模块接入应用产品,就可以实现手机电脑等智能设备的无线音乐传输,该模块采用蓝牙4.2版本,支持HFPV1.7、A2DPV1.2、 AVRCPV1.5、 AVCTPV1.2、AVDTPV1.2蓝牙协议,能够接收不同设备的音频信号,满足日常使用要求。

4.音箱的制作和调试:

采用D类功放处理芯片PAM8403,该芯片支持双声道功放,输出功率为3瓦特,能够直接驱动喇叭,支持蓝牙接收模块。喇叭采用市面上常见的3瓦特功率小音箱。

img

原理图

该蓝牙音箱采用模块化设计思路,将硬件部分拆分为四大模块进行设计。四大模块包括电源供电模块、蓝牙音频接收、STM32f103C8T6单片机控制模块、语音识别模块等几部分。系统工作原理框图如图 2.1所示。

image-20220902001841286

系统的工作原理:通过蓝牙模块接收来自其他蓝牙设备如电脑,手机的音频信号,接收到的信号输出到PAM8403,信号放大输出到3W功率的喇叭,构成普通的蓝牙音箱。同时,语音识别模块的麦克风采集到声音后通过串口通信触发STM32单片机串口中断,接收到语音信息后,单片机对预设的关键词逐个对比,执行相应的动作,完成如音量加减,切换上一首下一首,暂停播放。以此构成一个语音识别的智能蓝牙音箱。其中的核心模块是蓝牙接收模块,语音识别模块和STM32单片机。

各模块的功能如下:

a) 供电模块:输出5V和3.3V的稳压电源,给系统其它模块供电。

b) 蓝牙接收模块:接收目标设备的蓝牙音频信号,提供给音频运算放大电路。

c) 音频放大模块:将输入的音频信号放大,输出到3W喇叭。

d) STM32控制模块:系统工作核心,主要协调模块正常工作。

e) 按键模块:通过按键控制播放下一曲上一曲,音量的大小和停止播放。

img

PCB图

img

源程序

img

程序主流程图

image-20220902001938513

主函数

int main(void)
{	
	 delay_init();	    	 //延时函数初始化	  
	 NVIC_Configuration(); 	 
//设置NVIC中断分组2:2位抢占优先级,2位响应优先级 	 
uart_init(9600);//初始化串口1
	 buletooth_init();//蓝牙控制部分初始化
	 int rec;
	while(1) 
	{		
		rec=ld3320_uart_receive();
//循环得到接受函数的字符串数组
		printf("接收到 = %d\r\n",rec);
		switch(rec)
		{
			case 1: break;//小杰
			case 2: printf(" play :2\r\n");playorpause();break;//播放
			case 3: printf(" stop :3\r\n");playorpause();break;//暂停
			case 4: printf(" last :4\r\n"); last();break;//上一首
			case 5: printf(" next :5\r\n");next();break;//下一首	
			case 6: printf(" up :6\r\n"); volume_up();break;//大声点
			case 7: printf(" down :7\r\n");volume_down();break;//小点声
			case 8: printf(" reset :8\r\n");break;//预留
			case 9: printf(" again :9\r\n");break;//请重新识别发口令
			case 10: printf(" one more time :10\r\n");break;//请说出一级口令
			//case 11: printf("11\r\n");break;//
			default:break;
		}

img

设计说明书

img

1 . 1 研究背景及意义

从蓝牙技术诞生以来,CSR、德州仪器、博通等技术大厂对此不断投入研究,蓝牙技术的衍生品之一,蓝牙音箱行业的设计水平也突飞猛进。回头看现在的蓝牙音箱产品,不难发现,蓝牙产品的创新从音质到外形都有了长足的进步。也可以看的出来,蓝牙音箱发展到今天遭到了瓶颈。除了专业人士,绝大部分消费者都满足当今常见蓝牙音箱的音质,音质创新带来的利润和驱动消费能力明显难以为继。蓝牙音箱的续航能力显然取决于微电池的发展和突破。现在蓝牙音箱分化最大、辨识度最大的非外形莫属,然而,外形设计即使再千奇百怪,消费者的审美也会产生疲倦。蓝牙音箱未来的发展必定是多元化的,外形设计、微型化、智能化都是蓝牙音箱的拓展方向。

从上世纪50年代贝尔实验室语音识别系统的雏形初现,到现在工业界以谷歌,微软,IBM,科大讯飞为代表的公司推出应用级产品,语音识别已经走过了一个辉煌历程[1]。语音识别技术发展到今天已经到了一个成熟的阶段。语音助手如Windows系统内置的Cortana(小娜)、苹果手机的Siri、小米手机的小爱同学语音助手都是我们生活中随处可见的语音识别交互技术应用。

基于上述背景,结合语音识别技术的大量应用,本课题采用离线式的语音识别芯片,通过蓝牙技术获得音源,利用语音识别芯片识别关键字来控制音箱工作状态,实现智能蓝牙音箱。从智能化的方向入手,探索蓝牙音箱的拓展方向。本课题主要研究离线状态下,智能音箱通过蓝牙连接手机获得音源,实现离线情况下语音智能音箱的应用。通过对特定语音识别的应用研究,实现除了按键,触摸屏之外的人机交互,交互过程自然流畅,方便。与现有的蓝牙音箱相比,本应用的优异效果是语音交互效果增加了产品的趣味性和智能性,控制方式除了交互式语音还有按键控制,更加简洁方便。因此基于语音识别的智能蓝牙音箱设计就很有现实意义。

1 . 2 国内外研究现状

蓝牙技术最初是由爱立信公司发明的,鉴于蓝牙技术客观的应用前景,爱立信、英特尔、IBM、东芝和诺基亚公司在1998年,经过协商,成立了蓝牙特殊兴趣集团(简称SIG),采取向产业界无偿转让蓝牙技术的措施,实现了蓝牙技术的全球统一标准[2]。

从此以后,国内外研究机构对蓝牙技术的应用研究非常活跃。衍生出来如蓝牙音箱、蓝牙耳机、蓝牙无线鼠标、蓝牙物联网等蓝牙产品。最新版本"蓝牙5"比以往版本传输距离更长、传输速度更快、传输数据量更大,以及提升了跟其包括Zigbee、Wifi等在内的无线通信技术的共存性。在性能更强大的同时,蓝牙芯片的体积反而变小。目前世界上尺寸最小的蓝牙芯片BES2000H芯片尺寸仅为2.7*4.4mm,除了搭载蓝牙4.2版本,芯片内部还集成低功耗、定时器、IIC、SPI通信协议,集成度之高足以令普通嵌入式从业者吃惊。

在我国国内,也有很多专家学制厂商对蓝牙技术做了深入的研究,研究成果丰硕。北京理工大学学者孙炎森基于蓝牙标准的点到多点音视频传输技术的研究与设计就研究了当时蓝牙音视频发展的一大方向。由来自国家主管部门、企业界、学术界以及研究生产机构的领导、专家、教授等权威人士发起成立的中国蓝牙技术发展与应用论坛,吸引了众多关注蓝牙技术的各界人士,还组织国内各界与世界蓝牙组织SIG的代表,就双方所关注的问题进行了认真的讨论[3]。总体上看,国内的蓝牙研究一时间还是跟不上国外的发展脚步。

1995年思乐智公司第一次提出了蓝牙音箱这个概念,在这之后蓝牙音箱开始慢慢发展。由于技术不成熟加上蓝牙当时并没被大众了解接受,蓝牙音箱的发展很缓慢,直到2006年,开始陆续出现蓝牙音箱、蓝牙音频接受器的科普文。在2006年出版的《CELL蓝牙立体声套件影音体验》一文中,可以看到当时的电脑还没有集成蓝牙模块,蓝牙音频信号的发送是通过USB外界蓝牙模块实现的。在2012年后,随着搭载蓝牙模块的智能手机和手提电脑快速普及后。蓝牙音箱搭上了蓝牙技术普及的顺风车,凭借着便携、无线、时尚等元素赢得了广大消费者的喜爱。2016年,苹果公司当时最新款手机iPhone7取消了3.5mm耳机接口。这一举动标志着无线耳机会是智能手机发展的趋势,果不其然,后来的新上市的手机纷纷取消了耳机接口,蓝牙耳机、蓝牙音箱得到了进一步普及。

随着语音交互智能音箱的兴起的,蓝牙音箱的市场受到了冲击,未来的蓝牙耳机也会朝着这一方面发展。在2014年,就有学者提出采用Mel频率倒谱系数进行特征提取以提高蓝牙语音识别的准确性[4]。目前已经有成熟的基于蓝牙的AI智能音箱,本课题就在基于语音识别的蓝牙音箱上探索语音交互的智能音箱,与此同时,蓝牙耳机会在低功耗,便携功能上继续深挖。国外有最新研究利用音频线作为耳机天线的设计,进一步提高耳机的紧凑型,提高便携性[5]。

器件清单

img

资料清单

img
资料下载链接

相关文章:

  • python将二进制转换为32位浮点数float/两个16位整数(高位字/低位字)Uint16转换为32位浮点数float
  • puzzle(102.1)不规则数独、变种数独
  • [模电课程设计]基于TCP7107的数字式温度计设计
  • 无聊话语罢了
  • 前缀树的设计与实现
  • 互联网中常见的随机数+分布式中常见的防止重复处理的方式
  • docker-compose
  • css实现input搜索框展开动画
  • 8.城市交通
  • 软件流程和管理(六):Project Scheduling
  • 2022-09-01 mysql/stonedb-多线程并行遍历元组遇到的问题分析
  • MATLAB | 面积图、饼状图、水平柱状图的斜线填充(阴影填充)
  • IDEA开发环境初始化配置
  • 企业单位公众号如何上传附件(如Word,Excel,PPT等)
  • Java中二维数组练习题
  • Google 是如何开发 Web 框架的
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • centos安装java运行环境jdk+tomcat
  • Docker 笔记(2):Dockerfile
  • extjs4学习之配置
  • JavaScript标准库系列——Math对象和Date对象(二)
  • jdbc就是这么简单
  • jquery cookie
  • js
  • Linux后台研发超实用命令总结
  • Sass Day-01
  • Shell编程
  • 阿里云Kubernetes容器服务上体验Knative
  • 初探 Vue 生命周期和钩子函数
  • ------- 计算机网络基础
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 数据科学 第 3 章 11 字符串处理
  • 用Python写一份独特的元宵节祝福
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • $forceUpdate()函数
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (Git) gitignore基础使用
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (原)本想说脏话,奈何已放下
  • (转)linux 命令大全
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • ./configure,make,make install的作用
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .gitignore文件---让git自动忽略指定文件
  • .NET Core中Emit的使用
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net和jar包windows服务部署