当前位置:网站首页>Anxinco esp32-a1s development board is adapted to Baidu dueros routine to realize online voice function
Anxinco esp32-a1s development board is adapted to Baidu dueros routine to realize online voice function
2022-07-07 23:32:00 【Little river god is tangled】
List of articles
Preface
in the light of ESP32-A1S Development board , I wrote about how to realize offline voice control LED Blog post of Deng , But the audio codec chip in the module used in the previous blog post is AC101, We need to write our own driver . In order to fit Le Xinde SDK, The codec chip in the module has also been replaced ES8388, Lexin has written the driver , As long as we don't need to rewrite the codec program for secondary development . It also makes our transplantation easier .
DuerOS It is Baidu Duer business department in 2017 year 1 month CES The interactive AI operating system launched by the exhibition , It gives hardware devices the ability to communicate with people , The new interactive way of voice dialogue is really integrated into people's lives .
This article will pass on Lexin ESP-ADF-SDK Medium dueros Routine for transplantation , In Anxin Ke SEP32-A1S-Audio-Kit Realize online voice dialog function on the development board , This article is very long , But no gossip .
One 、 preparation
1. Hardware preparation
There is no doubt that the hardware is anxinko ESP32-A1S-Audio-Kit_V2.2 Development board , With memory card , It's best to connect a loudspeaker , There is no speaker to connect 3.5mm Earphones with audio ports also become .
unfortunately : At present, this development board has been removed from the flagship store of Anxin keyibao , however ESP-A1S The module is still there , painting PCB Students can draw a small board of their own , The schematic diagram of the development board above is also provided to you , see The end of this article connects :
2. Software preparation
This secondary development is in Linux In the environment , The software is Lexin esp-adf engineering , In a folder you like clone Project source code , This cloning takes a long time , Please be patient :
git clone --recursive https://github.com/espressif/esp-adf.git
// If you feel slow , You can also use the blogger's warehouse
git clone https://gitee.com/seahi007/esp-adf.git
ESP-ADF Please refer to :espressif esp-adf Audio development framework
Finally, don't forget to pull the sub module :
cd esp-adf
git submodule update --init --recursive
In the process of waiting , You can register a baidu account or do developer verification . After the account is registered, it is verified by the developer ( Verification time 1~2 God ).DuerOS Open platform connectivity :https://dueros.baidu.com/open,
After passing the verification , Enter this connection : Xiaodu intelligent open platform :https://dueros.baidu.com/didp/main/index, Never click directly Console go in , Otherwise, you will never find this interface , You can't get profile file .
The details of the profile Please refer to :http://www.dianzixuexi.com/HTML/zixun/64787.html
Two 、 verification ESP-ADF If there is something wrong
1. Simple code modification
ESP-ADF Inside examples All need development boards , Because of its I2C,I2S And other interfaces are only adapted to the development board produced by Lexin . If we want to use our own board , You need to change the code , Make I2C and I2S The interface matches our board ,ESP32-A1S The development board interface of is as follows :
modify board_pins_config.c, route :esp-adf/components/audio_board/lyrat_v4_3
cd /home/saehi/Desktop/ESP/ESP32-A1S/esp-adf_test/esp-adf/components/audio_board/lyrat_v4_3
vi board_pins_config.c
2. Play MP3 test
Play MP3 This routine is not microSD( Memory card ) Of , You can directly compile, download and play .
To configure Audio HAL—>ESP32-Lyrat V4.3:
idf.py menuconfig
When the configuration is complete , Ready to compile —> download —> verification :
idf.py build flash montior
Now , You should be able to hear a very magical sound , It is proved in ESP-ADF Ready , You can start to do online voice function .
3、 ... and 、dueros Routine adaptation
The adaptation process is a little complicated , Please read... Carefully :
1. Replace the connection file
dueros The connection of requires profile file , It contains client_id、client_secret Wait for verification information .
A top priority : We need to take profile.zip Rename any file in to :duer_profile, Then replace duer_profile:esp-adf_test/esp-adf/components/dueros_service/duer_profile.
2. Memory card preparation
Prepare a memory card , It's better to have an empty memory card , And then put DingDing.wav Copy the file to the memory card root directory ,DingDing.wav The file path is :esp-adf_test/esp-adf/examples/dueros/tone. After that, insert the memory card into the card slot of the development board .
3. Code changes
Code modification is mainly in dueros Routine main In the document dueros_app.c:
(1) Shield touch keys
Anxinco ESP32-A1S There is no touch button in the development board , So we need to shield , Moreover, the circular query by touching the keys takes up a lot of CPU Resources for , It can lead to I2C And ES8388 Your communication is blocked ,dueros_app.c Of 294 Row to 342 All lines are shielded :
(2) Modify the wake-up tone
The file name of the wake-up tone in the source code is wrong , Without modification , The prompt sound cannot be played , Although it does not affect the use of , But reduce the experience .
Locate the :94 That's ok :
4. modify lyrat_v4_3 Medium board.c Code
open board.c:
vi esp-adf_test/esp-adf/components/audio_board/lyrat_v4_3/board.c
Locate the 93 That's ok , hold 93 Row to 99 The content of the line is blocked , as follows :
5. Screenshot of successful connection
After successful connection , You can speak into the microphone of the development board "Hi, Lexin ",” What's the weather like today? “, Under normal circumstances, weather conditions can be broadcast .
Four 、 common problem
1. Function undeclared error
Screenshot of the problem :
reason : dueros_esp_flash.c Not added to the project ;
Modification method : In path :"esp-adf_test/esp-adf/components/dueros_service/ " Open in CMakeLists.txt, Modify the following to compile :
2. Serial port monitoring has wake-up prompt but no prompt tone
reason 1: There is no... In the memory card DingDing.wav Music files ;
terms of settlement : hold esp-adf_test/esp-adf/examples/dueros/tone/DingDing.wav Copy the file to the memory card .
reason 2: The playback file has not been modified :
terms of settlement :
If the above methods are not solved , Please run play first MP3 Routine for , See if it's normal .
3.I2C Bus WriteReg Error
Screenshot of the problem :
reason : No shielding TOUCH Initialization code , Lead to TOUCH Initialization error .
terms of settlement : See : 4. modify lyrat_v4_3 Medium board.c Code
5、 ... and 、 Related connection
Schematic diagram of development board :ESP32-A1S-Audui-Kit-V2.0 Schematic diagram ;
Module purchase connection : Anxinco ESP32-A1S A treasure purchase connection ;
Welcome to anxinco's official blog : Welcome to anxinco Technology ;
Source code address :https://github.com/SeaHi-Mo/esp-adf
边栏推荐
- Force deduction solution summary 648 word replacement
- SAP HR 家庭成员信息
- Deep understanding of MySQL lock and transaction isolation level
- Fibonacci number of dynamic programming
- re1攻防世界逆向
- Experience sharing of system architecture designers in preparing for the exam: the direction of paper writing
- MATLAB signal processing [Q & A essays · 2]
- USB (XVII) 2022-04-15
- Mysql索引优化实战二
- V-for traversal object
猜你喜欢
Markdown
移动端异构运算技术 - GPU OpenCL 编程(基础篇)
Solve the problem of duplicate request resource paths /o2o/shopadmin/o2o/shopadmin/getproductbyid
Live-Server使用
Technology at home and abroad people "see" the future of audio and video technology
Matlab SEIR infectious disease model prediction
Unity3d learning notes 5 - create sub mesh
LM12丨Rolling Heikin Ashi二重K线滤波器
Three questions TDM
Oracle database backup and recovery
随机推荐
Markdown
Mysql索引优化实战一
包装行业智能供应链S2B2B商城解决方案:开辟电商消费新生态
Mysql索引优化实战二
深入理解Mysql锁与事务隔离级别
2021icpc Shanghai h.life is a game Kruskal reconstruction tree
违法行为分析1
Cloud native data warehouse analyticdb MySQL user manual
三问TDM
Dynamics 365 find field filtering
USB (XVIII) 2022-04-17
经纬度PLT文件格式说明
Puce à tension stabilisée LDO - schéma de bloc interne et paramètres de sélection du modèle
SAP HR 社会工作经历 0023
LDO稳压芯片-内部框图及选型参数
PHP uses Alibaba cloud storage
2022 届的应届生都找到工作了吗?做自媒体可以吗?
Map operation execution process
2022注册测绘师备考开始 还在不知所措?手把手教你怎么考?
The text editor of markdown class should add colors to fonts (including typora, CSDN, etc.)