Obsah:

Rozpoznávač reči: 12 krokov
Rozpoznávač reči: 12 krokov

Video: Rozpoznávač reči: 12 krokov

Video: Rozpoznávač reči: 12 krokov
Video: Куда Использовать Блокноты? #shorts 2024, Júl
Anonim
Rozpoznávač reči
Rozpoznávač reči

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?

Ako nastaviť prostredie?
Ako nastaviť prostredie?
Ako nastaviť prostredie?
Ako nastaviť prostredie?
Ako nastaviť prostredie?
Ako nastaviť prostredie?
Ako nastaviť prostredie?
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

Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
Vyžadované 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

Zapojenie komponentov
Zapojenie komponentov
Zapojenie komponentov
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

Poskytnutie kódu doske Arduino
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: