NXP AN14270 Nambahake Dhukungan Swara menyang Guider GUI
Spesifikasi
Jeneng produk: AN14270 - Nambah Dhukungan Swara menyang GUI Guider kanggo i.MX 93
Revisi: 1.0
Tanggal: 16 Mei 2024
Informasi produk
Abstrak: Cathetan aplikasi iki nylidiki integrasi swara kanthi nggabungake teknologi pangenalan wicara (VIT) karo GUI Guider.
Produsen: NXP Semikonduktor
Swaraview
Pandhuan GUI: Alat pangembangan antarmuka panganggo saka NXP sing nggunakake perpustakaan grafis LVGL kanggo nggawe tampilan kanthi kualitas dhuwur kanthi macem-macem widget, animasi, lan gaya.
Voice Intelligent Technology (VIT): Alat dening NXP kanggo nemtokake wakewords lan printah liwat piranti online free lan piranti lunak kontrol swara.
Antrian Pesen (MQUEUE): Ngleksanakake antrian pesen POSIX 1003.1b kanggo komunikasi antar-proses antarane Guider GUI lan VIT.
Persyaratan Hardware, Software, lan Host
kategori | Katrangan |
---|---|
Hardware | Miturut syarat produk |
Piranti lunak | Miturut syarat produk |
tuan rumah | Miturut syarat produk |
Pandhuan Panggunaan Produk
Prasyarat
Flashing Versi Linux
Kanggo kerlip EVK nganggo versi Linux:
$ ./uuu.exe -b emmc_all .sd-flash_evk imx-image-full-imx93evk.wic
Toolchain karo Proyek Yocto
- Nggawe folder bin:
$ mkdir ~/bin
- Ngundhuh alat repo:
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
- Tambah folder bin menyang variabel PATH:
$ export PATH=~/bin:$PATH
- Resep kloning:
$ mkdir imx-yocto-bsp $ cd imx-yocto-bsp $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml $ repo sync
- Kanggo mbangun lan ngatur:
$ DISTRO=fsl-imx-fb MACHINE=imx93evk source imx-setup-release.sh -b deploy
Pitakonan sing Sering Ditakoni (FAQ)
Q: Apa iku VIT?
A: VIT singkatan saka Voice Intelligent Technology, alat dening NXP kanggo nemtokake wakewords lan printah nggunakake piranti online lan piranti lunak kontrol swara.
Q: Apa Guider GUI?
A: GUI Guider minangka alat pangembangan antarmuka panganggo saka NXP sing nggunakake perpustakaan grafis LVGL kanggo nggawe tampilan berkualitas kanthi macem-macem widget, animasi, lan gaya.
Informasi dokumen
Informasi | Isi |
Tembung kunci | AN14270, VIT, speech recognition, inter-process communication (IPC), message queue, GUI Guider |
Abstrak | Cathetan aplikasi iki nylidiki kemungkinan nggabungake swara kanthi nggawe jembatan antarane teknologi pangenalan wicara, kayata VIT, lan GUI Guider sing nggawe antarmuka. |
Pambuka
Antarmuka pangguna wis mbatesi panggunaan alat GUI Guider. Njupuk interaksi mung liwat mouse utawa layar demek bisa cukup kanggo sawetara kasus panggunaan. Nanging, kadhangkala kasus panggunaan mbutuhake ngluwihi watesan. Dokumen iki nylidiki kamungkinan nggabungake swara kanthi nggawe jembatan antarane teknologi pangenalan wicara, kayata VIT, lan GUI Guider sing nggawe antarmuka. Iki nggunakake cara universal kanggo ngubungake kabeh printah pangenalan swara lan wakeword kanggo interaksi apa wae sing digawe dening GUI Guider.
Swaraview
Kanggo nyetel komunikasi antarane GUI Guider lan teknologi VIT printah, deleng bagean 8. Komunikasi dibangun nggunakake kode digawe minangka handler, kang ngrungokake lan mbisakake kanggo simulasi acara ing GUI kanggo nggawe interaksi.
Panuntun GUI
GUI Guider minangka alat pangembangan antarmuka panganggo saka NXP sing nyedhiyakake pilihan cepet kanggo nggawe tampilan kanthi kualitas dhuwur nggunakake perpustakaan grafis LVGL. Iki nggunakake macem-macem widget, animasi, lan gaya sing beda-beda, kanthi konfigurasi pemicu lan kustomisasi sing beda-beda kanthi kemungkinan ora coding. Kanggo informasi luwih lengkap babagan GUI Guider, waca GUI Guider v1.6.1 User Guide (dokumen GUIGUIDERUG).
Teknologi cerdas swara
Voice Intelligent Technology (VIT) minangka alat sing digawe dening NXP kanggo nemtokake wakewords lan printah nggunakake piranti online gratis, perpustakaan, lan paket piranti lunak kontrol swara. MCUXpresso bisa digunakake kanggo mikro-kontroler utawa Linux BSP bisa digunakake kanggo mikro-prosesor.
Antri pesen
Antrian pesen (MQUEUE) minangka manajer sing ngetrapake format antrian pesen POSIX 1003.1b. Iki digunakake minangka komunikasi antar-proses (IPC) kanggo nggawe jembatan antarane GUI Guider lan VIT. Iku ijol-ijolan data ing wangun pesen, dikirim liwat VIT lan nindakake manajemen karo script
command_handler.
Persyaratan hardware, software, lan host
Tabel 1 nyedhiyakake rincian hardware, software, lan host sing dibutuhake kanggo nggunakake VIT lan GUI Guider.
Tabel 1. Hardware, software, lan host digunakake
kategori | Katrangan |
Hardware | • i.MX 93 EVK
• Sumber daya: USB Tipe-C 45 W pasokan daya (5 V/3 A) • USB Tipe-C lanang kanggo USB Tipe-A kabel lanang: perakitan, USB 3.0 cecek • adaptor LVDSL lan kabel HDMI utawa panel LCD DY1212W-4856 LVCD • Mikropon i.MX 93 internal |
Piranti lunak | • Versi Linux BSP: L6.1.55_2.2.0
• GUI Guider v1.6.1 versi terus • Toolchain 6.1-Langdale |
tuan rumah | • X86_64 Linux Ubuntu 20.04.6 LTS |
Prasyarat
Bagian iki njlèntrèhaké instalasi saka macem-macem alat sing dibutuhake.
Flashing versi Linux
Sadurunge tindakake langkah ing ngisor iki, ganti konfigurasi boot menyang mode undhuhan lan sambungake USB liwat host. Kanggo informasi luwih lengkap, deleng i.MX Linux User's Guide (dokumen IMXLUG).
Kanggo kerlip EVK, tindakake langkah ing ngisor iki:
- Download release gambar NXP Linux BSP anyar kanggo i.MX 93 (L6.1.55_2.2.0 utawa paling anyar).
- Kanggo kerlip EVK, download UUU anyar: https://github.com/nxp-imx/mfgtools/releases.
- Sambungake EVK karo host nggunakake port EVK USB1.
- Nggunakake imx-image-full, sijine loro program ing padha file lan kerlip EVK nggunakake printah ing ngisor iki:
Utawa, gunakake mung gambar kanggo kerlip EVK:
Cathetan: Priksa manawa kanggo mriksa pin boot.
Toolchain karo proyek Yocto
Proyek Yocto minangka kolaborasi sumber terbuka sing mbantu nggawe sistem basis Linux khusus. Yocto nggawe gambar sing digunakake dening i.MX.
Priksa manawa mesin inang duwe toolkit pangembangan aplikasi (ADT) utawa toolchain kanggo duwe lingkungan sing padha karo EVK. Priksa manawa bisa ngumpulake aplikasi kanggo papan target. Kanggo entuk toolchain sing bener, deleng "bagean 4.5.12" ing i.MX Linux Users Guide (dokumen IMXLUG) lan "bagean 4" ing i.MX Yocto Project Users Guide (dokumen IMXLXYOCTOUG).
Kanggo entuk toolchain ing mesin host saka lingkungan Yocto, tindakake langkah ing ngisor iki:
- Nggawe folder bin ing direktori ngarep:
- Priksa manawa folder ~/bin ana ing variabel PATH.
- Kloning resep-resep kanggo digunakake ing repositori:
- Kanggo mbangun, konfigurasi kaya ing ngisor iki:
- Kanggo ngasilake toolchain, atur lingkungan mandiri tanpa Proyek Yocto kaya ing ngisor iki:
Panuntun GUI
Bagean iki nerangake babagan GUI Guider lan carane nggunakake dhasar kanggo nggawe proyek adhedhasar alat iki. Iku uga nerangake bab karakteristik beda kanggo nggunakake lan njupuk advantage saka ciri kasebut.
widget lan acara Gui Guider
Nalika pangguna nggawe proyek ing GUI Guider, nggunakake macem-macem widget diutus minangka obyek kui otomatis. Objek iki nduweni sifat sing beda; salah sijine yaiku Acara. Gumantung ing widget, acara bisa duwe pemicu beda, lan apa sing gumantung ing target. Kanggo example, Figure 1 nuduhake apa mengkono yen tombol Doel layar mung tumindak "Muat layar".
Objek kasebut bisa ditemokake ing dalan /generate/gui-guider.h. Skrip command_handler njupuk advantage saka acara digunakake dening widget simulating pemicu.
Kanggo informasi luwih lengkap babagan widget lan acara, deleng GUI Guider v1.6.1 User Guide (dokumen GUIGUIDERUG).
Miwiti cepet
Kanggo miwiti nggarap, instal GUI Guider.
Ing instalasi host, tindakake langkah ing ngisor iki:
- Download versi paling anyar saka GUI Guider (1.7.1 utawa paling anyar).
- Tindakake langkah-langkah kanggo ngundhuh.
Ing kene, pangguna bisa milih nggawe proyek nganggo mantan resmiamples utawa proyek lokal.
Kanggo nggawe proyek GUI, tindakake langkah ing ngisor iki:
- Bukak GUI Guider 1.7.1.
- Nggawe proyek.
- Pilih versi LVGL.
- Kanggo i.MX 93, pilih prosesor i.MX.
- Pilih cithakan. Kanggo dokumen iki, pilih cithakan "ScreenTransition".
- Pilih Jeneng Proyek lan kanggo nggawe proyek, klik Gawe.
- Jendhela utama kudu katon, kaya sing ditampilake ing Gambar 6.
Nggawe widget, acara, lan pemicu
Kanggo nggawe widget, acara, lan pemicu, tindakake langkah ing ngisor iki:
- Ing sisih kiwa GUI Guider, klik tombol, disorot abang, kaping pindho.
- Akibaté, tombol ngembang kanggo nuduhake kabeh widget sing kasedhiya.
Bisa uga ana macem-macem widget kanthi properti sing beda. Cathetan aplikasi iki fokus ing tombol jinis widget. Nanging, bisa uga ana jinis widget liyane kanthi watesan. Kanggo informasi luwih lengkap, deleng "Rincian widget" ing GUI Guider v1.6.1 User Guide (dokumen GUIGUIDERUG). - Tambah widget Tombol kanthi nyeret menyang UI saka tab widget.
- Klik-tengen ing Tombol kanggo properti banjur klik Tambah acara.
- Jendhela njedhul munggah nuduhake kabeh acara widget bisa micu.
- Sabanjure, jendhela nuduhake kabeh acara pemicu bisa murub. Acara kasebut bisa ditrapake ing layar, widget liyane, utawa nggawe acara khusus.
- Kanggo mantan ikiample, layar anyar dimuat. Klik layar muat banjur pilih layar sing arep dimuat.
- Kanggo nguji aplikasi kasebut, gunakake simulator sing terintegrasi karo GUI Guider. Iki digunakake kanggo milih tombol sabanjure lan jinis simulasi sing bakal digunakake. Kanggo kasus iki, gunakake simulator ing C.
- Kanggo mbukak layar anyar, klik Tombol.
Bangunan kanggo i.MX 93
Kanggo mbangun i.MX 93, tindakake langkah ing ngisor iki:
- Priksa manawa toolchain sing digunakake dening GUI Guider wis diinstal kanthi bener. Kanggo verifikasi silang, priksa path
- Saka mantan sadurungeamplan, kanggo nggawe aplikasi lan mbukak ing i.MX 93, pilih Project> Mbangun> Yocto saka garis ndhuwur.
- Kanggo mriksa status Proyek, Ukuran binar, lan Log, pilih tab Informasi ing sisih ngisor aplikasi. Priksa log kanthi nggedhekake tab Informasi.
- Log nyedhiyakake informasi bangunan kalebu lokasi binar file. Kanggo kasus iki, binar ana ing path / /build/gui_guider.
- Goleki terminal host lan kirim menyang EVK nggunakake printah ing ngisor iki:
Cathetan: Kanggo nggunakake pendekatan ing ndhuwur, perlu yen mesin, host, lan target ana ing jaringan sing padha lan IP papan dikenal. - Nglakokake binar file ing EVK nggunakake printah ing ngisor iki:
Kanggo example, nggunakake layar LVDS, kang nuduhake project dibangun dening GUI Guider, minangka ditampilake ing Figure 19.
VIT
Bagean iki nerangake carane nggunakake mandiri VIT lan ngasilake model kanggo nyambungake karo Guider GUI. Iki nerangake carane nggunakake host kanggo ngasilake model kanthi karakteristik sing dikarepake. Kanggo informasi luwih lengkap, deleng VOICE-INTELLIGENT-TECHNOLOGY.
Nggawe model
Kanggo nggawe model, tindakake langkah ing ngisor iki:
- Mlebu menyang VIT websitus: VIT Model Generation Tool
- Klik tab GENERATE MODEL.
- Pilih platform & versi SW minangka "Linux BSP" lan "LF6.1.55_2.2.0". Uga, pilih opsi sing ditrapake kanggo Piranti minangka "i.MX93" lan Basa minangka "Inggris".
- Tambah wakewords, sing tumindak minangka pemicu sing ngandhani VIT nalika miwiti ngrungokake printah swara. Nalika wakeword utawa printah anyar digawe, takon kanggo nyetel nilai kanggo "Sensitivitas". Parameter iki nambah tingkat pangenalan, tegese yen nilai positif luwih gampang dideteksi nanging bisa nyebabake luwih akeh deteksi palsu. Tinimbang nilai negatif sing digunakake kanggo nyegah kebingungan antarane tembung kunci, njaga nilai sensitivitas minangka 0. Kanggo example, kene, tembung "hey mimpin" ditambahake.
- Tambah printah swara sing bakal digunakake lan mbusak sing ora digunakake.
- Klik tombol Generate model lan ngenteni nganti tombol Download model ora dikunci.
- Model kasebut dikirim menyang tab MODELKU. Kanggo ndownload model paling anyar, klik lambang download.
- Ekstrak folder zip lan simpen file file VIT_Model_en ngemot folder VIT_package.
Nglumpukake VIT voice_ui_app minangka mandiri
Voice_ui_app iku mantanample digawe kanggo gudang imx-voiceui. Aplikasi iki nggunakake model kanggo ndeteksi wakewords lan printah. Utilitas sing digunakake ing dokumen iki yaiku argumen "ngabari". Argumentasi iki nalika ndeteksi wakeword utawa printah, mbukak Python file WakeWordNotify utawa WWCommandNotify kanthi argumen sistem nggunakake pengenal (ID). ID iki mbantu mbedakake antarane pemicu.
Kanggo nggawe voice_ui_app ing host lan bantuan kanggo nemtokake model sadurunge digawe, tindakake langkah ing ngisor iki:
- Klone VIT repositori kalebu versi cabang, nggunakake printah ing ngisor iki:
$ git clone https://github.com/nxp-imx/imx-voiceui -b lf-6.1.55-2.2.0 - Nggawe serep saka asli file, nggunakake printah ing ngisor iki:
$cd /imx-voiceui
$mv ./vit/platforms/iMX9_CortexA55/lib/VIT_Model_en.h - Setel toolchain sing wis diinstal sadurunge:
$ sumber /opt/fsl-imx-xwayland/6.1-langdale/environment-setup-armv8a-poky-linux
Cathetan: Gunakake toolchain digawe dening Yocto. - Gawe proyek sampeyan, nggunakake printah ing ngisor iki:
$ gawe kabeh VERSION=04_08_01 CURRENT_GCC_VERSION=10 BUILD_ARCH=CortexA55 - Sawise proyek dibangun, bakal ngasilake direktori sing dijenengi release. Nyalin file voice_ui_app ing direktori iki menyang EVK:
$ scp release/voice_ui_app root@ :/ngarep/root
Nggunakake parameter -notify
Skrip sing diarani voice_ui_app nalika ngliwati gendera "-notify", kudu ana ing path /usr/bin/. Gunakake sing ditempelake files menyang / usr / bin / lan nyalin skrip kasebut menyang EVK.
$ scp WakeWordNotify root@ :/usr/bin/
$ scp WWCommandNotify root@ :/usr/bin/
Ing files nang, nggunakake wakeword / printah ID lan ngirim liwat antrian pesen.
Sawise nyalin iki files kanggo EVK, nggunakake parameter "-ngabari" kanggo ora pati jelas sing files WakeWordNotify, lan WWCommandNotify, duwe ijin sing dibutuhake. Kanggo nambah ing EVK, jalanake printah ing ngisor iki:
root@imx93evk:~# chmod a+x /usr/bin/WakeWordNotify root@imx93evk:~# chmod a+x /usr/bin/WWCommandNotify
Audio ngarep mburi
Audio front-end (AFE) digunakake minangka feed kanggo pangenalan swara VIT. Iku mbantu ngresiki gangguan lan kumandhang kanthi nggunakake sumber lan referensi speaker. Mula, asile yaiku audio mikropon saluran tunggal sing jelas sing bisa digunakake kanggo diproses. Kanggo informasi luwih lengkap, deleng VOICESEEKER.
AFE bisa ditemokake ing EVK ing path /unit_tests/nxp-afe.
Kanggo nyiapake lan nglakokake program, tindakake langkah-langkah ing file TODO.md ing nxp-afe:
- Priksa manawa DTB kasebut imx93-11×11-evk.dtb.
- Instal modul aloop kanggo ndhukung AFE:
root@imx93evk:~# sudo modprobe snd-aloop - Gawe serep asound.conf lan gunakake asound.conf sing cocog kanggo papan:
root@imx93evk:~# mv /etc/asound.conf /etc/asound-o.conf
root@imx93evk:~# cp /unit_tests/nxp-afe/asound.conf_imx93 /etc/asound.conf - Ngganti WakeWordEnginge kanggo nggunakake mesin tembung VIT kanthi bener. Konfigurasi iki ana ing njero file /unit_tests/nxp-afe/Config.ini.
- Ngowahi properti WakeWordEngine = VoiceSpot sing nggunakake VoiceSpot minangka standar kanggo WakeWordEngine = VIT.
- Kanggo nguji AFE, jalanake voice_ui_app:
root@imx93evk:~# ./voice_ui_app &
Cathetan: Ing kasus iki, ora perlu nambah parameter "-notify". - Jalanake AFE, nggunakake printah ing ngisor iki:
root@imx93evk:~# /unit_tests/nxp-afe/afe libvoiceseekerlight & - Kanggo nemtokake yen AFE mlaku ing latar mburi, gunakake perintah &. Kanggo ngerti apa program liyane sing mlaku ing latar mburi, gunakake printah ing ngisor iki:
ROOT@imx93evk:~# ps - Kanggo nutup AFE utawa voice_ui_app, gunakake printah ing ngisor iki:
root@imx93evk:~# pkill afe
root@imx93evk:~# pkill voice_ui_app
Mbukak voice_ui_app tanpa -ngabari
- Sawise tindakake langkah ing TODO.md file, mbukak binar voice_ui_app saka terminal ing EVK. Nampilake informasi babagan cara VIT mlaku.
- Kanggo feed voice_ui_app, jalanake AFE nggunakake printah ing ngisor iki:
root@imx93evk:~# /unit_tests/nxp-afe/afe libvoiceseekerlight & - Ngomong wakeword lan printah swara lan priksa manawa bisa digunakake kaya sing dikarepake. Iki nuduhake wakeword lan printah swara ing terminal kaya ing ngisor iki:
– Wakeword dideteksi 1 HEY NXP StartOffset 16640
– Swara Command dideteksi 3 TURN ON
Aplikasi GUI Guider VIT
Kaya sing diterangake sadurunge, command_handler aplikasi / script liwat kabar VIT ngirim ID printah lan ID wakeword menyang antrian pesen minangka IPC. Banjur njupuk ID iki kanggo simulasi acara ing aplikasi GUI-Guider. Gambar 26 nuduhake carane komunikasi iki wis kaleksanan.
Cathetan: Priksa manawa kanggo ngatur pawang supaya bisa digunakake kanthi bener karo model khusus sing digawe. Modifikasi iki kudu ditrapake ing host.
Gunakake command_handler kanggo simulasi acara
Kanggo nggunakake command_handler kanggo simulasi acara, tindakake langkah ing ngisor iki:
- Tambah ing files command_handler.h lan command_handler.c menyang proyek GUI Guider ing direktori / /adat/.
- Kanggo cocog model saiki digunakake, ngowahi command_handler.h kanthi ngganti voice_cmd_t lan voice_ww_t.
Cathetan: Priksa manawa urutan sing padha digunakake ing model kasebut. - Ngowahi jumlah wakewords lan printah ing file / /custom/command_handler.h:
#define VIT_WW_NUMBER 2
#define VIT_CMD_NUMBER 5 - Initialize antarmuka printah ing file / /adat/adat.c. GUI Guider ngasilake iki file kanthi otomatis.
#include "command_handler.h" - Fungsi sing ditetepake minangka void custom_init(lv_ui *ui) kasedhiya ing file /
path>/custom/custom.c. Fungsi iki bisa diowahi kanggo nambah kode lan printah initializer start_command_handler () minangka nderek:
void custom_init(lv_ui *ui)
{
/* Tambah kode sampeyan ing kene */
start_command_handler();
}
ngendi:
Start_command_handler () digunakake kanggo nggawe thread mlaku minangka handler, njupuk pesen dikirim VIT, lan nglakokaké printah diutus dening command_handler_link (). - Kanggo nyambungake wakewords lan printah VIT karo obyek lan acara, gunakake printah ing ngisor iki:
void command_handler_link(voice_ww_t WW_Id, voice_cmd_t CMD, lv_obj_t ** obj, lv_event_code_t acara);
ngendi:
• command_handler_link () digunakake kanggo nyimpen acara kanggo simulasi kanggo eksekusi VIT.
• Input, voice_ww_t lan voice_cmd_t, digawe ing langkah 2 hubungane langsung karo model VIT.
• Argumentasi katelu, lv_obj_t **, hubungane karo GUI Guider nggawe obyek. Pisanan, goleki obyek sing bakal disambungake. Jeneng kasebut cocog karo struktur sabanjure _ . Kanggo nemokake ngendi iku ditetepake, mriksa ing file digawe dening GUI Guider ing kui/gui_guider.h. Ing kene, sampeyan bisa nemokake struktur sabanjure kanthi kabeh obyek sing bisa disambungake.
Fungsi custom_init(lv_ui *ui) digunakake kanggo miwiti ing wiwitan eksekusi GUI Guider. Struktur iki bisa digunakake kanggo nggandhengake karo obyek, ngerti carane nggunakake kanthi bener. Pointer saka struktur diwenehi * ui, lan pointer kanggo nggoleki lv_obj_t **. Mulane, perlu nggunakake struktur iki kanthi format sabanjure:
&ui->speed_btn_1
- Argumentasi kaping papat, acara lv_event_code_t, ana hubungane karo acara sing bakal dipicu. Biasane duwe struktur kaya iki: LV_EVENT_ . Iku nemtokake apa apa karo acara micu liwat kode viewer ing file acara_init.c.
Kanggo example, btn_1 digawe ing kacepetan layar wis acara iki digawe dening GUI Guider.
Example
Bagian iki nuduhake mantanample saka implementasine iki kanggo nambah support swara kanggo Guider GUI, toggling widget LED lan ngganti antarane layar GUI.
- Nggunakake cithakan GUI digawe karo tombol, nambah widget. Kanggo example, nambah widget LED.
- Tambah acara sing dipencet menyang btn_1 lan kanggo ngganti latar mburi nambah konfigurasi acara. Ing kasus iki, latar mburi kudu dipilih minangka ireng kanggo "mateni" widget LED. Mula, acara sing digunakake dipencet > led_1 > Background ireng (#000000).
- Nggunakake tombol padha, ngatur acara kanggo nemtokake kanggo "nguripake". Kanggo kasus iki, tambahake acara sing dirilis menyang btn_1 lan tambahake abang ing latar mburi. Mulane, acara sing digunakake dirilis > led_1 > Latar mburi abang (#ff0000).
- Sawise GUI digawe, nambah command_handler.c lan command_handler.h menyang adat / folder.
- Kanggo nggawe link antarane acara lan VIT, nambah baris ing ngisor iki ing custom_init () nang file ing adat / adat.c. Kanggo ngganti antarane layar, tambahake rong acara maneh kanthi ngubungake btn_1 kanggo ngganti menyang layar 2.
ngendi:- Kombinasi wakeword HEY_LED lan printah TURN_OFF ditugasake kanggo mateni LED. Ing tembung liyane, ngganti latar mburi ireng.
- Kombinasi wakeword HEY_LED lan printah TURN_ON ditugasake kanggo nguripake LED abang.
- Kombinasi wakeword HEY_NXP lan printah NEXT ditugasake kanggo ngganti antarane layar nggunakake acara sing ditugasake kabeh kanggo btn_1, lan nggunakake btn_before ing layar 2.
- Kombinasi wakeword HEY_NXP lan printah RETURN ditugasake bali menyang layar 1.
- Pilih Project > Build > Yocto lan gawe proyek.
- Ngirim binar anyar menyang EVK.
Cathetan: Log informasi nyedhiyakake lokasi binar.
scp oyod@ :/ngarep/root
Testing lan konfigurasi
Sawise download rampung, tindakake langkah ing ngisor iki ing EVK:
- Verifikasi yen modul snd-aloop wis dimuat kanthi mbukak lsmod. Yen modul ora ditemokake, muat nganggo printah ing ngisor iki:
root@imx93evk:~# sudo modprobe snd-aloop - Jalanake voice_ui_app nggunakake printah ing ngisor iki:
root@imx93evk:~# ./voice_ui_app -ngabari &
ngendi:- Notify digunakake kanggo ngirim kabar menyang WakeWordNtfy lan WWCommandNtfy.
Cathetan: Elinga nyalin WakeWordNtfy lan WWCommandNtfy menyang usr/bin. - The & digunakake kanggo mbukak ing latar mburi.
- Notify digunakake kanggo ngirim kabar menyang WakeWordNtfy lan WWCommandNtfy.
- Verifikasi yen mesin VIT disetel ing Config.ini.
- Jalanake AFE kanthi libvoiceseekerlight ing latar mburi:
root@imx93evk:~# cd /unit_tests/nxp-afe/
root@imx93evk:~# ./afe libvoiceseekerlight & - Bukak aplikasi GUI Guider nggunakake printah ing ngisor iki:
root@imx93evk:~# ./gui_guider
Nganti langkah iki, layar LVDS, utawa HDMI nampilake GUI sing digawe. - Coba gunakake wakeword lan printah swara sing wis ditemtokake sadurunge, contoneample, ngomong "Hei NXP" lan "Pateni". Sawise ngucapake printah kanggo mateni, gumantung saka callback sing ditugasake, GUI Guider nindakake tumindak. Kanggo mantan ikiample, GUI Guider ngganti werna latar mburi kanggo widget LED.
Tabel 2 nampilake sawetara sumber daya tambahan sing digunakake kanggo nambah dokumen iki.
Tabel 2. Sumber daya sing gegandhengan
sumber daya | Link / carane entuk |
Kulawarga Prosesor Aplikasi i.MX 93 - Arm Cortex-A55, Akselerasi ML, Irit Daya MPUNXP i.MX 93 A1 (i. MX93) | https://www.nxp.com/products/processors-and- mikrokontroler/lengan-prosesor/i-mx-aplikasi- prosesor/i-mx-9-prosesor/i-mx-93-aplikasi- prosesor-kulawarga-lengen-korteks-a55-ml-akselerasi-daya- efisien-mpu: i.MX93 |
Linux sing dipasang kanggo Prosesor Aplikasi i.MX (IMXLINUX) | http://www.nxp.com/IMXLINUX |
Guider GUI v1.6.1 User Guide (GUIGUIDERUG) | https://www.nxp.com/docs/en/user-guide/ GUIGUIDERUG-1.6.1.pdf |
VIT i.MX voiceUI repositori | https://github.com/nxp-imx/imx-voiceui |
Wigati babagan kode sumber ing dokumen kasebut
ExampKode sing ditampilake ing dokumen iki nduweni hak cipta lan lisensi BSD-3-Clause:
Hak Cipta 2023-2024 NXP Distribusi lan digunakake ing sumber lan formulir binar, kanthi utawa tanpa modifikasi, diijini yen syarat ing ngisor iki dipenuhi:
- Distribusi ulang kode sumber kudu njaga kabar hak cipta ing ndhuwur, dhaptar kahanan iki lan wewaler ing ngisor iki.
- Distribusi ulang ing wangun binar kudu ngasilake kabar hak cipta ing ndhuwur, dhaptar kahanan iki lan wewaler ing ngisor iki ing dokumentasi lan / utawa bahan liyane kudu diwenehake karo distribusi kasebut.
- Jeneng sing duwe hak cipta utawa jeneng panganggo uga ora bisa digunakake kanggo nyengkuyung utawa promosi produk sing dijupuk saka piranti lunak iki tanpa ijin tertulis sadurunge.
PERANGKAT LUNAK IKI DISEDIAKAN DENING SING DUWE HAK CIPTA lan KONTRIBUTOR "AS IS" LAN JAMINAN TERSEBUT UTAWA TERSIRAT, Klebu, nanging ora diwatesi, JAMINAN DAGANG lan KESESUAIAN KANGGO TUJUAN TERTENTU. Ora ana sing duwe hak cipta utawa kontributor sing tanggung jawab kanggo LANGSUNG, LANGSUNG, INSIDENTAL, KHUSUS, EXEMPLARY, UTAWA KERUSAKAN KONSEQUENTIAL (kalebu, nanging ora diwatesi, pengadaan barang-barang pengganti, layanan, layanan, layanan; UTAWA GANGGUAN BISNIS) Nanging nyebabake lan ing sembarang teori tanggung jawab, apa ing KONTRAK, TANGGUNG JAWAB STRICT, UTAWA TORT (kalebu teledor utawa liyane) njedhul ing sembarang cara metu saka panggunaan SOFTWARE THIS, sanajan DAMPOSSIBILED OF THE.
Riwayat revisi
Tabel 3 ngringkes revisi dokumen iki.
Dokumen ID | Tanggal rilis | Katrangan |
AN14270 v.1.0 | 16 Mei 2024 | Rilis umum pisanan |
Informasi hukum
Definisi
Draft - A konsep status ing document nuduhake yen isi isih ing re internalview lan tundhuk persetujuan resmi, sing bisa nyebabake modifikasi utawa tambahan. NXP Semiconductors ora menehi perwakilan utawa garansi babagan akurasi utawa kelengkapan informasi sing kalebu ing versi draf dokumen lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut.
Penafian
Garansi lan tanggung jawab winates - Informasi ing dokumen iki dipercaya akurat lan dipercaya. Nanging, NXP Semiconductors ora menehi perwakilan utawa jaminan, sing ditulis utawa diwenehake, babagan akurasi utawa jangkep informasi kasebut lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut. NXP Semiconductors ora tanggung jawab kanggo isi ing dokumen iki yen diwenehake dening sumber informasi ing njaba NXP Semiconductors.
NXP Semikonduktor ora bakal tanggung jawab kanggo karusakan ora langsung, insidental, punitive, khusus utawa konsekuensial (kalebu - tanpa watesan - bathi sing ilang, tabungan sing ilang, gangguan bisnis, biaya sing ana gandhengane karo penghapusan penggantian Mor produk utawa biaya kerja ulang) utawa ora karusakan kuwi adhedhasar tort (kalebu teledor), babar pisan, nerbitake kontrak utawa teori legal liyane.
Senadyan karusakan apa wae sing bisa ditindakake dening pelanggan kanthi alasan apa wae, tanggung jawab agregat lan kumulatif NXP Semikonduktor marang pelanggan kanggo produk sing diterangake ing kene bakal diwatesi miturut Katentuan lan kahanan adol komersial NXP Semikonduktor.
Hak kanggo nggawe owah-owahan - NXP Semikonduktor nduweni hak kanggo ngganti informasi sing diterbitake ing dokumen iki, kalebu tanpa watesan spesifikasi lan deskripsi produk, kapan wae lan tanpa kabar. Dokumen iki ngganti lan ngganti kabeh informasi sing diwenehake sadurunge diterbitake.
Kesesuaian kanggo panggunaan - Produk NXP Semiconductors ora dirancang, sah utawa dijamin cocog kanggo digunakake ing dhukungan urip, sistem utawa peralatan sing kritis utawa safety-kritis, utawa ing aplikasi sing gagal utawa malfungsi produk NXP Semikonduktor bisa uga diarepake. nyebabake ciloko pribadi, pati utawa properti abot utawa karusakan lingkungan. NXP Semikonduktor lan panyedhiya ora tanggung jawab kanggo kalebu lan/utawa nggunakake produk NXP Semikonduktor ing peralatan utawa aplikasi kasebut lan mulane kalebu lan/utawa panggunaan kasebut tanggung jawab kanggo pelanggan.
Aplikasi - Aplikasi sing diterangake ing kene kanggo produk iki mung kanggo ilustrasi. NXP Semiconductors ora menehi perwakilan utawa garansi manawa aplikasi kasebut cocog kanggo panggunaan sing ditemtokake tanpa tes utawa modifikasi luwih lanjut.
Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sing nggunakake produk NXP Semiconductors, lan NXP Semiconductors ora tanggung jawab kanggo bantuan karo aplikasi utawa desain produk pelanggan. Tanggung jawab tunggal pelanggan kanggo nemtokake manawa produk NXP Semiconductors cocok lan pas kanggo aplikasi lan produk sing direncanakake, uga kanggo aplikasi sing direncanakake lan panggunaan pelanggan pihak katelu. Pelanggan kudu menehi desain lan perlindungan operasi sing cocog kanggo nyilikake risiko sing ana gandhengane karo aplikasi lan produk.
NXP Semiconductors ora nampa tanggung jawab apa wae sing ana gandhengane karo standar, karusakan, biaya utawa masalah sing adhedhasar kelemahane utawa standar ing aplikasi utawa produk pelanggan, utawa aplikasi utawa panggunaan pelanggan pihak katelu. Pelanggan tanggung jawab kanggo nindakake kabeh tes sing dibutuhake kanggo aplikasi lan produk pelanggan nggunakake produk NXP Semiconductors supaya ora dadi standar aplikasi lan produk utawa aplikasi utawa digunakake dening pelanggan pihak katelu. NXP ora nanggung tanggung jawab babagan iki.
Sarat lan katemtuan adol komersial - Produk NXP Semiconductors didol miturut syarat lan kahanan umum adol komersial, kaya sing diterbitake ing https://www.nxp.com/profile/terms, kajaba digunakake sarujuk ing persetujuan individu ditulis bener. Ing kasus persetujuan individu rampung mung syarat lan katemtuan saka persetujuan pamilike bakal ditrapake. NXP Semiconductors kanthi iki kanthi tegas mbantah kanggo ngetrapake syarat lan kahanan umum pelanggan babagan tuku produk NXP Semiconductors dening pelanggan.
Kontrol ekspor - Dokumen iki uga item (e) sing diterangake ing kene bisa uga tundhuk karo peraturan kontrol ekspor. Ekspor bisa uga mbutuhake wewenang sadurunge saka panguwasa sing kompeten.
Kesesuaian kanggo digunakake ing produk non-otomotif sing nduweni kualifikasi - Kajaba dokumen iki kanthi tegas nyatakake yen produk NXP Semiconductors tartamtu iki nduweni kualifikasi otomotif, produk kasebut ora cocok kanggo panggunaan otomotif. Ora qualified utawa dites sesuai karo tes otomotif utawa syarat aplikasi. NXP Semiconductors ora tanggung jawab kanggo inklusi lan / utawa nggunakake produk qualified non-otomotif ing peralatan otomotif utawa aplikasi.
Yen pelanggan nggunakake produk kanggo desain lan digunakake ing aplikasi otomotif kanggo spesifikasi lan standar otomotif, pelanggan (a) kudu nggunakake produk kasebut tanpa jaminan NXP Semikonduktor kanggo produk kasebut kanggo aplikasi, panggunaan lan spesifikasi otomotif kasebut, lan ( b) nalika pelanggan nggunakake produk kanggo aplikasi otomotif ngluwihi spesifikasi NXP Semikonduktor, panggunaan kasebut mung dadi resiko pelanggan dhewe, lan (c) pelanggan menehi ganti rugi kanthi lengkap NXP Semikonduktor kanggo tanggung jawab, kerusakan utawa klaim produk sing gagal amarga desain lan panggunaan pelanggan. produk kanggo aplikasi otomotif ngluwihi babar pisan standar NXP Semikonduktor lan specifications produk NXP Semikonduktor.
Terjemahan — Versi dokumen non-Inggris (diterjemahake), kalebu informasi hukum ing dokumen kasebut, mung kanggo referensi. Versi Inggris bakal ditrapake yen ana bedo antarane versi terjemahan lan Inggris.
Keamanan - Pelanggan mangertos manawa kabeh produk NXP bisa ngalami kerentanan sing ora dingerteni utawa ndhukung standar keamanan utawa spesifikasi sing wis ditemtokake kanthi watesan sing dingerteni. Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sajrone siklus urip kanggo nyuda efek saka kerentanan kasebut ing aplikasi lan produk pelanggan. Tanggung jawab pelanggan uga ngluwihi teknologi mbukak lan/utawa eksklusif liyane sing didhukung produk NXP kanggo digunakake ing aplikasi pelanggan. NXP ora tanggung jawab kanggo kerentanan apa wae. Pelanggan kudu mriksa nganyari keamanan kanthi rutin saka NXP lan tindakake kanthi tepat.
Pelanggan kudu milih produk kanthi fitur keamanan sing paling cocog karo aturan, peraturan, lan standar aplikasi sing dituju lan nggawe keputusan desain sing paling penting babagan produk lan tanggung jawab mung kanggo netepi kabeh syarat legal, peraturan, lan keamanan babagan produke, preduli informasi utawa dhukungan sing bisa diwenehake dening NXP.
NXP duwe Product Security Incident Response Team (PSIRT) (bisa digayuh ing PSIRT@nxp.com) sing ngatur investigasi, laporan, lan rilis solusi kanggo kerentanan keamanan produk NXP.
NXP BV - NXP BV dudu perusahaan operasi lan ora nyebarake utawa ngedol produk.
merek dagang
Kabar: Kabeh merek sing dirujuk, jeneng produk, jeneng layanan, lan merek dagang minangka properti sing nduweni.
NXP — wordmark lan logo iku merek dagang saka NXP BV
i.MX - iku merek dagang saka NXP BV
Wigati dimangerteni manawa kabar penting babagan dokumen iki lan produk sing diterangake ing kene, wis kalebu ing bagean 'Informasi hukum'.
© 2024 NXP BV Kabeh hak dilindhungi undhang-undhang.
Kanggo informasi luwih lengkap, bukak: https://www.nxp.com
Tanggal rilis: 16 Mei 2024
Pengenal dokumen: AN14270
Dokumen / Sumber Daya
![]() |
NXP AN14270 Nambahake Dhukungan Swara menyang Guider GUI [pdf] Pandhuan pangguna AN14270 Nambahake Dhukungan Swara menyang GUI Guider, AN14270, Nambahake Dhukungan Swara menyang GUI Guider, menyang GUI Guider, GUI Guider, Guider |