Modul za prepoznavanje govora (Gravity: Voice Recognition Module DF2301QG V1.0) je interesantno zamišljen senzor koji obezbeđuje kontrolu uređaja glasovnim komandama, a da pri tome nije potrebno povezivanje na oblak ili prisustvo AI sposobnog računara kako bi se pokrenuo neki od modela za prepoznavanje govora. Od kompanije DFRobot dobili smo ovaj senzor kako bi ga prikazali u ovoj recenziji.
Hardver
Senzor dolazi u maloj crnoj kartonskoj kutiji sa oznakom DFRobots u kojoj je sam modul veličine 5 x 3,2 cm za prepoznavanje govora i jedan Gravity-4P četvorožični kabal za povezivanje modula na I2C (0x64 adresa) ili UART pinove. Selekciju tipa serijske komunikacije vršite izborom na prekidaču na modulu.
Najveći deo pločice DFRobot Gravity: Voice Module pokriven je crnim plastičnim zaklonom ispod koga bi trebao da se nalazi zvučnik i koga nismo demontirali, jer bi njegovo odvajanje oštetilo hardver koji je njime zaštićen. Ukoliko želite da audio signal odvedete do nekog drugog zvučnika, postoji dvopinski konektor na ploči. Audio izlaz birate prekidačem i može biti jedan od ova dva.
Modul komande „sluša“ pomoću dva mikrofona raspoređena u dva ugla pločice, dok se u prestala dva ugla nalaze montažne rupe.
Sa druge, donje strane ploče modula, nalaze se tri čipa: WS-2520-TR modul sa DFRobot DF2301QG MCU-om, W25Q256JWPIQ 265 Mb Flash SPI NOR i HAA2018 5W audio pojačivač.
Softver
Koliko god senzor bio hardverski atraktivan, bez adekvatne softverske podrške, doneće korisniku samo probleme. DFRobot nas je i do sada svojim standardima uverio da ne dovodi kupce i mejkere u neugodnu situaciju. Senzor je sa Gravity/ I2C&UART izlazom što omogućava lako povezivanje sa gotovo svim postojećim platformama. DFRobot je posebno imao na umu Arduino, Raspberry Pi i ESP32 platforme, čime je praktično pokrio sve STEM i mejkerske zahteve. Senzor nije okrenut ka industrijskoj primeni, niti podleže potrebnim proizvodnim standardima za takvu upotrebu. Tamo gde je sasvim opravdana njegova primena je ugradnja u samostalne uređaje koje želimo da kontrolišemo glasom. Ali ovde se susrećemo sa jednim problemom, kada iz mejkerskog/prototip pristupa treba preći u proizvodnju. Senzor ima 121 već ugrađenu komandu, većina njih ima i ugrađen audio odgovor koji se emituje paralelno sa slanjem koda prepoznate komande serijskom (I2C/UART) komunikacijom. Unapred snimljena poruka kojom će senzor odgovoriti je na engleskom jeziku. Bilo bi dobro da DFRobot u nekoj sledećoj reviziji ovog senzora omogući promenu jezika.
Drugi problem je lakše rešiv. Naime, senzor prilikom dovođenja napona napajanja, izgovara pozdravnu poruku. Tu poruku je moguće menjati, ali je nije moguće onemogućiti njeno izgovaranje. Jedini način da modul bude nečujan je da kao pozdravnu poruku snimimo tišinu.
Postoje Python, C, Rust biblioteke/drajveri za ovaj senzor. Podršku za Arduino, odnosno Arduino biblioteku treba preuzeti sa DFRobot GitHub-a i u njoj su podržane funkcije za čitanje koda prepoznate glasovne komande ili njeno pozivanje, podešavanje WakeUp vremena i glasnoće, uključivanje Mute moda, kao i komanda za podešavanje i reset modula.
Senzor se aktivira ako prepozna naučenu Wake-up poruku ili se izgovori „Hello robot„. U prvom slučaju na i serijske izlaze vraća 1, a u drugom vrednost 2.
Sedamnaest naučenih komandi na serijske izlaze vraćaju vrednosti od 5 do 21 u zavisnosti koja je po redu komanda naučena.
Komande koje unapred prepoznaje su na engleskom jeziku, kao i odgovori, ako ih ima. Spisak sa 121-om komandom je:
Go forward Retreat Park a car Turn left ninety degrees Turn left forty-five degrees Turn left thirty degrees Turn right forty-five degrees Turn right thirty degrees Shift down a gearLine tracking mode Light tracking mode Bluetooth mode Obstacle avoidance mode Face recognition Object tracking Object recognition Line tracking Color recognition Tag recognition Object sorting Qr code recognitionGeneral settingsClear screenLearn once Forget Load model Save model Take photos and save them Save and returnDisplay number zero Display number one Display number two Display number three Display number four Display number five Display number six Display number seven Display number eight Display number nine Display smiley face Display crying face Display heart Turn off dot matrix | Read current posture Read ambient light Read compass Read temperature Read acceleration Reading sound intensity Calibrate electronic gyroscopeTurn on the camera Turn off the camera Turn on the fan Turn off the fan Turn fan speed to gear one Turn fan speed to gear two Turn fan speed to gear threeStart oscillating Stop oscillatingResetSet servo to ten degrees Set servo to thirty degrees Set servo to forty-five degrees Set servo to sixty degrees Set servo to ninety degreesTurn on the buzzer Turn off the buzzer Turn on the speaker Turn off the speaker Play music Stop playing The last track The next track Repeat this track Volume up Volume down Change volume to maximum Change volume to minimum Change volume to mediumPlay poem | Turn on the light Turn off the light Brighten the light Dim the light Adjust brightness to maximum Adjust brightness to minimum Increase color temperature Decrease color temperature Adjust color temperature to maximum Adjust color temperature to minimum Daylight mode Moonlight mode Color mode Set to red Set to orange Set to yellow Set to green Set to cyan Set to blue Set to purple Set to whiteTurn on ac Turn off ac Increase temperature Decrease temperature Cool mode Heat mode Auto mode Dry mode Fan mode Enable blowing up & down Disable blowing up & down Enable blowing right & left Disable blowing right & left Open the window Close the window Open curtain Close curtain Open the door Close the door |
I najzad tu su i komande za upravljanje učenjem i radom samog senzora:
Learning wake word
Learning command word
Re-learn
Exit learning
I want to delete
Delete wake word
Delete command word
Exit deleting
Delete all
DFRobot Gravity: Voice Module u aplikacijama
Iako na prvi pogled može delovati tako, ovaj senzor nije ChatGPT. Njegova namena nije da procesuira na bilo koji način izrečene poruke. Ovo je ML senzor čija namena je da prepozna poruku, odnosno zvuk i u skladu sa time na svoj serijski izlaz pošalje vrednost. Na osnovu te vrednosti, vaš uređaj će izvršiti neku od unapred definisanih akcija.
Može biti neka od onih koje su već implementirane. Bilo da je upravljanje kretanjem, kontrola osvetljenja, klime, otvaranje ili zatvaranje prozora ili očitavanje vrednosti sa nekog drugog senzora. Senzor prepoznaje zvučni oblik, ne razume reči, tako da ga možete „naučiti“ da prepozna muk krave ili meketanje koze i komandovati u skladu sa time otvaranjem kapije odgovarajućeg prostora. To bi bila primena u preciznoj poljoprivredi. Možete ga „naučiti“ da prepozna zvuk grmljavine ili dobovanje kapljica kiše kako bi zatvorio prozore. Može osluškivati zvuk zvona na vratima vašeg stana i u vašem odsustvu uključiti kameru i snimiti posetioca ili čekati da sirenom vašeg automobila zatražite da otvori vrata od garaže, gde bi u kombinaciji sa DFRobot Husky Lens-om mogao i da prepozna da li je to baš vaš auto ispred garaže. A mogao bi i da se ugradi u neku igračku ili da omogući upravljanje robotske ruke glasovnim komandama…
Zaključak
DFRobot je ranije u ponudi imao dva specijalizovana Gravity Voice modula: Analog sound sensor i UART MP3 Voice Module koji su prethodili ovom kompleksnijem rešenju. Prvi ima mogućnost detektovanja zvuka u prostoru, a drugi može da reprodukuje snimljen zvuk, ali ni jedan do sada nije mogao da prepoznaje govornu komandu i na osnovu nje generiše unapred definisan odgovor. Ovaj senzor radi potpuno autonomno i bez potrebe za dodatnom procesorskom snagom za obradu zvuka. Ima veliki broj preseta i po tome nas podseća na DFRobots Husky Lens, video senzor sa kamerom koji ima ugrađen AI i može samostalno prepoznavati unapred definisane objekte.
Ukoliko imate uređaj koji nema pristup oblaku, ne želite da angažujete u dodatni AI hardver koji bi mogao da uči i prepoznaje govor, DFRobot Gravity: Voice Recognition Sensor Module je ekonomično (samo 17 USD) rešenje. Potreban mu je napon u opsegu od 3.3 do 5 VDC (potrošnja mu je uvek ispod 1,8 W). Pored 121 unapred definisanih komandi, senzor može naučiti još 17 dodatnih. Ako vam je privatnost posebno važna, offline senzori kao što je ovaj nemaju način da zloupotrebe svoje audio ulazne interfejse. Iako možete naći i duplo jeftinije senzore ove namene drugih proizvođača, od 17 USD koliko Gravity: Voice Recognition Sensor Module košta, mislimo da lakoća korišćenja, softverska podrška i kvalitet izrade čine ulaganje u ovaj senzor opravdanim.
- Jedinstven dizajn: Šarke, bravice i držači za površinske elemente - 06/10/2024
- Kako u samo 8 korakada angažujete robota u proizvodnji - 04/10/2024
- Melco-Buda: Novi HIOKI uređaji - 04/10/2024