# SmartSpeaker
这是一个基于云端语音识别的智能音箱,你可以理解为类似于亚马逊Echo或者小爱同学、天猫精灵的设备,与之不同的是它并非基于嵌入式Linux,而是仅仅基于单片机和FreeRTOS实现。
该设备的核心芯片为stm32f407vet6,wm8978,esp8266,这三者分别扮演主控,音频DA/ADC以及网络通信的角色。另外还需要SD卡来提供存储录音和音乐的功能。
该项目目前的瓶颈在于由于esp8266是一款物联网wifi芯片,其网络带宽有限,导致识别的速度偏低, PS:其实也还说的过去,毕竟录音的文件也不是很大:),并且导致在线播放音乐的功能无法实现(这是最伤的)。
但这应该也是目前基于单片机的最好的实现方案了,[运行效果](https://www.bilibili.com/video/av50830592/ "一款基于stm32f4和esp8266实现的类似于天猫精灵的语音识别智能音箱")。
## Description
- Audio目录下主要存放音频相关的代码,比如wm8978的驱动,解码,播放以及录制音频的功能。其中包含了一个第三方的mp3解码库“HelixMP3Decoder"。
- Fatfs目录下主要存放Fatfs文件系统的代码,它需要基于SD卡实现。
- File目录下存放系统的原理图,同时还是有一个“SmartSpeaker”目录,需要将这个目录拷贝到SD卡根目录下,这个目录里都是些用来提示的wav文件。
- FreeRTOS目录下存放的是FreeRTOS的代码。
- Led目录下存放的是一个根据识别的结果操作Led的实例,在播放音乐的时候,还会对音乐进行频谱分析,从而改变Led的颜色。
- Libraries目录下存放是是stm32f4系列的一些库文件。
- MDK为工程文件的目录。
- Network目录下存放的是与网络操作相关的代码,比如esp8266的串口驱动的封装,编解码,网络通信等等。
- Peripherals目录下存放的是stm32f4相关的外设的驱动代码,其中一些与FreeRTOS结合相当紧密,例如串口的驱动。
- Public目录下存放的是一些基础的功能函数,比如日志功能等。
- Shell目录下存放的是一个简单的人机交互的实现,正因为有了这些代码,我们可以借助Xshell等通过串口登陆stm32,并且可以实现一些简单的命令操作,就像操作Linux系统一样。而且,移植这个Shell非常简单,你只需要底层提供getchar,putchar以及puts这三个功能函数。
## Usage
为了连接WiFi,你需要在"network.c"文件中配置你的WIFI网络。
为了接入百度云的语音识别服务,你需要去注册百度语音的开发者账号,并且得到他的token,你需要在"netvoc.c"中配置这个token。
## Flow
在硬件初始化完毕,FreeRTOS启动完毕后,wm8978开始收集环境中的音频信号。这里采用了一个基于短时过零率和声波能量的简易的VAD算法,用于实现自动录音。录音完毕后,将录制的语音文件发送至百度云的语音识别服务器进行识别,并接收识别的结果,然后根据结果执行相应的操作,比如播放一首音乐等,高度可拓展。
![效果图](https://github.com/terryqc/SmartSpeaker/blob/master/File/%E5%AE%9E%E7%89%A9%E5%9B%BE1.jpg)
![效果图](https://github.com/terryqc/SmartSpeaker/blob/master/File/%E5%AE%9E%E7%89%A9%E5%9B%BE2.jpg)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
一个基于云端语音识别的智能控制设备,类似于天猫精灵,小爱同学。采用的芯片为stm32f407,wm8978,esp8266。.zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
基于stm32+esp8266+云端语音识别设计的智能控制设备-类似于天猫精灵,小爱同学(毕设/课设/竞赛/实训/项目开发) (249个子文件)
ansok 45KB
ffunicode.c 1.87MB
ff.c 219KB
tasks.c 157KB
stm32f4xx_rcc.c 131KB
stm32f4xx_tim.c 119KB
stm32f4xx_rtc.c 98KB
queue.c 89KB
stm32f4xx_dfsdm.c 83KB
stm32f4xx_adc.c 66KB
stm32f4xx_can.c 63KB
sdio_sd.c 63KB
stm32f4xx_flash.c 61KB
stm32f4xx_fmc.c 60KB
stm32f4xx_dsi.c 59KB
system_stm32f4xx.c 58KB
stm32f4xx_usart.c 55KB
stm32f4xx_fmpi2c.c 55KB
stm32f4xx_cryp_aes.c 55KB
stm32f4xx_i2c.c 52KB
stm32f4xx_dma.c 50KB
stm32f4xx_spi.c 50KB
stm32f4xx_sai.c 47KB
stm32f4xx_fsmc.c 44KB
stm32f4xx_pwr.c 41KB
stream_buffer.c 41KB
hufftabs.c 41KB
timers.c 38KB
stm32f4xx_ltdc.c 38KB
stm32f4xx_sdio.c 37KB
stm32f4xx_cryp.c 34KB
stm32f4xx_lptim.c 33KB
stm32f4xx_qspi.c 31KB
port.c 27KB
imdct.c 27KB
stm32f4xx_dma2d.c 26KB
stm32f4xx_dac.c 25KB
stm32f4xx_hash.c 25KB
stm32f4xx_gpio.c 24KB
stm32f4xx_cec.c 24KB
event_groups.c 23KB
wb_vad.c 21KB
stm32f4xx_dcmi.c 18KB
usart.c 17KB
stm32f4xx_spdifrx.c 17KB
mp3play.c 17KB
stm32f4xx_syscfg.c 16KB
huffman.c 16KB
mp3dec.c 16KB
heap_5.c 15KB
bitstream.c 15KB
trigtabs.c 14KB
stm32f4xx_rng.c 14KB
heap_4.c 14KB
scalfact.c 13KB
croutine.c 13KB
dqchan.c 12KB
misc.c 11KB
esp8266.c 10KB
stproc.c 10KB
stm32f4xx_cryp_tdes.c 10KB
dct32.c 10KB
stm32f4xx_wwdg.c 10KB
heap_2.c 10KB
stm32f4xx_cryp_des.c 9KB
stm32f4xx_exti.c 9KB
urlencode.c 9KB
stm32f4xx_hash_sha1.c 9KB
stm32f4xx_hash_md5.c 9KB
stm32f4xx_iwdg.c 9KB
spi_i2s.c 9KB
list.c 8KB
buffers.c 8KB
rtc.c 8KB
wm8978.c 7KB
iflash.c 7KB
mp3tabs.c 7KB
stm32f4xx_dbgmcu.c 6KB
dequant.c 6KB
recorder.c 6KB
wavplay.c 6KB
led.c 5KB
netlsn.c 5KB
stm32f4xx_flash_ramfunc.c 5KB
stm32f4xx_it.c 5KB
heap_1.c 5KB
ffsystem.c 5KB
netvoc.c 5KB
cmd.c 5KB
read-line.c 5KB
wdog.c 4KB
netcmd.c 4KB
diskio.c 4KB
subband.c 4KB
main.c 3KB
stm32f4xx_crc.c 3KB
heap_3.c 3KB
main.c 3KB
sotf_iic.c 2KB
serial_AT.c 2KB
共 249 条
- 1
- 2
- 3
资源评论
- 博肖琑2024-05-06资源内容详实,描述详尽,解决了我的问题,受益匪浅,学到了。
- 俾无尤2024-11-22资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
阿齐Archie
- 粉丝: 3w+
- 资源: 2469
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IT桔子:中国智能电视市场研究报告
- [MICCAI'24]“BGF-YOLO通过多尺度注意力特征融合增强型YOLOv8用于脑肿瘤检测”的官方实现 .zip
- CB Insights:智能汽车才是未来-信息图
- 安卓项目-记事本的实现
- Yolo(实时物体检测)模型训练教程,基于深度学习神经网络.zip
- 网络爬虫基础 & HTML解析基础-课件
- Java基础语法与高级特性的全面讲解
- YOLO(You Only Look Once)的 Keras 实现统一的实时对象检测.zip
- YOLO(You Only Look Once)物体检测机制在 Tensorflow 中的实现.zip
- H3m-Blog项目源代码文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功