Obsah:
- Krok 1: Ako nastaviť prostredie?
- Krok 2: Prečo sa dopyt po Arduine zvyšuje?
- Krok 3: Začnime !!!!!
- Krok 4: Potrebné súčasti
- Krok 5: Ako to vlastne funguje?
- Krok 6: Zapojenie komponentov
- Krok 7: Poskytnutie kódu doske Arduino
- Krok 8: Program/Skica
- Krok 9: A čo napísané kódy?
- Krok 10: Funkcia slučky
- Krok 11: Ako importovať objekty serverového riešenia BitVoicer?
- Krok 12: Záver
Video: Rozpoznávač reči: 12 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Ahoj všetci………
Toto je môj druhý pokyn, ktorý uverejňujem
Takže vitajte všetci …
V tomto návode vás naučím, ako vytvoriť rozpoznávač hlasu pomocou dosky arduino.
Takže si myslím, že už máte skúsenosti s doskami arduino. Ak nie, nie je to vôbec veľký problém. Odporúčam vám však, aby ste si na to zvykli, pretože je veľmi zaujímavé hrať s ním a vytvárať skvelé projekty. z toho podľa vašej kreativity a znalostí o tom.
Takže pre ľudí, ktorí nemajú predchádzajúce skúsenosti s používaním arduina:
Arduino je počítačový hardvér s otvoreným zdrojovým kódom, ktorý vyrába spoločnosť s veľkou komunitou dizajnérov a výrobcov. Možno ho považovať za malý počítač, ktorý je možné použiť na ovládanie ďalších elektronických obvodov
Arduino je naprogramované v prostredí, ktoré vyvinuli sami, a ktoré je možné ľahko stiahnuť z ich webových stránok
Krok 1: Ako nastaviť prostredie?
Stačí vyhľadať v službe Google „stiahnuť arduino“
Kliknite na „Arduino - softvér“
Uvidíte „Stiahnite si Arduino IDE“
Vyberte si podľa operačného systému
Stiahnite a nainštalujte ho
Takže ste úspešne nainštalovali softvér a môžete napísať svoj kód pre arduino a pomocou kábla môžete pripojiť dosku arduino k počítaču a vložiť kód.
Krok 2: Prečo sa dopyt po Arduine zvyšuje?
Lacné
Dosky Arduino sú lacné v porovnaní s inými platformami mikrořadičov. Bude to stáť len asi 50 dolárov.
Cross-platform
Softvér pre Arduino funguje na operačných systémoch Windows, Macintosh OS a Linux. Ak uvažujeme o iných systémoch mikrořadičov, budú fungovať iba v systéme Windows alebo inými slovami, obmedzené iba na okná.
Open source a rozšíriteľný softvér
Softvér je open source, takže ľudia o ňom začali hlbšie študovať a zahŕňať knižnice (ktoré obsahujú sadu funkcií na jeho fungovanie) iných programovacích jazykov.
Jednoduché a ľahké programovacie prostredie
Arduino IDE (softvér, o ktorom sme už diskutovali … o tom.
Open source a rozšíriteľný hardvér
Plány dosiek Arduino sú zverejnené pod licenciou Creative Commons, takže ľudia, ktorí majú skúsenosti s navrhovaním obvodov, si môžu vytvoriť vlastnú verziu modulu, majú tiež právo technológiu rozšíriť a môžu sa zlepšovať pridávaním funkcií.
Krok 3: Začnime !!!!!
Takže som už povedal, že tento projekt je zameraný predovšetkým na rozpoznávanie hlasu pomocou Arduina a na to, aby mu umožnil vykonávať niektoré úlohy.
Rozprávanie jasnejšie ……….
Zachytáva zvukové signály poskytnuté užívateľom, ktoré je možné detekovať blikaním diódy LED potom, čo sú prevedené na syntetizovanú reč.
Krok 4: Potrebné súčasti
Hlavné komponenty požadované pre tento projekt sú:
Splatnosť Arduina x 1
Spark Fun, elektretový mikrofón, 1 x
Spark Fun Mono audio zosilňovač Breakout x 1
Reproduktor: 0,25 W, 8 ohmov x 1
Breadboard x 1
5 mm LED: červená x 3
Rezistor 330 ohm x 3
Prepojovacie vodiče x 1
Spájkovačka x 1
Server BitVoicer
Je to server na rozpoznávanie a syntézu reči na automatizáciu reči.
Krok 5: Ako to vlastne funguje?
1. Zisťujú sa zvukové vlny, ktoré tieto vlny zachytávajú a sú zosilnené doskou Sparkfun Electret Breakout.
2. Zosilnený signál získaný vyššie uvedeným procesom bude digitalizovaný a uložený do pamäte/uložený v doske Arduino pomocou jeho prevodníka analógovo-digitálneho prevodníka (ADC), ktorý je v ňom prítomný.
3. Zvukové ukážky budú poskytnuté serveru BitVoicer Server pomocou prítomného sériového portu Arduino.
4. BitVoicer Server spracuje zvukový tok a potom rozpozná reč, ktorú obsahuje.
5. Rozpoznaná reč bude mapovaná na príkazy, ktoré už boli definované predtým, potom bude odoslaná späť do Arduina. Ak jeden z príkazov spočíva v syntetizácii reči, BitVoicer Server pripraví zvukový tok a odošle ho do Arduina.
6. Arduino identifikuje poskytnuté príkazy a vykoná určitú príslušnú akciu. Ak je prijatý zvukový tok, bude zaradený do radu BVS Speaker a bude sa prehrávať pomocou DUE DAC a DMA.
7. Monofónny zvukový zosilňovač SparkFun zosilní signál DAC, aby mohol poháňať 8 ohmový reproduktor a bolo cez neho počuť.
Krok 6: Zapojenie komponentov
Úplne prvým krokom je prepojenie rôznych komponentov v doske na chlieb a tiež s doskou arduino, ako je znázornené na obrázku
Pamätajte, že tu použitá doska arduino je DUE, existujú rôzne ďalšie modely, ktoré Arduino vyrába, pričom každý pracuje na rôznych úrovniach napätia
Väčšina dosiek Arduino funguje na 5 V, ale DUE beží na 3,3 V
DUE už používa 3,3 V analógovú referenciu, takže nepotrebujete prepojku na pin AREF
Prepáčte, zabudol som povedať, že pin AREF je „ANALOGOVÝ REFERENČNÝ PIN“, ktorý sa nachádza na doske arduino, ako je znázornené na nasledujúcom obrázku (Je to arduino UNO, ale na podobnom webe je podobný ako v prípade DUE)
Kolík AREF na DUE je pripojený k mikroprocesoru cez odporový mostík
Aby ste mohli použiť pin AREF, musí byť odpor R1 odpájkovaný z PCB [doska s plošnými spojmi]
Krok 7: Poskytnutie kódu doske Arduino
Musíme teda nahrať kód na dosku Arduino, aby fungoval podľa pokynov uvedených v kóde.
Je to veľmi jednoduché. Každý z nich podrobne vysvetlím, čo robia a ako fungujú.
Ako nainštalovať knižnicu?
Predtým teda musíme vedieť, ako nainštalovať knižnice serverov BitVoicer do Arduino IDE,. To do softvéru arduino.
Na to teda otvorte IDE Arduino
Na hornom paneli kliknite na „Skica“
Potom kliknite na „Zahrnúť knižnicu“
Kliknite na položku „Spravovať knižnicu“
Potom sa otvorí správca knižníc a my vidíme zoznam knižníc, ktoré sú pripravené na inštaláciu alebo tie, ktoré už boli nainštalované
Vyhľadajte knižnicu, ktorú chcete nainštalovať, a potom vyberte číslo verzie
Tu inštalujeme knižnice servera BitVoicer, ktoré sú pre tento projekt nevyhnutné
Ako importovať knižnicu.zip?
Knižnice je možné distribuovať aj ako súbor alebo priečinok ZIP
Názov priečinka je názov knižnice
V priečinku sa bude nachádzať súbor.cpp,.h a často súbor keywords.txt, priečinok s ukážkami a ďalšie súbory požadované knižnicou
Od verzie 1.0.5 Arduino IDE do neho môžete nainštalovať knižnice tretích strán
Stiahnutú knižnicu nerozbaľujte, nechajte ju tak, ako je
Ak to chcete urobiť, prejdite na náčrt> Zahrnúť knižnicu> Pridať knižnicu.zip
Vyberte umiestnenie súboru.zip a otvorte ho.
Vráťte sa do ponuky Skica> Importovať knižnicu.
Ak je knižnica importovaná správne, táto knižnica sa pri navigácii zobrazí v spodnej časti rozbaľovacej ponuky.
Krok 8: Program/Skica
Toto je program, ktorý je potrebné nahrať do Arduina.
To sa dá urobiť jednoducho pripojením dosky Arduino k počítaču a nahraním na dosku.
Krok 9: A čo napísané kódy?
Teraz sa pozrime na to, čo každá z funkcií zapísaných v kóde skutočne robí ………..
Odkazy na knižnice a deklarácie premenných
Predtým, ako o tom budeme hovoriť, musíme poznať a porozumieť niektorým základným terminológiám. Patria sem:
-
BVSP
Je to knižnica, ktorá nám poskytuje takmer všetky zdroje potrebné na výmenu informácií so serverom BitVoicer
Existuje protokol známy ako Serverový protokol BitVoicer, ktorý je implementovaný prostredníctvom triedy BVSP. Toto je potrebné na interakciu so serverom
-
BVSMic
Je to knižnica, ktorá implementuje všetky veci, ktoré sú potrebné na nahrávanie zvuku, pomocou analógovo-digitálneho prevodníka (ADC) Arduina
Tento zvuk je uložený vo vnútornej vyrovnávacej pamäti triedy a je možné ho načítať a potom ho odoslať do nástrojov na rozpoznávanie reči, ktoré sú k dispozícii na serveri BitVoicer Server
-
Reproduktor BVS
Je to knižnica, ktorá obsahuje všetky základné zdroje potrebné na reprodukciu zvukových tokov odosielaných zo servera BitVoicer
Na to musí mať doska Arduino vstavaný prevodník digitálneho signálu na analógový (DAC)
Arduino DUE je jediná doska Arduino, ktorá má integrovaný DAC
Knižnice BVSP, BVSMic, BVSSpeaker a DAC, odkazy na ne sú uvedené v prvých štyroch riadkoch, ktoré tvoria starnutie programu
Po inštalácii servera BitVoicer Server nájdete nástroj BitSophia, ktorý poskytuje všetky tieto štyri knižnice
Keď používateľ pridá odkaz na knižnicu BVSSpeaker, automaticky sa vyvolá vyššie uvedená knižnica DAC
Na komunikáciu so serverom BitVoicer Server sa používa trieda BVSP
Na zachytávanie a ukladanie zvuku sa používa trieda BVSMic
Trieda BVSSpeaker sa používa na reprodukciu zvuku pomocou Arduino DUE DAC
2. funkcia nastavenia
Funkcia nastavenia sa používa na vykonávanie určitých akcií, ako napríklad:
Na nastavenie režimov pinov a ich počiatočných stavov
Inicializácia sériovej komunikácie
Inicializácia triedy BVSP
Inicializácia triedy BVSMic
Inicializácia triedy BVSSpeaker
Tiež nastavuje „obsluhy udalostí“(ukazovatele funkcií) pre udalosti frameReceived, modeChanged a streamReceived triedy BVSP
Krok 10: Funkcia slučky
Vykonáva päť hlavných operácií:
1. funkcia keepAlive ()
Táto funkcia má požiadať server o informácie o stave.
2. funkcia receive ()
Táto funkcia slúži na kontrolu, či server odoslal nejaké údaje alebo nie. Ak server odoslal akékoľvek údaje, spracuje ich.
3. funkcie isSREAvailable (), startRecording (), stopRecording () a sendStream ()
Tieto funkcie sa používajú na ovládanie rôznych nastavení nahrávania zvuku a potom, čo dosiahne zvuk, pošle tento zvuk na server BitVoicer.
4. funkcia play ()
Táto funkcia sa používa na prehrávanie zvuku, ktorý je zaradený do poradia v triede BVSSpeaker.
5. playNextLEDNote ()
Táto funkcia sa používa na ovládanie toho, ako majú LED diódy blikať.
6. BVSP_frameReceived funkcia
Táto funkcia sa volá vždy, keď funkcia receive () začne identifikovať, že bol prijatý jeden kompletný rámec. Tu spustíme príkazy získané zo servera BitVoicer Server. Príkazy, ktoré riadia blikanie diód LED, majú 2 bajty. V tomto prvom bajte je naznačený kolík a v druhom bajte je uvedená hodnota pinu. Na nastavenie príslušnej hodnoty na pine používame funkciu analogWrite (). V tom čase musíme tiež skontrolovať, či bol prijatý príkaz playLEDNotes, ktorý je typu Byte. Ak bol prijatý, nastavím playLEDNotes na hodnotu true a bude sledovať a označovať aktuálny čas. Tento čas využije funkcia playNextLEDNote na synchronizáciu diód LED so skladbou.
7. BVSP_modeChanged funkcia
Táto funkcia sa volá zakaždým, keď funkcia receive () identifikuje zmenu režimu vo výstupnom smere (Server Arduino). Server BitVoicer môže do Arduina odosielať zarámované údaje alebo zvuk. Predtým, ako komunikácia prejde z jedného režimu do druhého, server BitVoicer pošle signál. Trieda BVSP identifikuje tento signál a vyvolá alebo označí udalosť modeChanged. Ak vo funkcii BVSP_modeChanged používateľ zistí, že komunikácia prechádza z režimu prúdu do režimu rámca, bude vedieť, že sa zvuk skončil, takže používateľ môže triede BVSSpeaker povedať, aby zastavila prehrávanie zvuku.
8. BVSP_streamReceived funkcia
Táto funkcia sa volá vždy, keď funkcia receive () identifikuje, že boli prijaté zvukové vzorky. Jednoducho prevezme zvuk a zaradí ich do frontu do triedy BVSSpeaker, aby ich mohla funkcia play () reprodukovať.
9. Funkcia playNextLEDNote
Táto funkcia sa spustí iba vtedy, ak funkcia BVSP_frameReceived identifikuje príkaz playLEDNotes. Riadi a synchronizuje diódy LED so zvukom odoslaným zo servera BitVoicer Server. Na synchronizáciu diód LED so zvukom a poznanie správneho načasovania je možné použiť bezplatný softvér Sonic Visualizer. Umožňuje nám sledovať zvukové vlny, aby osoba mohla rozpoznať, kedy bolo stlačené tlačidlo klavíra.
Krok 11: Ako importovať objekty serverového riešenia BitVoicer?
Teraz sme nastavili server BitVoicer tak, aby fungoval s Arduinom.
Server BitVoicer má štyri hlavné objekty riešenia: umiestnenia, zariadenia, binárne údaje a hlasové schémy.
Pozrime sa na ne podrobne:
Miesta
Predstavuje fyzické umiestnenie, na ktorom je zariadenie inštalované.
Môžeme vytvoriť umiestnenie s názvom Domov.
Zariadenia
Sú považovaní za klientov servera BitVoicer Server.
Rovnako ako pri vytváraní umiestnenia, môžeme vytvoriť zmiešané zariadenie, pre jednoduchosť ho pomenujme ako ArduinoDUE.
Niekedy môže dôjsť k pretečeniu vyrovnávacej pamäte, aby som to odstránil, musel som obmedziť rýchlosť prenosu údajov v komunikačných nastaveniach na 8 000 vzoriek za sekundu.
BinaryData je typ príkazu, ktorý môže server BitVoicer Server odosielať na klientske zariadenia. Sú to vlastne bajtové polia, ktoré môžete prepojiť s príkazmi.
Keď server BitVoicer rozpozná reč súvisiacu s týmto príkazom, odošle bajtové pole na cieľové zariadenie.
Preto som pre každú hodnotu pinu vytvoril jeden objekt BinaryData a pomenoval ich ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff a tak ďalej.
Musel som teda vytvoriť 18 objektov BinaryData, preto navrhujem, aby ste si stiahli a importovali objekty zo súboru VoiceSchema.sof, ktorý je uvedený nižšie.
Čo je to teda hlasová schéma?
Hlasové schémy sú miestom, kde sa všetko spája. ich hlavnou úlohou je definovať, ako by mali byť vety rozpoznávané a aké všetky príkazy je potrebné spustiť.
Pre každú vetu môžete definovať požadovaný počet príkazov a poradie ich vykonania.
Môžete tiež definovať oneskorenia medzi každým z poskytnutých príkazov.
BitVoicer Server podporuje iba 8-bitový mono PCM zvuk (8 000 vzoriek za sekundu), takže bude potrebné previesť zvukový súbor do tohto formátu, v súčasnosti je k dispozícii toľko online mýt za prevod a odporúčam https://audio.online -convert.com/convert-to-wav.
Všetky súbory riešení, ktoré som použil v tomto projekte, môžete importovať (importovať objekty riešení) zo súborov uvedených nižšie.
Jeden z nich obsahuje zariadenie DUE a druhý obsahuje hlasovú schému a jej príkazy.
Krok 12: Záver
Nech sa páči !!!!
Vytvorili ste úžasný projekt a môžete s ním hovoriť
Tak začni hovoriť ……………
Môžete blikať LEDkami a zároveň môžete povedať, že spieva pieseň, ak potrebuje, jej kód už bol poskytnutý
Dokončil som teda svoj druhý pokyn !!!!!!!!!
Áno ……
Myslím, že to každý pochopil …
Ak má niekto nejaké otázky, kľudne sa ma opýtajte
Nabudúce vymyslím vynikajúci návod na použitie …
Zbohom…
Do skorého videnia ……………
Odporúča:
Rozpoznávanie reči s Arduino (Bluetooth + LCD + Android): 6 krokov
Rozpoznávanie reči s Arduino (Bluetooth + LCD + Android): V tomto projekte sa chystáme rozpoznať reč pomocou Arduina, modulu Bluetooth (HC-05) a LCD. postavme si vlastné zariadenie na rozpoznávanie reči
Rozpoznávač pohybu ruky: 5 krokov
Rozpoznávač pohybu rúk: Prehľad V tomto projekte vyrobíme rukavicu, ktorá dokáže rozpoznať niektoré základné pohyby rúk pomocou MicroBit a niekoľkých senzorov. Na MicroBit využijeme možnosti Bluetooth v spojení s aplikáciou pre Android a webovým serverom na školenie
Retro syntéza reči. Časť: 12 IoT, domáca automatizácia: 12 krokov (s obrázkami)
Retro syntéza reči. Časť: 12 IoT, domáca automatizácia: Tento článok je dvanásty v sérii inštrukcií o domácej automatizácii, ktoré dokumentujú, ako vytvoriť a integrovať zariadenie na retro syntézu reči IoT do existujúceho systému domácej automatizácie vrátane všetkých potrebných softvérových funkcií, ktoré umožňujú
Rozpoznávač číslic s Pythonom: 3 kroky
Digit Recognizer With Python: Un tema muy many popularementes el denominado “Computer Vision” que Conspect en latarea de crear software capaz de reconocer patrones dentro de imágenes. Možné predstavy, ktoré by ste mohli urobiť, aby ste rozšírili
Viacjazyčný rozpoznávač s AIY: 4 kroky
Viacjazyčný rozpoznávač s AIY: Na vesmírnych staniciach. Je tu veľa astronautov. Astronauti pochádzajú z mnohých planét (krajín). Preto by tam AI malo fungovať v mnohých jazykoch