9.0 TOTAL SCORE

DFRobot: Gravity: Voice Recognition Module

STEM
Kvalitet izrade 9
Implementirana tehnologija 8
Ease-of-use 10
Odnos cena/performanse 9
PROS
  • Lakoća korišćenja
  • Softverska podrška: Python/C
  • I2C/UART
  • Prilagođen Arduino/Raspberry Pi/ESP32 platformama
CONS
  • Ne može se ugasiti pozdravna poruka
  • Predefinisane poruke i odgovori su samo na engleskom jeziku
  • Postoje jeftinija rešenja
Bottomline

DFRobot: Gravity: Voice Recognition Module omogućava upravljanje uređajem glasovnim komandama ili specifičnim zvukovima. U pitanju je ML model koji identifikuje zvuk sa mikrofona u skladu sa 121 predefinisanom porukom, uz mogućnost definisanja dodatnih 17 poruka ili zvučnih signala. Prilagođen STEM i mejkerskoj upotrebi podrškom Arduino bibliotekom. Lako se integriše u programe napisane u Python-u ili C-u.

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.

DFRonot Gravity Voice Sensor Module with box

photo: magazin Mehatronika

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.

DFRonot Gravity Voice Sensor Module montage holes

photo: magazin Mehatronika

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.

DFRonot Gravity Voice Sensor Module Gravity connector

photo: magazin Mehatronika

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č.

DFRonot Gravity Voice Sensor Module board

photo: magazin Mehatronika

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.

Sensor Module in Arduino

photo: magazin Mehatronika / screenshot: Arduino 1.8.19

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.

Voice Sensor Module backplate

photo: magazin Mehatronika

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.

Aleksandar Dakić
Follow me