1 Star 0 Fork 4

byxlk / cherryFly

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

cherryFly

这是一个基于云端语音识别的智能控制设备,你可以理解为类似于Amazon Echo或者天猫精灵的设备,与之不同的是它是基于单片机实现的。核心芯片为stm32f407vet6,wm8978,esp8266,这三者分别扮演主控,音频DA/ADC以及网络通信的角色。另外还需要SD卡来提供存储功能。

在软件层面本基于FreeRTOS实现。在硬件初始化完毕,FreeRTOS启动完毕后,wm8978开始收集环境中的音频信号。这里采用了一个基于短时过零率和声波能量的简易的VAD算法,用于实现自动录音。录音完毕后,将录制的语音文件发送至百度云的语音识别服务器进行识别,并接收识别的结果,然后根据结果执行相应的操作,比如播放一首音乐等。

Description

  • Audio目录下主要存放音频相关的代码,比如wm8978的驱动,解码,播放以及录制音频的功能。其中包含了一个第三方的mp3解码库“HelixMP3Decoder"。
  • Fatfs目录下主要存放Fatfs文件系统的代码,它需要基于SD卡实现。
  • File目录下主要存放一些基本的语音反馈文件,这些文件都是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。

More

这个项目是我大学期间课余时间制作的,从最开始的stm32fl03裸机到此版本stm32f407的FreeRTOS。大约跨越了两年的时间,最后我的毕设也是这个。 在此很感谢Li Zhang(此版本硬件的设计者)以及Chenlei Zhang提供的帮助。 一路走来愈发觉得EE是一个深坑,现已转行CS,因此本项目现在只对BUG进行维护,不再增加新功能。

MIT License Copyright (c) 2018 Terry Chen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个基于云端语音识别的智能控制设备,采用的芯片为stm32f407,wm8978,esp8266。 展开 收起
C 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/byxlk/cherryFly.git
git@gitee.com:byxlk/cherryFly.git
byxlk
cherryFly
cherryFly
master

搜索帮助