Kazalo:
- 1. korak: Kako vzpostaviti okolje?
- 2. korak: Zakaj se povpraševanje po Arduinu povečuje?
- 3. korak: Začnimo !!!!!
- 4. korak: Potrebne komponente
- 5. korak: Kako dejansko deluje?
- 6. korak: Ožičenje komponent
- Korak 7: Predložite kodo odboru Arduino
- 8. korak: Program/skica
- 9. korak: Kaj pa napisane kode?
- 10. korak: Funkcija zanke
- 11. korak: Kako uvoziti objekte rešitev strežnika BitVoicer?
- 12. korak: Zaključek
Video: Prepoznavalnik govora: 12 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Zdravo vsi………
To je moj drugi pouk, ki ga objavljam
Pa dobrodošli vsi …
V tem navodilu vas bom naučil, kako z uporabo arduino plošče sestaviti prepoznavalnik glasu.
Zato menim, da ste že imeli izkušnje z arduino ploščami. Če ne, to sploh ni velik problem. Ampak priporočam, da se ga navadite, saj se je z njim zelo zanimivo igrati in ustvariti nekaj kul projektov iz tega glede na vašo ustvarjalnost in znanje o njem.
Torej za ljudi, ki nimajo predhodnih izkušenj z uporabo arduina:
Arduino je odprtokodna računalniška strojna oprema, ki jo proizvaja podjetje z veliko skupnostjo oblikovalcev in proizvajalcev. Lahko jo obravnavamo kot majhen računalnik, ki se lahko uporablja za krmiljenje drugih elektronskih vezij
Arduino je programiran v okolju, ki so ga sami razvili in ga je mogoče enostavno prenesti z njihovega spletnega mesta
1. korak: Kako vzpostaviti okolje?
Samo poiščite v googlu "download arduino"
Kliknite "Arduino - programska oprema"
Videli boste lahko "Prenesite Arduino IDE"
Izberite glede na operacijski sistem
Prenesite in namestite
Torej ste uspešno namestili programsko opremo in kodo za arduino lahko napišete, s pomočjo kabla pa lahko ploščo arduino povežete z računalnikom in vstavite kodo.
2. korak: Zakaj se povpraševanje po Arduinu povečuje?
Poceni
Arduino plošče so poceni v primerjavi z drugimi platformami mikro krmilnikov. Stalo bo le okoli 50 USD.
Na več platformah
Programska oprema za Arduino deluje v operacijskih sistemih Windows, Macintosh OS in Linux. Če pomislimo na druge sisteme mikrokrmilnikov, bo deloval samo v sistemu Windows ali z drugimi besedami, omejen le na okna.
Odprtokodna in razširljiva programska oprema
Programska oprema je odprtokodna, zato so jo ljudje začeli poglobljeno preučevati in vključevati knjižnice (ki vključujejo nabor funkcij za njeno delovanje) drugih programskih jezikov.
Enostavno in enostavno programsko okolje
Arduino IDE (programska oprema, o kateri smo že govorili …) je enostavna za uporabo, tudi za začetnike, saj veliko sredstev zagotavlja Arduino, ki so na voljo brezplačno na internetu. o tem.
Odprtokodna in razširljiva strojna oprema
Načrti plošč Arduino so objavljeni pod licenco Creative Commons, zato lahko ljudje, ki imajo izkušnje z oblikovanjem vezij, izdelajo svojo različico modula, prav tako imajo pravico razširiti tehnologijo in jo lahko izboljšajo z dodajanjem funkcij.
3. korak: Začnimo !!!!!
Tako sem že povedal, da je ta projekt osredotočen predvsem na prepoznavanje glasu z uporabo Arduina in mu omogoča izvajanje nekaterih nalog.
Bolj jasno govorimo ……
Sprejema zvočne signale, ki jih posreduje uporabnik, ki jih je mogoče zaznati z utripanjem LED, potem ko se ta pretvori v sintetiziran govor.
4. korak: Potrebne komponente
Glavne komponente, potrebne za ta projekt, so:
Arduino Due x 1
Spark Fun Electret mikrofon prekinitev x 1
Spark Fun Mono Audio Amp Breakout x 1
Zvočnik: 0,25 W, 8 ohmov x 1
Ogledna plošča x 1
5 mm LED: rdeča x 3
Upor 330 ohmov x 3
Mostične žice x 1
Spajkalnik x 1
Strežnik BitVoicer
Je strežnik za prepoznavanje in sintezo govora za avtomatizacijo govora.
5. korak: Kako dejansko deluje?
1. Odkrijejo se zvočni valovi, ki jih zajame in jih ojača plošča Sparkfun Electret Breakout.
2. Ojačani signal, dosežen z zgornjim postopkom, bo digitaliziran in shranjen/shranjen na plošči Arduino z uporabo analogno-digitalnega pretvornika (ADC), ki je v njem.
3. Zvočni vzorci bodo posredovani BitVoicer strežniku z uporabo prisotnih serijskih vrat Arduino.
4. BitVoicer Server bo obdelal zvočni tok in nato prepoznal govor, ki ga vsebuje.
5. Prepoznani govor bo preslikan na ukaze, ki so bili že definirani sami, nato pa bo poslan nazaj v Arduino. Če je eden od ukazov sestavljen iz sinteze govora, bo strežnik BitVoicer pripravil zvočni tok in ga poslal v Arduino.
6. Arduino bo identificiral podane ukaze in izvedel določeno ustrezno dejanje. Če je prejet zvočni tok, bo v vrsti v razredu zvočnikov BVS in predvajan z uporabo DUE DAC in DMA.
7. Mono zvočni ojačevalnik SparkFun bo ojačal signal DAC, tako da lahko poganja 8 ohmski zvočnik in ga je mogoče slišati skozi njega.
6. korak: Ožičenje komponent
Prvi korak je ožičenje različnih komponent na plošči in tudi s ploščo arduino, kot je prikazano na sliki
Ne pozabite, da je tukaj uporabljena plošča arduino DUE, obstajajo tudi drugi modeli, ki jih je izdelal Arduino in vsak deluje na različnih nivojih napetosti
Večina plošč Arduino deluje pri 5 V, vendar DUE deluje pri 3,3 V
DUE že uporablja 3,3 V analogno referenco, zato ne potrebujete mostiča na pin AREF
Oprosti, pozabil sem reči, da je pin AREF "ANALOGNI REFERENČNI PIN", ki je prisoten na arduino plošči, kot je prikazano na naslednji sliki (gre za arduino UNO, vendar je podobno na podobnem spletnem mestu v primeru DUE)
Pin AREF na DUE je preko upornega mostu povezan z mikrokrmilnikom
Za uporabo zatiča AREF je treba upor R1 spajkati s tiskanega vezja [tiskana vezja]
Korak 7: Predložite kodo odboru Arduino
Zato moramo kodo naložiti na ploščo Arduino, da lahko deluje glede na navodila v kodi.
To je zelo enostavno. Vsakemu bom podrobno razložil, kaj počnejo in kako delujejo.
Kako namestiti knjižnico?
Zato moramo pred tem vedeti, kako v Arduino IDE namestiti knjižnice strežnika BitVoicer, to pa v programsko opremo arduino.
Zato za to odprite Arduino IDE
Na zgornji plošči kliknite "Skica"
Nato kliknite »Vključi knjižnico«
Ob tem kliknite »Upravljanje knjižnice«
Nato se odpre upravitelj knjižnic in vidimo seznam knjižnic, ki so pripravljene za namestitev, ali tistih, ki so že nameščene
Poiščite knjižnico za namestitev in izberite številko različice
Tukaj nameščamo knjižnice strežnika BitVoicer, ki so potrebne za ta projekt
Kako uvoziti knjižnico.zip?
Knjižnice je mogoče distribuirati tudi kot datoteko ZIP ali mapo
Ime mape je ime knjižnice
Znotraj mape bodo datoteka.cpp, datoteka.h in pogosto datoteka keywords.txt, mapa z primeri in druge datoteke, ki jih zahteva knjižnica
Od različice 1.0.5 Arduino IDE lahko vanj namestite knjižnice drugih proizvajalcev
Prenesene knjižnice ne razpakirajte, pustite jo takšno, kot je
Za to pojdite na skico> Vključi knjižnico> Dodaj knjižnico.zip
Izberite lokacijo datoteke.zip in jo odprite.
Vrnite se v meni Sketch> Import Library.
Če je pravilno uvožena, bo ta knjižnica med navigacijo vidna na dnu spustnega menija.
8. korak: Program/skica
To je program, ki ga je treba naložiti v Arduino.
To lahko storite tako, da ploščo Arduino povežete z računalnikom in jo naložite na ploščo.
9. korak: Kaj pa napisane kode?
Zdaj pa poglejmo, kaj vsaka od funkcij, zapisanih v kodi, dejansko počne ………..
Knjižnične reference in deklaracija spremenljivk
Preden govorimo o tem, moramo poznati in razumeti nekaj osnovnih terminologij, ki vključujejo:
-
BVSP
To je knjižnica, ki nam daje skoraj vse vire, potrebne za izmenjavo informacij s strežnikom BitVoicer
Obstaja protokol, znan kot protokol strežnika BitVoicer, ki se izvaja prek razreda BVSP. To je potrebno za interakcijo s strežnikom
-
BVSMic
To je knjižnica, ki izvaja vse, kar je potrebno za snemanje zvoka z uporabo analogno-digitalnega pretvornika (ADC) Arduina
Ta zvok je shranjen v notranjem medpomnilniku razreda in ga je mogoče pridobiti in nato poslati v mehanizme za prepoznavanje govora, ki so na voljo na strežniku BitVoicer
-
Zvočnik BVS
To je knjižnica, ki vsebuje vse bistvene vire, ki so potrebni za reprodukcijo zvočnih tokov, poslanih s strežnika BitVoicer
Za to mora imeti plošča Arduino vgrajen digitalno-analogni pretvornik (DAC)
Arduino DUE je edina plošča Arduino, ki ima vgrajen DAC
Knjižnice BVSP, BVSMic, BVSSpeaker in DAC, sklicevanje na njih je zapisano v prvih štirih vrsticah, kar pomeni začetek programa
Ko namestite BitVoicer Server, lahko najdete BitSophia, ki ponuja vse te štiri knjižnice
Ko uporabnik doda sklic na knjižnico BVSSpeaker, se samodejno prikliče knjižnica DAC, ki je bila prej omenjena
Razred BVSP se uporablja za komunikacijo s strežnikom BitVoicer
Razred BVSMic se uporablja za zajem in shranjevanje zvoka
Razred BVSSpeaker se uporablja za reprodukcijo zvoka z uporabo DU DAC -ja Arduino
2. nastavitvena funkcija
Nastavitvena funkcija se uporablja za izvajanje določenih dejanj, kot so:
Za nastavitev načinov nožic in njihovih začetnih stanj
Za začetek serijske komunikacije
Za inicializacijo razreda BVSP
Za inicializacijo razreda BVSMic
Za inicializacijo razreda BVSSpeaker
Določa tudi »upravljalce dogodkov« (kazalce na funkcije) za dogodke frameReceived, modeChanged in streamReceived razreda BVSP
10. korak: Funkcija zanke
Izvaja pet glavnih operacij:
1. funkcija keepAlive ()
Ta funkcija zahteva od strežnika informacije o stanju.
2. funkcija prejemanja ()
Ta funkcija preverja, ali je strežnik poslal kakršne koli podatke ali ne. Če strežnik pošlje kakršne koli podatke, jih bo obdelal.
3. Funkcije isSREAvailable (), startRecording (), stopRecording () in sendStream ()
Te funkcije se uporabljajo za nadzor različnih nastavitev pri snemanju zvoka in potem, ko doseže zvok, bo ta zvok poslal na strežnik BitVoicer.
4. funkcija play ()
Ta funkcija se uporablja za predvajanje zvoka, ki je v vrsti v razredu BVSSpeaker.
5. playNextLEDNote ()
Ta funkcija se uporablja za nadzor utripanja LED.
6. BVSP_frameReceived funkcija
Ta funkcija se pokliče vsakič, ko funkcija accept () začne ugotavljati, da je bil sprejet en celoten okvir. Tu izvajamo ukaze, pridobljene s strežnika BitVoicer. Ukazi, ki nadzorujejo utripanje LED, so 2 bajta. V tem prvem bajtu je označen pin, drugi bajt pa vrednost pin. Tukaj uporabljamo funkcijo analogWrite () za nastavitev ustrezne vrednosti pin. Takrat moramo preveriti tudi, ali je bil sprejet ukaz playLEDNotes, ki je tipa Byte. Če je bil sprejet, nastavim playLEDNotes na true in bo spremljal in označeval trenutni čas. Ta čas bo funkcija playNextLEDNote uporabila za sinhronizacijo LED s skladbo.
7. BVSP_modeChanged funkcija
Ta funkcija se pokliče vsakič, ko funkcija accept () ugotovi spremembo načina v odhodni smeri (strežnik Arduino). Strežnik BitVoicer lahko pošlje uokvirjene podatke ali zvok v Arduino. Preden komunikacija preide iz enega načina v drugega, strežnik BitVoicer pošlje signal. Razred BVSP identificira ta signal in zviša ali označi dogodek modeChanged. Če uporabnik zazna funkcijo BVSP_modeChanged, bo komunikacija prešla iz pretočnega načina v uokvirjen način, bo vedel, da se je zvok končal, tako da lahko uporabnik razredu BVSSpeaker pove, naj preneha predvajati zvok.
8. BVSP_streamReceived funkcija
Ta funkcija se pokliče vsakič, ko funkcija accept () ugotovi, da so bili prejeti zvočni vzorci. Preprosto prikliče zvok in ga postavi v čakalno vrsto v razred BVSSpeaker, da jih lahko predvaja funkcija play ().
9. funkcija playNextLEDNote
Ta funkcija deluje le, če funkcija BVSP_frameReceived identificira ukaz playLEDNotes. Upravlja in sinhronizira LED z zvokom, poslanim s strežnika BitVoicer. Za sinhronizacijo LED z zvokom in poznavanje pravilnega časa lahko uporabite brezplačno programsko opremo Sonic Visualizer. Omogoča nam gledanje zvočnih valov, tako da lahko oseba ugotovi, kdaj je bila pritisnjena klavirska tipka.
11. korak: Kako uvoziti objekte rešitev strežnika BitVoicer?
Zdaj smo nastavili strežnik BitVoicer za delo z Arduinom.
Za strežnik BitVoicer obstajajo štirje glavni objekti rešitve: Lokacije, Naprave, BinaryData in Glasovne sheme.
Oglejmo si jih podrobneje:
Lokacije
Predstavlja fizično lokacijo, na kateri je naprava nameščena.
Ustvarimo lahko lokacijo z imenom Domov.
Naprave
Veljajo za odjemalce strežnika BitVoicer.
Tako kot ustvarjanje lokacije lahko ustvarimo tudi mešano napravo, zato jo zaradi lažjega imena poimenujmo ArduinoDUE.
Včasih se lahko zgodi nekaj prelivanja medpomnilnika, zato sem za njegovo odpravo moral omejiti podatkovno hitrost v nastavitvah komunikacije na 8000 vzorcev na sekundo.
BinaryData je vrsta ukaza, ki ga lahko strežnik BitVoicer pošlje odjemalcem. To so dejansko bajtni nizi, ki jih lahko povežete z ukazi.
Ko BitVoicer Server prepozna govor, povezan s tem ukazom, pošlje matriko bajtov ciljni napravi.
Zato sem za vsako vrednost pin ustvaril en objekt BinaryData in jih poimenoval ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff itd.
Zato sem moral ustvariti 18 objektov BinaryData, zato predlagam, da prenesete in uvozite predmete iz datoteke VoiceSchema.sof, ki je navedena spodaj.
Kaj je torej glasovna shema?
Glasovne sheme so tam, kjer je vse skupaj. njihova glavna vloga je opredeliti, kako naj se stavki prepoznajo in katere ukaze je treba izvesti.
Za vsak stavek lahko določite toliko ukazov, kot jih potrebujete, in vrstni red, v katerem bodo izvedeni.
Določite lahko tudi zamude med vsakim od podanih ukazov.
Strežnik BitVoicer podpira samo 8-bitni mono PCM zvok (8000 vzorcev na sekundo), zato bo treba zvočno datoteko pretvoriti v to obliko, danes je na voljo toliko spletnih cestnin za pretvorbo in priporočam https://audio.online -convert.com/convert-to-wav.
Iz spodnjih datotek lahko uvozite (Uvoz objektov rešitve) vse predmete rešitve, ki sem jih uporabil v tem projektu.
Eden od njih vsebuje napravo DUE, drugi pa glasovno shemo in njene ukaze.
12. korak: Zaključek
Izvolite !!!!
Naredili ste čudovit projekt in z njim se lahko pogovorite
Torej začni govoriti ………………
LED lahko utripate, hkrati pa lahko to poveste, če poje pesem, če jo potrebuje, njena koda je že zagotovljena
Tako sem zaključil svoj drugi Instructable !!!!!!!!!
Ja ……
Mislim, da so vsi to razumeli …
Če ima kdo kakšno vprašanje, me lahko vpraša
Naslednjič bom prišel do odličnega Instructablea …
Adijo…
Se vidiva kmalu……………
Priporočena:
Prepoznavanje govora z Arduinom (Bluetooth + LCD + Android): 6 korakov
Prepoznavanje govora z Arduinom (Bluetooth + LCD + Android): V tem projektu bomo prepoznali govor z Arduinom, modulom Bluetooth (HC-05) in LCD-jem. izdelajmo svojo napravo za prepoznavanje govora
Rokavice za pretvarjanje govora/besedila: 5 korakov
Rokavice za pretvarjanje govora/besedila: Ideja/pobuda pri izvajanju tega projekta je bila pomagati ljudem, ki imajo težave pri komunikaciji z govorom in komuniciranju z ročnimi kretnjami ali bolj znano kot ameriški podpisani jezik (ASL). Ta projekt je lahko korak k zagotavljanju
Retro sinteza govora. Del: 12 IoT, Domača avtomatizacija: 12 korakov (s slikami)
Retro sinteza govora. Del: 12 IoT, Domača avtomatizacija: Ta članek je 12. v nizu o navodilih za avtomatizacijo doma, ki dokumentirajo, kako ustvariti in vključiti napravo za sintezo govora IoT Retro Speech Synthesis v obstoječi sistem avtomatizacije doma, vključno z vso potrebno programsko opremo, ki omogoča
Prepoznavalnik številk s Pythonom: 3 koraki
Prepoznavalnik številk s programom Python: Ta tema je zelo priljubljena v imenu »Computer Vision«, ki je sestavljena iz programske opreme, ki je namenjena obnavljanju pokroviteljev. Je mogoče imaginarno que esta habilidad es muy útil para una computadora y permite expandir
Večjezični prepoznavalnik z AIY: 4 koraki
Večjezični prepoznavalnik z AIY: V vesoljskih postajah. Tam je veliko astronavtov. Astronavti prihajajo z mnogih planetov (držav). zato bi moral AI delovati v mnogih jezikih