当前位置:网站首页>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
边栏推荐
- Explain
- Ros2 topic (03): the difference between ros1 and ros2 [01]
- The 19th Zhejiang Provincial College Programming Contest 2022 f.easyfix chairman tree
- 经纬度PLT文件格式说明
- 系统设计概述
- FPGA basics catalog
- Description of longitude and latitude PLT file format
- B_ QuRT_ User_ Guide(40)
- Sequence of entity layer, Dao layer, service layer and controller layer
- USB (XV) 2022-04-14
猜你喜欢
js 获取对象的key和value
Solution of intelligent supply chain collaboration platform in electronic equipment industry: solve inefficiency and enable digital upgrading of industry
Solve the problem of duplicate request resource paths /o2o/shopadmin/o2o/shopadmin/getproductbyid
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
移动端异构运算技术 - GPU OpenCL 编程(基础篇)
家用电器行业渠道商协同系统解决方案:助力家电企业快速实现渠道互联网化
MySQL Index Optimization Practice I
伸展树(一) - 图文解析与C语言实现
Puce à tension stabilisée LDO - schéma de bloc interne et paramètres de sélection du modèle
SAP HR奖罚信息导出
随机推荐
建筑建材行业SRM供应商云协同管理平台解决方案,实现业务应用可扩展可配置
Cloud native is devouring everything. How should developers deal with it?
FPGA basics catalog
欢聚时代一面
HDU 4747 Mex「建议收藏」
SAP HR奖罚信息导出
Matlab SEIR infectious disease model prediction
高效的S2B2C电商系统,是这样帮助电子材料企业提升应变能力的
POJ2392 SpaceElevator [DP]
Vulnerability recurrence ----- 49. Apache airflow authentication bypass (cve-2020-17526)
USB (XVI) 2022-04-28
Conversion between commonsmultipartfile and file
Markdown
StringUtils工具类
2022 certified surveyors are still at a loss when preparing for the exam? Teach you how to take the exam hand in hand?
Right click the idea file to create new. There is no solution to create new servlet
List. How to achieve ascending and descending sort() 2020.8.6
Force deduction solution summary 648 word replacement
[microservices SCG] gateway integration Sentinel
Installing spss25