ReSpeaker je otvoreni modularni voice interfejs pogodan za implementaciju prepoznavanja govora i kontrole glasom u svakodnevnim projektima. Omogućava komunikaciju sa kućnim, kancelarijskim ili industrijskim uređajima sa kojima se povezuje bežičnom internet vezom ili direktnom žičnom konekcijom preko I/O portova. Seeed Studio, koji nam je i omogućio primerak ovog uređaja za potrebe ovo recenzije, obezbeđuje Arduino softverske biblioteke za ovaj Voice Assistant kit.
Seeed je nakon nekoliko, sada povučenih ReSpeaker proizvoda sa tržišta, predstavio novi ReSpeaker Lite. Može se nabaviti u dve varijante: samo kao ReSpeaker Lite pločica i u kompletu sa Seeed Studio XIAO ESP32-S3 mikrokontrolerskom razvojnom pločicom u vidu Voice Assistant Kit-a. Nama je stigao sa dodatnim mono zvučnikom u plastičnom kućištu prilagođenom za laku montažu sa dva zavrtnja sa oznakom 4R 5W. Oznaka navodi da je u pitanju 4 omski drajver nominalne jačine od 5 W. Prilično je glasan i adekvatnog kvaliteta u skladu sa svojom namenom. Istaknut mu je srednji zvučni opseg, upravo onaj gde se i nalazi govor. Šum je potisnut oblikom membrane, a kompresivna kutija smanjuje pojavu distrozija pri nižim frekvencijama.
Hardver XIAO ReSpeaker Lite
ReSpeaker Lite Voice Assistant Kit je upakovan u malu kartonsku kutiju u Seeed Studio bojama. Na kutiji su istaknute osnovne karakteristike ovog kita, a to su: već zalemljen XIAO ESP32-S3 za prikupljanje podataka i povezivanje na oblak, NLU algoritmi (IC, AEC, NS i AGC) za ubrzanje obrade signala inkorporirani u XMOS XU316 koji je na ploči, zvučnički niz od dva digitalna zvučnika povećanog dometa i najzad kompatibilnost sa glasovnim asistentima poput: Home Assistant, Amazon Alexa, Google Assistant ili Cloud Speach-to-text.
Osnovu dela za obradu zvučnih informacija čini XMOS XU316-1024-QF60A-C24 čip koji na sebi nosi oznaku V16A0, što ne bi trebalo da vas zbuni, a oznaka otkriva da je brzina mikrokontrolera 600 MHz (2400 MIPS). xcore.ai serija 32-bitnih višejezgranih mikrokontrolera ima veoma malu latenciju i potpuno determinističko vreme trajanja izvršenja svake komande ukoliko se podaci povlače iz interne memorije. Mogu izvršavati više zadataka u realnom vremenu, a logička mreža velike brzine koja povezuje jezgra omogućava komunikaciju između zadataka. Sve ovo omogućava implementaciju vremenski osetljivih funkcija. Kod ovog šesnaestojezgarnog mikrokontrolera RISC arhitekture sva jezgra su sa real-time logikom i grupisana su u parovima po dva, takozvanim xCORE tiles. Sv aka od 229 16/32 bitnih komandi se izvršava u jednom ciklusu, osim operacije deljenja. Za kriptografske, aritmetičke i DSP funkcije implementirane su 64-bitne MAC instrukcije. Internom SRAM-u od 512 KB po xCORE tile-u za smeštanje koda i podatke jezgra direktno pristupaju u jednom taktu. XMOS XU316 se najčešće koristi u Hi-Fi i kućnim višekanalni HD audio dekoderima bez upotrebe eksternog ASRC (Asynchronous Sample Rate Conversion) čipa koji je izuzetno složen, pa time i sa visokom cenom. Ovaj sistem se može teoretski koristiti i za programiranje XMOS XU316 mikrokontrolera, jer je na ploči uz kontroler i deset pinova, dva reda po pet, za montažu JTAG konektora. Sa obzirom na cenu razvojnih ploča sa ovim kontrolerom, a nisku cenu ovog proizvoda, u nekim slučajevima se i ta mogućnost može pokazati interesantnom.
Naš Seeed Studio ReSpeaker Lite Voice Assistant Kit je došao sa zalemljenim Seeed Studio XIAO-ESP32-S3 mikrokontrolerskim razvojnim sistemom o kome smo ranije pisali i koji ima i konektor za kameru i u tom slučaju postaje XIAO-ESP32-S3 Sense koji pored standardnih mrežnih mogućnosti (2.4 GHz Wi-Fi) na veoma rasprostranjenoj i odlično softverski podržanoj ESP32-S3 platformi omogućava i snimanje video i foto zapisa. integrisani bežični modul pogodan je za slanje podataka i strimovanje videa na oblak. Kako je XIAO-ESP32-S3 zalemljen za ReSpeaker ploču, dva pina XIAO-2 i XIAO-3 I/O pinovi su izvedeni na ivicu ReSpeaker ploče. Tu je i pet I/O linija sa XMOS XU316 mikrokontrolera: 33, 35, 36, 42 i 43 i oni se nalaze uz samu ivicu ploče grupisani u niz, gde po potrebi može da se zalemi dodatni petopinski heder.
Analogni audio signal se nakon generisanja prosleđuje na audio izlaze. Nalaze se jedan pored drugog, jedan je u vidu belog mono konektora za već pomenuti 5 W zvučnik, dok je drugi standardni 3.5 mm stereo audio džek na kome je signal nivoa pogodnog za slušalice. Audio signal se generiše u Texas Instruments TLV320AIC3204 audio dvokanalnom ADC/DAC sa šest analognih ulaza i četiri analogna izlaza. Softverski se može onemogućiti bilo koji od dva audio izlaza, i 3.5 džek i konektor za zvučnik kontrolom AIC3204 kola.
Sa naličja se nalazi mikrofonski niz od dva digitalna mikrofona velikog dometa osetljivosti -26 dBFS. Sa tim karakteristikama mikrofoni mogu sigurno detektovati govor na daljini do 3 m, a ugrađeni algoritmi u XU316 za razumevanje govora (Natural Language Understanding algorithms) sa poništavanjem interference (Interference Cancelation), poništavanje zvučnog ehoa (Acoustic Echo Cancellation), potiskivanje buke (Noise Suppresion), odnosom glas-buka (Voice-to-Noise Ratio (VNR)) i automatskom kontrolom pojačanja (Automatic Gain Control) omogućavaju visokokvalitetno prikupljanje glasa. Mikrofoni su raspoređeni na suprotnim krajevima ploče kako bi se maksimizovala mogućnost detekcije pravca dolaska zvuka. U sredini ploče se nalaze dve diode. Jedna je programabilna RGB dioda, dok je druga crvena Mute diode. Tu su i dva tastera, jedan je takođe Mute koji se koristi za prekidanje zvučnog signala na audio izlazu, dok je drugi Usr čija se funkcija može programirati. Power dugme i na suprotnom kraju Power dioda imaju funkciju u skladu sa imenom.
Softver
Ideja ovog Voice Assistant Kita nije da bude razvojni sistem za XMOS XU316 pa iako je teoretski moguće programirati i taj čip preko JTAG-a u XTC Tools paketu koji je besplatan i dostupan za sve tri bitne OS platforme današnice: Windows, MacOS i Linux ipak nije to ono što je Seeed Studio zamislio. Napisan firmver se može flešovati na XU316 i preko USB-C porta korišćenjem DFU-Util programa, što je inače preporučen način za upload nekog od firmvera koje je Seeed Studio već napisao i postavio na ReSpeaker GitHub-u. Veoma je bitno da se u ovom trenutku zaustavimo i još jednom istaknemo da postoje dve verzije kita, pa stoga treba i odlučiti koji firmver se preuzima i flešuje. Ukoliko nema ugrađenog XIAO ESP32-S3, audio ulaz/izlaz se realizuje kroz postojeći USB-C port i signal se dalje može koristiti i obrađivati na PC računaru ili Raspberry Pi SBC-u. Tada se koristi USB firmver. U ovom slučaju se može koristiti i I2S firmver, ali se tada I2S interfejs koristi za protok podataka o zvuku. Ukoliko je ugrađen XIAO ESP32-S3 onda se I2S interfejs koristi za slanje i primanje zvučnih podataka te se na ESP32-S3 mikrokontroleru pokreće softver za prepoznavanje govora ili Voice Assistant aplikacija.
U našem slučaju potrebno je instalirati standardnu Espressif ESP32 definiciju ploče u Arduino IDE, prethodno dodajući link ka njoj. Treba izabrati ESP32S3 Dev Module kao ploču sa kojom se radi.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Zatim je potrebno preuzeti ReSpeaker Lite biblioteku, po potrebi je zipovati i dodati kao zipovanu Sketch/Include library/Add .ZIP Library u Arduino IDE meniju. Biblioteka se preuzima sa git-a.
Na Wiki-u sem dodatnih informacija možete naći i veći broj veoma interesantnih demo aplikacija, među kojima su recimo i Stream generator, MP3 plejer, MQTT Audio stream i Star Wars Theme plejer. Takođe je tu i veoma interesantan projekat: povezivanje ReSpeaker Lite Voice Assistant Kit-a sa Home Assistant-om – open source home automation softverom.
Zaključak
Seeed Studio ReSpeaker Lite Voice Assistant Kit sa XIAO ESP32-S3 razvojnim sistemom na sebi može se koristiti za Far-field, industrial i home automation glasovnu kontrolu, procesuiranje izgovorenih komandi, prepoznavanje glasa i upravljanje kućnom automatizacijom uz pomoć Home Assistant, Google Assistant ili Amazon Alexa platformi.
Cena kita bez XIAO ESP32-S3 je $25, sa njim $30, a dodatni 5 W zvučnik je samo $2. Procenjujemo da je ovo veoma prigodna cena za programabilni razvojni sistem za Voice Assistant aplikacije. Odlična ideja je da se integriše ESP32-S3 i to bas XIAO modul, jer ga je Seeed Studio odlično softverski podržao, ali još više zbog njegovih tehničkih mogućnosti: 2.4 GHz Wi-Fi i mogućnost postavljanja minijaturne kamere. Ovo je upravo jedan dobar primer prilagođavanja i samog XIAO ESP32-S3 Sense kita u drugi kompleksniji proizvod i proširenje namene oba mikrokontrolerska ekosistema. Ovde mislimo na XMOS XU316 kada govorimo o drugom. Na kraju, moramo istaći da je ovaj kit, sa ili bez dodatnog XIAO modula, veoma primenjiv hardver koji će svakom projektu dodati glasovnu kontrolu na lak i ekonomičan način.
Seeed Studio proizvode u Srbiji zvanično prodaje Malina314.
- ELECTRIX AI: Prvi ECAD softver sa veštačkom inteligencijom - 11/12/2024
- ReSpeaker Lite recenzija - 11/12/2024
- Sajam Voda / Forum Voda 2024 - 07/12/2024