Sisukord:

Kõnetuvastus: 12 sammu
Kõnetuvastus: 12 sammu

Video: Kõnetuvastus: 12 sammu

Video: Kõnetuvastus: 12 sammu
Video: Топ 5 скрытых полезных программ Windows 10 2024, November
Anonim
Kõnetuvastus
Kõnetuvastus

Tere kõigile………

See on minu teine juhendatav, mida ma postitan

Nii et tere tulemast kõigile …

Selles juhendis õpetan teile, kuidas arduino tahvli abil häältuvastust üles ehitada.

Nii et ma arvan, et teil on arduino tahvlitega varem kogemusi. Kui ei, siis pole see siin üldse suur probleem. Aga ma soovitan teil sellega harjuda, sest sellega on väga huvitav mängida ja luua lahedaid projekte sellest vastavalt oma loovusele ja teadmistele.

Nii et inimestele, kellel pole varasemat arduino kasutamise kogemust:

Arduino on avatud lähtekoodiga arvutiriistvara, mille on tootnud ettevõte, millel on suur disainerite ja tootjate kogukond. Seda võib pidada väikese arvutina, mida saab kasutada muude elektrooniliste vooluahelate juhtimiseks

Arduino on programmeeritud enda välja töötatud keskkonda, mida saab hõlpsasti oma veebisaidilt alla laadida

Samm: kuidas keskkonda seadistada?

Kuidas keskkonda seadistada?
Kuidas keskkonda seadistada?
Kuidas keskkonda seadistada?
Kuidas keskkonda seadistada?
Kuidas keskkonda seadistada?
Kuidas keskkonda seadistada?
Kuidas keskkonda seadistada?
Kuidas keskkonda seadistada?

Lihtsalt otsi googlest "laadi alla arduino"

Klõpsake "Arduino - tarkvara"

Näete "Laadige alla Arduino IDE"

Valige sõltuvalt teie opsüsteemist

Laadige see alla ja installige

Seega olete tarkvara edukalt installinud ja saate arduino jaoks oma koodi kirjutada ning kaabli abil saate arduino plaadi arvutiga ühendada ja koodi sisestada.

Samm: miks nõudlus Arduino järele kasvab?

Odav

Arduino plaadid on teiste mikrokontrollerite platvormidega võrreldes odavad. See maksab vaid umbes 50 dollarit.

Platvormidevaheline

Arduino tarkvara töötab opsüsteemides Windows, Macintosh OS ja Linux. Kui mõtleme muudele mikrokontrollerite süsteemidele, töötab see ainult Windowsis või teisisõnu ainult Windowsiga.

Avatud lähtekoodiga ja laiendatav tarkvara

Tarkvara on avatud lähtekoodiga, nii et inimesed hakkasid seda põhjalikult uurima ja lisama teiste programmeerimiskeelte raamatukogusid (mis sisaldavad selle toimimiseks vajalikke funktsioone).

Lihtne ja lihtne programmeerimiskeskkond

Arduino IDE -d (tarkvara, millest oleme juba rääkinud …) on lihtne kasutada inimestele, sealhulgas algajatele, kuna Arduino pakub suurel hulgal ressursse, mis on Internetis tasuta saadaval. Nii et lisateabe saamiseks sellest.

Avatud lähtekoodiga ja laiendatav riistvara

Arduino tahvlite plaanid on avaldatud Creative Commons litsentsi all, nii et inimesed, kellel on vooluahela projekteerimise kogemus, saavad moodulist oma versiooni teha, neil on ka õigus tehnoloogiat laiendada ja nad saavad funktsioone lisades täiustada.

3. samm: alustame !!!!

Nii et ma olen juba öelnud, et see projekt keskendub peamiselt häältuvastusele Arduino abil ja võimaldab tal teatud ülesandeid täita.

Räägi selgemini …

See võtab vastu kasutaja edastatavad helisignaalid, mida saab tuvastada LED-i vilkumisega pärast seda, kui see muudetakse sünteesitud kõneks.

4. samm: vajalikud komponendid

Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid

Selle projekti peamised komponendid on järgmised:

Arduino tähtaeg x 1

Spark Fun Electret mikrofoni purunemine x 1

Spark Fun Mono Audio Amp Breakout x 1

Kõlar: 0,25 W, 8 oomi x 1

Leivalaud x 1

5 mm LED: punane x 3

Takisti 330 oomi x 3

Jumper juhtmed x 1

Jootekolb x 1

BitVoiceri server

See on kõne automatiseerimise kõnetuvastus- ja sünteesiserver.

Samm: kuidas see tegelikult toimib?

1. Heli lained on välja selgitatud, siis see lööb need lained ja neid võimendab Sparkfun Electret Breakout pardal.

2. Ülaltoodud protsessist saadud võimendatud signaal digitaliseeritakse ja puhverdatakse/salvestatakse Arduino plaadile, kasutades selle analoog-digitaalmuundurit (ADC).

3. Heliproovid edastatakse BitVoicer Serverile, kasutades olemasolevat Arduino jadaporti.

4. BitVoicer Server töötleb helivoogu ja tuvastab seejärel selles sisalduva kõne.

5. Tuvastatud kõne kaardistatakse käskudele, mis on juba varem määratletud, seejärel saadetakse see tagasi Arduinole. Kui üks käskudest koosneb kõne sünteesimisest, valmistab BitVoicer Server helivoo ette ja saadab selle Arduinole.

6. Arduino tuvastab antud käsud ja sooritab teatud asjakohase toimingu. Helivoo vastuvõtmisel paigutatakse see BVS kõlarite klassi ja esitatakse DUE DAC ja DMA abil.

7. SparkFun Mono helivõimendi võimendab DAC -signaali, nii et see suudab juhtida 8 -oomilist kõlarit ja seda saab kuulda.

6. samm: komponentide ühendamine

Komponentide ühendamine
Komponentide ühendamine
Komponentide ühendamine
Komponentide ühendamine

Kõige esimene samm on ühendada leivaplaadis erinevad komponendid ja ka arduino plaadiga, nagu pildil näidatud

Pidage meeles, et siin kasutatav arduino -plaat on DUE, Arduino on tootnud erinevaid mudeleid, millest igaüks töötab erinevatel pingetasemetel

Enamik Arduino tahvleid töötab 5 V pingel, kuid DUE töötab 3,3 V

DUE kasutab juba 3,3 V analoogviidet, nii et te ei vaja AREF -i tihvti jaoks hüppajat

Vabandust, ma unustasin öelda, et AREF -i tihvt on "ANALOOGI VIITE PIN -kood", mis on arduino -tahvlil, nagu on näidatud järgmisel joonisel (see on arduino UNO, kuid sarnane DUE puhul sarnases kohas)

DUE-l olev AREF-tihvt on takisti kaudu ühendatud mikrokontrolleriga

AREF-i tihvti kasutamiseks tuleb takisti R1 PCB-lt [prinditud trükkplaadilt] keevitada

Samm: koodi edastamine Arduino juhatusele

Koodi edastamine Arduino juhatusele
Koodi edastamine Arduino juhatusele

Seega peame koodi Arduino pardale üles laadima, et see töötaks sõltuvalt koodis esitatud juhistest.

Seda on väga lihtne teha. Ma selgitan igaüks neist üksikasjalikult, mida nad teevad ja kuidas nad töötavad.

Kuidas raamatukogu installida?

Nii et enne seda peame teadma, kuidas installida BitVoicer Serveri teegid Arduino IDE -sse.that arduino tarkvarasse.

Selleks avage Arduino IDE

Ülemisel paneelil klõpsake "Visand"

Seejärel klõpsake "Kaasa kogu"

Klõpsake sellel nuppu "Halda kogu"

Seejärel avaneb raamatukoguhaldur ja näeme installimiseks valmis olevate või juba installitud raamatukogude loendit

Otsige installimiseks kogu ja seejärel valige versiooninumber

Siin installime BitVoicer Serveri teegid, mis on selle projekti jaoks vajalikud

Kuidas importida.zip -kogu?

Raamatukogusid saab levitada ka ZIP -faili või kaustana

Kausta nimi on kogu nimi

Kausta sees on.cpp -fail,.h -fail ja sageli ka märksõna.txt -fail, näidiste kaust ja muud teegis nõutavad failid

Arduino IDE versioonist 1.0.5 saate selle sisse installida kolmanda osapoole teeke

Ärge pakkige allalaaditud kogu lahti, jätke see selliseks, nagu see on

Selleks minge visandile> Kaasa raamatukogu> Lisa.zip -teek

Valige.zip -faili asukoht ja avage see.

Naaske menüüsse Visand> Impordi kogu.

Kui see raamatukogu on õigesti imporditud, tuleb seda teeki navigeerimisel näha rippmenüü allservas.

8. samm: programmeerige/visandage

See on programm, mis tuleb Arduinos üles laadida.

Seda saab teha lihtsalt ühendades Arduino plaadi arvutiga ja laadides selle tahvlile üles.

Samm 9: Mis saab kirjutatud koodidest?

Nüüd vaatame, mida kõik koodis kirjutatud funktsioonid tegelikult teevad ………..

Raamatukoguviited ja muutujadeklaratsioon

Enne sellest rääkimist peame teadma ja mõistma mõningaid põhitermineid. Nende hulka kuuluvad:

  • BVSP

    See on raamatukogu, mis annab meile peaaegu kõik ressursid, mis on vajalikud teabe vahetamiseks BitVoiceri serveriga

    Olemas on protokoll, mida tuntakse BitVoiceri serveriprotokollina ja mida rakendatakse BVSP klassi kaudu. See on vajalik serveriga suhtlemiseks

  • BVSMic

    See on raamatukogu, mis rakendab kõiki asju, mida on vaja heli salvestamiseks Arduino analoog-digitaalmuunduri (ADC) abil

    See heli salvestatakse klassi sisemisse puhvrisse ja neid saab alla laadida ning seejärel saata need kõnetuvastusmootoritele, mis on saadaval BitVoicer Serveris

  • BVSKõlar

    See on teek, mis sisaldab kõiki olulisi ressursse, mis on vajalikud BitVoicer -serverist saadetud helivoogude taasesitamiseks

    Selleks peab Arduino plaadil olema sisseehitatud digitaal-analoogmuundur (DAC)

    Arduino DUE on ainus Arduino plaat, millel on integreeritud DAC

BVSP, BVSMic, BVSSpeaker ja DAC raamatukogud, viide neile on kirjutatud neljale esimesele reale, mis moodustavad programmi vaatamise

BitVoicer Serveri installimisel leiate BitSophia, mis pakub kõiki neid nelja teeki

Kui kasutaja lisab viite BVSSpeaker raamatukogule, kutsutakse automaatselt esile varem mainitud DAC -teek

BVSP klassi kasutatakse BitVoicer Serveriga suhtlemiseks

Heli jäädvustamiseks ja salvestamiseks kasutatakse klassi BVSMic

BVSSpeaker klassi kasutatakse heli taasesitamiseks Arduino DUE DAC abil

2. seadistusfunktsioon

Seadistusfunktsiooni kasutatakse teatud toimingute tegemiseks, näiteks:

Pin -režiimide ja nende algseisundite määramiseks

Jadaühenduse initsialiseerimiseks

BVSP klassi lähtestamiseks

BVSMic klassi lähtestamiseks

BVSSpeaker klassi lähtestamiseks

Samuti seab see BVSP klassi kaadrileReceived, modeChanged ja streamReceived sündmustele "sündmuste käitlejad" (funktsiooninäidikud)

10. samm: silmusefunktsioon

See teostab viit peamist toimingut:

1. keepAlive () funktsioon

See funktsioon on pärida serverilt olekuteabe kohta.

2. vastuvõtu () funktsioon

See funktsioon on kontrollida, kas server on andmeid saatnud või mitte. Kui server saatis andmeid, töötleb see neid.

3. funktsioonid isSREAvailable (), startRecording (), stopRecording () ja sendStream ()

Neid funktsioone kasutatakse heli salvestamise erinevate sätete juhtimiseks ja pärast heli saavutamist saadab see heli BitVoiceri serverisse.

4. play () funktsioon

Seda funktsiooni kasutatakse heli esitamiseks, mis on BVSSpeaker klassis järjekorras.

5. playNextLEDNote ()

Seda funktsiooni kasutatakse juhtimiseks, kuidas LED peaks vilkuma.

6. Funktsioon BVSP_frameReceived

Seda funktsiooni kutsutakse iga kord, kui vastuvõtu () funktsioon hakkab tuvastama, et üks täielik kaader on vastu võetud. Siin käivitame BitVoicer Serverist saadud käsud. Käsud, mis juhivad LED -ide vilkumist, on 2 baiti. Selles esimeses baidis näidake tihvti ja teist baiti tähistab tihvti väärtus. Siin kasutame tihvtile sobiva väärtuse määramiseks funktsiooni analogWrite (). Sel ajal peame ka kontrollima, kas bait -tüüpi playLEDNotes käsk on vastu võetud. Kui see on kätte saadud, määran playLEDNotes väärtuseks true ja see jälgib ja märgib praegust aega. Seda aega kasutab funktsioon playNextLEDNote LED -ide sünkroonimiseks looga.

7. BVSP_modeChanged funktsioon

Seda funktsiooni kutsutakse iga kord, kui vastuvõtu () funktsioon tuvastab režiimi muutuse väljaminevas suunas (Server Arduino). BitVoicer Server võib saata raamitud andmeid või heli Arduinole. Enne kui side läheb ühest režiimist teise, saadab BitVoicer Server signaali. BVSP klass tuvastab selle signaali ja tõstab või märgistab sündmuse modeChanged. Funktsioonis BVSP_modeChanged, kui kasutaja tuvastab, et side läheb voogesitusrežiimist raamitud režiimi, saab ta teada, et heli on lõppenud, nii et kasutaja võib öelda BVSSpeaker klassi heli esitamise lõpetamise.

8. BVSP_streamReceived funktsioon

Seda funktsiooni kutsutakse iga kord, kui vastuvõtu () funktsioon tuvastab, et heliproovid on vastu võetud. See võtab lihtsalt heli alla ja paigutab need BVSSpeaker klassi, et esitus () funktsioon saaks neid reprodutseerida.

9. funktsioon playNextLEDNote

See funktsioon töötab ainult siis, kui funktsioon BVSP_frameReceived identifitseerib käsu playLEDNotes. See juhib ja sünkroonib LED -e BitVoicer Serverist saadetud heliga. Valgusdioodide heliga sünkroonimiseks ja õige ajastuse teadmiseks saab kasutada tasuta tarkvara Sonic Visualizer. See võimaldab meil vaadata helilaineid, et inimene saaks aru, millal klaveriklahvi vajutati.

Samm 11: Kuidas importida BitVoiceri serverilahenduse objekte?

Nüüd oleme seadistanud üles ehitatud BitVoiceri serveri Arduinoga töötama.

BitVoiceri serveri jaoks on neli peamist lahendusobjekti: asukohad, seadmed, kahendandmed ja häälskeemid.

Vaatame neid üksikasjalikult:

Asukohad

See tähistab füüsilist asukohta, kuhu seade paigaldatakse.

Saame luua asukoha nimega Kodu.

Seadmed

Neid peetakse BitVoicer Serveri klientideks.

Nagu asukoha loomine, saame luua ka segaseadme, lihtsuse mõttes nimetagem seda ArduinoDUE -ks.

Mõnikord võib puhvri ülevoolu juhtuda, nii et selle kõrvaldamiseks pidin piirama andmesagedust kommunikatsiooniseadetes 8000 proovini sekundis.

BinaryData on käsk, mida BitVoicer Server saab kliendiseadmetele saata. Need on tegelikult baidimassiivid, mida saate käskudega linkida.

Kui BitVoicer Server tuvastab selle käsuga seotud kõne, saadab see baitmassiivi sihtseadmesse.

Sel põhjusel olen loonud iga tihvti väärtuse jaoks ühe BinaryData objekti ja pannud neile nimeks ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff ja nii edasi.

Seega pidin looma 18 BinaryData objekti, seega soovitan teil need objektid alla laadida ja importida allpool toodud failist VoiceSchema.sof.

Mis on häälskeem?

Häälskeemid on kõik, mis kokku tuleb. nende peamine roll on määratleda, kuidas lauseid tuleks ära tunda ja mida tuleb kõiki käske käivitada.

Iga lause jaoks saate määrata nii palju käske kui vaja ja nende täitmise järjekorra.

Samuti saate iga pakutud käsu vahel määrata viivitusi.

BitVoicer Server toetab ainult 8-bitist mono-PCM-heli (8000 näidist sekundis), seega on vaja helifail sellesse vormingusse teisendada, täna on nii palju veebipõhiseid konversioonitasusid ja soovitan https://audio.online -convert.com/convert-to-wav.

Alltoodud failidest saate importida (Lahendusobjektide importimine) kõiki selles projektis kasutatud lahendusobjekte.

Üks neist sisaldab DUE -seadet ja teine häälskeemi ja selle käske.

12. samm: järeldus

Palun !!!

Olete teinud vinge projekti ja saate sellega rääkida

Nii et hakake rääkima ……………………

Saate LED -id vilkuma panna ja samal ajal öelda, et laulab laulu, kui vaja, selle kood on juba antud

Nii et olen lõpetanud oma teise juhendatava !!!!!!!!

Jah ……

Ma arvan, et kõik said sellest aru …

Kui kellelgi on küsimusi, küsige julgelt minult

Järgmisel korral pakun välja suurepärase juhendatava …

Hüvasti…

Varsti näeme……………

Soovitan: