esp32-智能语音-mp3(sdcard)
由于官方example为针对Esp32_LYRAT开发板的,因此底层需根据板子IO进行重定义:(后续案例使用该定义文件)
官方由于使用menuconfig配置对应V4.2或V4.3的板子驱动,因此根据板子也进行了板层驱动定义:
1.esp-adf\components\audio_hal目录下,Kconfig.projbuild:(添加ESP_LYRAT_LLW变量)
1 menu "Audio HAL" 2 3 choice AUDIO_BOARD 4 prompt "Audio board" 5 default ESP_LYRAT_V4_3_BOARD 6 help 7 Select an audio board to use with the ESP-ADF 8 9 config ESP_LYRAT_V4_3_BOARD 10 bool "ESP32-Lyrat V4.3" 11 config ESP_LYRAT_V4_2_BOARD 12 bool "ESP32-Lyrat V4.2" 13 config ESP_LYRAT_LLW 14 bool "ESP32-Lyrat LLW" 15 endchoice 16 17 endmenu
2.进入app目录下,sdkconfig:(配置menuconfig菜单)
1 # 2 # Audio HAL 3 # 4 CONFIG_ESP_LYRAT_V4_3_BOARD= 5 CONFIG_ESP_LYRAT_V4_2_BOARD= 6 CONFIG_ESP_LYRAT_LLW=y
3.配置驱动文件,esp-adf\components\audio_hal\board目录下,board.d.h:
1 #ifdef CONFIG_ESP_LYRAT_V4_3_BOARD 2 #include "lyrat_v4_3_board.h" 3 #endif 4 5 #ifdef CONFIG_ESP_LYRAT_V4_2_BOARD 6 #include "lyrat_v4_2_board.h" 7 #endif 8 9 #ifdef CONFIG_ESP_LYRAT_LLW 10 #include "lyrat_llw.h" 11 #endif
4.esp-adf\components\audio_hal\board目录下,拷贝一份lyrat_v4_3_board.h,后改名为
lyrat_llw.h,根据实际硬件重定义(主要是GPIO的分配)
1 #ifndef _AUDIO_LYRAT_LLW_H_ 2 #define _AUDIO_LYRAT_LLW_H_ 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 /* SD card related */ 9 #define SD_CARD_INTR_GPIO GPIO_NUM_26 10 #define SD_CARD_INTR_SEL GPIO_SEL_26 11 #define SD_CARD_OPEN_FILE_NUM_MAX 5 12 13 #define GPIO_AUXIN_DETECT 21 14 15 //#define GPIO_HEADPHONE_DETECT 19 16 17 /* LED indicator */ 18 #define GPIO_LED_BLUE 25 19 20 /* I2C gpios */ 21 #define IIC_CLK 16 22 #define IIC_DATA 17 23 24 /* PA */ 25 //#define GPIO_PA_EN GPIO_NUM_21 26 //#define GPIO_SEL_PA_EN GPIO_SEL_21 27 28 /* Press button related */ 29 //#define GPIO_SEL_REC GPIO_SEL_36 //SENSOR_VP 30 //#define GPIO_SEL_MODE GPIO_SEL_39 //SENSOR_VN 31 //#define GPIO_REC GPIO_NUM_36 32 //#define GPIO_MODE GPIO_NUM_39 33 34 /* Touch pad related */ 35 #define TOUCH_SEL_SET TOUCH_PAD_SEL9 36 #define TOUCH_SEL_PLAY TOUCH_PAD_SEL8 37 #define TOUCH_SEL_VOLUP TOUCH_PAD_SEL7 38 #define TOUCH_SEL_VOLDWN TOUCH_PAD_SEL1 39 #define TOUCH_SET TOUCH_PAD_NUM9 40 #define TOUCH_PLAY TOUCH_PAD_NUM8 41 #define TOUCH_VOLUP TOUCH_PAD_NUM7 42 #define TOUCH_VOLDWN TOUCH_PAD_NUM1 43 44 /* I2S gpios */ 45 #define IIS_SCLK 19 46 #define IIS_LCLK 23 47 #define IIS_DSIN 18 48 #define IIS_DOUT 5 49 50 #ifdef __cplusplus 51 } 52 #endif 53 54 #endif
官方源码(esp-adf\examples\player\pipeline_sdcard_mp3),sdcard使用1线SDIO模式,所以只用到D0数据线(需外部上拉电路),(由于硬件D0线与GPIO2(strapping)共用,由于下载模式时,该电位需为低电平,所以与sdcard驱动有冲突,需注意)。
固件下载后,需要准备一张sdcard,并在sdcard根目录拷贝一个test.mp3文件。
正常的话,重启后,系统 播放sdcard的test.mp3文件。
转载于:https://www.cnblogs.com/llw2017/p/9613751.html
esp32-智能语音-mp3(sdcard)相关推荐
- 用Java开发的【智能语音开发板MEGA ESP32AI】
有点激动 ~ ~ ~ 新鲜出炉,用视频看看效果哦 我们新研发出世的语音开发板MEGA ESP32AI,来看看吧,有点腻害哦!!!先演示下功能语音控制开关等.播报天气 戳下面链接看视频哦? MEGA E ...
- 使用ESP8266/ESP32 实现智能语音控制电脑开关机
最近买了个台机放客厅里接电视玩游戏,另外还有跑程序计算的需求所以通过笔记本电脑使用RDP或Parsec来远程控制,当然瘾犯了也能云游戏.路由器在另一个房间所以是无线网卡链接,用的最好的AX210+10 ...
- 阿里云智能语音交互服务导览
阿里云智能语音交互 产品介绍 & 接口文档 阿里云iDST的智能语音交互服务主要有以下几个大类: 语音识别服务ASR :将语音转换成文字的能力快速集成,打造出"能听"的应用 ...
- HaaS云端一体智能语音交互方案
1.方案背景 智能语音交互作为物联网领域的一个重要生态成员,是一种全新的交互方式,它能够解放双手,随时提供服务,无须借助任何按键.近年来智能家居逐渐走入千家万户,产业市场规模不断增长.智能家居产品种类 ...
- 如何快速搭建一个像“天猫精灵”的智能语音助手?
不看这几篇好文,就别说自己了解物联网 天猫精灵相信大家都不陌生了,它是阿里巴巴于2017年7月5日发布的AI智能终端品牌.让用户以自然语言对话的交互方式,实现影音娱乐.购物.信息查询.生活服务等功能操 ...
- Android开发笔记(一百零八)智能语音
智能语音技术 如今越来越多的app用到了语音播报功能,例如地图导航.天气预报.文字阅读.口语训练等等.语音技术主要分两块,一块是语音转文字,即语音识别:另一块是文字转语音,即语音合成. 对中文来说,和 ...
- 【Android App】实战项目之实现你问我答的智能语音机器人(超详细 附源码和演示视频)
需要全部代码请点赞关注收藏后评论区留言私信~~~ 一.需求描述 想必大家都见过商场里的智能语音机器人,你对它提问时它可以自动回答你的问题,接下来我们也实现这样一个机器人,它依靠语音技术完成问询服务 基 ...
- 爆肝一周,用Python在物联网设备上写了个智能语音助手
1. 背景介绍 智能语音助手作为物联网领域的一个重要生态成员,是一种全新的交互方式,它能够解放双手,随时提供服务,无须借助任何按键.想必很多开发者都有玩过天猫精灵.小爱同学或者小度吧,看到这些炫酷的人 ...
- HaaS100 云端钉一体智能语音播放器设计
1.方案介绍 本文主要介绍如何基于HaaS100硬件平台搭建"云端钉一体"(阿里云IoT平台 + HaaS100 + 钉钉小程序)的智能语音播放器(以下简称智能语音播放器).该智能 ...
- 【技术案例】智能语音CAEDemo程序
Firefly智能语音套件支持科大讯飞AIUI云服务,通过CAEDemo程序在智能语音套件上实现语音识别.关键词唤醒.降噪.回声消除等示范功能. <观看案例演示视频> 硬件准备 1.智能语 ...
最新文章
- 【复盘】如何培养小朋友的编程能力?
- JQuery实现表格行当复制
- C++ Primer 5th笔记(7)chapter7 类:字面值常量类
- 你必须具有权限才能读取此对象_win10中随心所欲设置文件/文件夹访问权限,可以轻松做到,并不难...
- delphi frame 添加 create onshow 事件
- 服务器推送_初探 Watermill 构建 Golang 事件驱动程序,SSE 进行 HTTP 服务器推送
- 光线求交加速算法:边界体积层次结构(Bounding Volume Hierarchies)3-LBVH(Linear Bounding Volume Hierarchies)
- 95-080-044-源码-启动-jobmanager.sh
- json编辑器插件 vue_vue-json-editor json编辑器
- [辅助工具]	【羽睿】Proxmark3 Easy Gui 4.0 5.0 5.1加强版 PM3GUI_X稳定优化版
- 获取火山无水印视频方法
- python数据导入spss_spss-数据抽取-拆分与合并
- jeecms v9图标不显示问题
- (附源码)php积极心理学交流网站 毕业设计 100623
- nodejs生成uid
- [虚拟机]hyper-v简介及安装使用(图文详解)
- 窗口函数查询优化案例
- 匿名突破网络限制 (Tor工作原理分析)
- Qt编写的项目作品6-可视化大屏电子看板系统
- python qrcode 二维码中间贴图彩色
热门文章
- Java并发工具类之CountDownLatch
- 2021-06-16 forkjion stream流式计算方法
- python服务器搭建nginx_从0开始在腾讯云服务器上搭建python3+flask+uwsgi+nginx服务器...
- 区块链 数据读权限 设计方案
- FISCO BCOS Solidity 智能合约 返回多个值
- html浏览xsd,XSD 简易元素
- fullgc多久一次正常_多久排便一次算正常?提醒:出现3种情况,可能是胃肠“生病”了...
- 基于SSM的大学拍卖网站(含文档)
- 计算机名汉字 oracle,修改计算机名对ORACLE的影像
- python语法学习第十一天--模块