Sisällysluettelo:

Puheentunnistin: 12 vaihetta
Puheentunnistin: 12 vaihetta

Video: Puheentunnistin: 12 vaihetta

Video: Puheentunnistin: 12 vaihetta
Video: KUINKA saada viestejä henkioppailta #henkiopas #näkijä 2024, Heinäkuu
Anonim
Puheentunnistin
Puheentunnistin

Hei kaikki………

Tämä on toinen ohjeeni, jonka kirjoitan

Tervetuloa siis kaikki …

Tässä Instructable -ohjelmassa aion opettaa sinulle, kuinka rakentaa äänentunnistin arduino -kortin avulla.

Joten luulen, että sinulla on kokemusta arduino -levyistä ennen, jos ei, se ei ole ollenkaan suuri valtava ongelma täällä, mutta suosittelen, että totut siihen, koska on erittäin mielenkiintoista pelata sen kanssa ja luoda hienoja projekteja luovuutesi ja sen tuntemuksen mukaan.

Joten niille, joilla ei ole aiempaa kokemusta arduinon käytöstä:

Arduino on avoimen lähdekoodin tietokonelaitteisto, jonka valmistaa yritys, jolla on suuri suunnittelija- ja valmistajayhteisö. Sitä voidaan pitää pienenä tietokoneena, jota voidaan käyttää muiden elektronisten piirien ohjaamiseen

Arduino on ohjelmoitu ympäristössä, jonka he ovat itse kehittäneet ja joka on helppo ladata verkkosivustolta

Vaihe 1: Miten ympäristö otetaan käyttöön?

Kuinka perustaa ympäristö?
Kuinka perustaa ympäristö?
Kuinka perustaa ympäristö?
Kuinka perustaa ympäristö?
Kuinka perustaa ympäristö?
Kuinka perustaa ympäristö?
Kuinka perustaa ympäristö?
Kuinka perustaa ympäristö?

Hae vain Googlesta "lataa arduino"

Napsauta "Arduino - Ohjelmisto"

Näet "Lataa Arduino IDE"

Valitse käyttöjärjestelmän mukaan

Lataa ja asenna se

Joten olet asentanut ohjelmiston onnistuneesti ja voit kirjoittaa koodin arduinoa varten ja kaapelin avulla voit liittää arduino -levyn tietokoneeseen ja lisätä koodin.

Vaihe 2: Miksi Arduinon kysyntä kasvaa?

Edullinen

Arduino-levyt ovat edullisia verrattuna muihin mikro-ohjainalustoihin. Se maksaa vain noin 50 dollaria.

Monialustainen

Arduinon ohjelmisto toimii Windows-, Macintosh- ja Linux -käyttöjärjestelmissä. Jos ajattelemme muita mikro-ohjainjärjestelmiä, se toimii vain Windowsissa tai toisin sanoen vain Windowsissa.

Avoimen lähdekoodin ja laajennettavissa oleva ohjelmisto

Ohjelmisto on avointa lähdekoodia, joten ihmiset alkoivat tutkia sitä syvällisesti ja sisällyttää muiden ohjelmointikielien kirjastoja (jotka sisältävät joukon toimintoja sen käyttöön).

Yksinkertainen ja helppo ohjelmointiympäristö

Arduino IDE: n (ohjelmisto, josta olemme jo keskustelleet…) käyttäminen on helppoa ihmisille, myös aloittelijoille, koska Arduino tarjoaa suuren määrän resursseja, jotka ovat saatavilla Internetissä ilmaiseksi. siitä.

Avoimen lähdekoodin ja laajennettava laitteisto

Arduino -levyjen suunnitelmat julkaistaan Creative Commons -lisenssillä, joten ihmiset, joilla on kokemusta piirisuunnittelusta, voivat tehdä oman versionsa moduulista, heillä on myös oikeus laajentaa tekniikkaa ja parantaa sitä lisäämällä siihen ominaisuuksia.

Vaihe 3: Aloitetaan !!!!

Joten olen jo kertonut, että tämä projekti keskittyy pääasiassa puheentunnistukseen Arduinon avulla ja antaa sille mahdollisuuden suorittaa joitain tehtäviä.

Puhutaan selkeämmin ……

Se poimii käyttäjän tuottamat äänisignaalit, jotka voidaan havaita vilkkumalla LED-valoa sen jälkeen, kun se on muunnettu syntetisoiduksi puheeksi.

Vaihe 4: Tarvittavat komponentit

Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit

Tämän projektin tärkeimmät komponentit ovat:

Arduino Due x 1

Spark Fun Electret -mikrofonin katkaisu x 1

Spark Fun Mono -äänivahvistimen katkaisu x 1

Kaiutin: 0,25 W, 8 ohmia x 1

Leipälauta x 1

5 mm LED: punainen x 3

Vastus 330 ohmia x 3

Hyppyjohdot x 1

Juotosrauta x 1

BitVoicer -palvelin

Se on puheentunnistus- ja synteesipalvelin puheautomaatiota varten.

Vaihe 5: Kuinka se todella toimii?

1. Ääniaallot selvitetään, sitten se kaappaa nämä aallot ja vahvistetaan Sparkfun Electret Breakout -levyllä.

2. Edellä kuvatusta prosessista saatu vahvistettu signaali digitalisoidaan ja puskuroidaan/tallennetaan Arduino-kortille käyttämällä siinä olevaa analogista digitaaliseen muunninta (ADC).

3. Ääninäytteet toimitetaan BitVoicer -palvelimelle käyttämällä Arduinon sarjaporttia.

4. BitVoicer Server käsittelee äänivirran ja tunnistaa sitten sen sisältämän puheen.

5. Tunnistettu puhe yhdistetään komentoihin, jotka on jo määritelty itse, ja sitten se lähetetään takaisin Arduinolle. Jos jokin komennoista koostuu puheen syntetisoinnista, BitVoicer Server valmistelee äänivirran ja lähettää sen Arduinolle.

6. Arduino tunnistaa annetut komennot ja suorittaa tarvittavat toimenpiteet. Jos vastaanotetaan äänivirta, se jonotetaan BVS -kaiutinluokkaan ja toistetaan DUE DAC- ja DMA -tekniikalla.

7. SparkFun Mono -äänivahvistin vahvistaa DAC -signaalin, jotta se voi ajaa 8 ohmin kaiuttimella ja kuulla sen kautta.

Vaihe 6: Osien kytkeminen

Osien kytkentä
Osien kytkentä
Osien kytkentä
Osien kytkentä

Ensimmäinen askel on kytkeä eri komponentit leipälautaan ja myös arduino -korttiin kuvan mukaisesti

Muista, että tässä käytetty arduino -kortti on DUE, on olemassa muita Arduinon valmistamia muita malleja, jotka toimivat eri jännitetasoilla

Suurin osa Arduino -levyistä toimii 5 V: n jännitteellä, mutta DUE toimii 3,3 V

DUE käyttää jo 3,3 V: n analogista viitettä, joten et tarvitse hyppyjohtoa AREF -nastaan

Voi anteeksi, unohdin sanoa, että AREF -nasta on "ANALOGIN REFERENSSIN PIN", joka on läsnä arduino -piirilevyssä, kuten seuraavassa kuvassa (Se on arduino UNO, mutta se on samanlainen vastaavassa paikassa DUE: n tapauksessa)

DUE: n AREF-nasta on kytketty mikro-ohjaimeen vastussillan kautta

AREF-tapin käyttämiseksi vastuksen R1 juotos on poistettava piirilevystä [Printed Circuit Board]

Vaihe 7: Koodin toimittaminen Arduino Boardille

Koodin toimittaminen Arduino Boardille
Koodin toimittaminen Arduino Boardille

Joten meidän on ladattava koodi Arduino Boardille, jotta se voi toimia koodissa annettujen ohjeiden mukaan.

Se on erittäin helppo tehdä, ja kerron niistä yksityiskohtaisesti, mitä he tekevät ja miten ne toimivat.

Kuinka asentaa kirjasto?

Joten ennen sitä meidän on tiedettävä, miten BitVoicer Server -kirjastoja asennetaan Arduino IDE: hen.that arduino -ohjelmistoon.

Joten avaa Arduino IDE

Napsauta yläpaneelissa "Sketch"

Napsauta sitten "Sisällytä kirjasto"

Napsauta sitten "Hallinnoi kirjastoa"

Sitten kirjastonhallinta avautuu ja näemme luettelon asennettavista tai jo asennetuista kirjastoista

Etsi asennettava kirjasto ja valitse sitten versionumero

Tässä asennamme BitVoicer Server -kirjastoja, jotka ovat välttämättömiä tälle projektille

Kuinka tuoda.zip -kirjasto?

Kirjastoja voidaan jakaa myös ZIP -tiedostona tai kansiona

Kansion nimi on kirjaston nimi

Kansion sisällä on.cpp -tiedosto,.h -tiedosto ja usein avainsanat.txt -tiedosto, esimerkkikansio ja muut kirjaston tarvitsemat tiedostot

Arduino IDE: n versiosta 1.0.5 voit asentaa siihen kolmannen osapuolen kirjastoja

Älä pura ladattua kirjastoa, jätä se sellaisenaan

Siirry tätä varten luonnokseen> Sisällytä kirjasto> Lisää.zip -kirjasto

Valitse.zip -tiedoston sijainti ja avaa se.

Palaa Luonnos> Tuo kirjasto -valikkoon.

Jos se tuodaan oikein, kirjasto näkyy avattavan valikon alareunassa navigoitaessa.

Vaihe 8: Ohjelmoi/luonnostele

Tämä on ohjelma, joka on ladattava Arduinoon.

Se voidaan tehdä yksinkertaisesti liittämällä Arduino Board tietokoneeseen ja lataamalla se taululle.

Vaihe 9: Entä kirjoitetut koodit?

Katsotaanpa nyt, mitä kukin koodiin kirjoitettu funktio todella tekee ………..

Kirjastoviitteet ja muuttujailmoitus

Ennen kuin puhumme tästä, meidän on tiedettävä ja ymmärrettävä joitain perus terminologioita, joita ovat:

  • BVSP

    Se on kirjasto, joka antaa meille lähes kaikki resurssit, joita tarvitaan tietojen vaihtamiseen BitVoicer -palvelimen kanssa

    Käytössä on protokolla, joka tunnetaan nimellä BitVoicer Server Protocol, joka toteutetaan BVSP -luokan kautta. Tämä on tarpeen palvelimen kanssa vuorovaikutuksessa

  • BVSMic

    Se on kirjasto, joka toteuttaa kaikki tarvittavat asiat äänen tallentamiseen Arduinon analogisesta digitaalimuuntimeen (ADC)

    Tämä ääni tallennetaan luokan sisäiseen puskuriin, ja se voidaan noutaa ja lähettää sitten puheentunnistuskoneille, jotka ovat käytettävissä BitVoicer -palvelimella

  • BVS -kaiutin

    Se on kirjasto, joka sisältää kaikki olennaiset resurssit, joita tarvitaan BitVoicer -palvelimelta lähetettyjen äänivirtojen toistamiseen

    Tätä varten Arduino-kortilla on oltava sisäänrakennettu DAC-muunnin

    Arduino DUE on ainoa Arduino -kortti, jossa on integroitu DAC

BVSP-, BVSMic-, BVSSpeaker- ja DAC -kirjastot, viittaus niihin on kirjoitettu neljälle ensimmäiselle riville, jotka muodostavat ohjelman tuijottamisen

Kun asennat BitVoicer -palvelimen, löydät BitSophian, joka tarjoaa kaikki nämä neljä kirjastoa

Kun käyttäjä lisää viittauksen BVSSpeaker -kirjastoon, aiemmin mainittu DAC -kirjasto käynnistyy automaattisesti

BVSP -luokkaa käytetään kommunikoimaan BitVoicer -palvelimen kanssa

BVSMic -luokkaa käytetään äänen tallentamiseen ja tallentamiseen

BVSSpeaker -luokkaa käytetään äänen toistamiseen Arduino DUE DAC: n avulla

2. asetustoiminto

Asetustoimintoa käytetään tiettyjen toimintojen suorittamiseen, kuten:

Pin -tilojen ja niiden alkutilojen asettaminen

Sarjaliikenteen alustaminen

BVSP -luokan alustaminen

BVSMic -luokan alustaminen

Alustaa BVSSpeaker -luokka

Se asettaa myös tapahtumakäsittelijät (toiminto -osoittimet) BVSP -luokan frameReceived-, modeChanged- ja streamReceived -tapahtumille

Vaihe 10: Silmukkatoiminto

Se suorittaa viisi suurta toimintaa:

1. keepAlive () -toiminto

Tämä toiminto on pyytää palvelimelta tilatietoja.

2. vastaanottaa () -toiminto

Tämä toiminto tarkistaa, ovatko palvelimet lähettäneet tietoja vai eivät. Jos palvelin lähetti tietoja, se käsittelee niitä.

3. isSREAvailable (), startRecording (), stopRecording () ja sendStream () -toiminnot

Näitä toimintoja käytetään ohjaamaan erilaisia äänityksen tallennuksen asetuksia ja sen jälkeen kun se on saavuttanut äänen, se lähettää tämän äänen BitVoicer -palvelimelle.

4. play () -toiminto

Tätä toimintoa käytetään BVSSpeaker -luokassa jonossa olevan äänen toistamiseen.

5. playNextLEDNote ()

Tätä toimintoa käytetään ohjaamaan, kuinka LED -merkkivalon pitäisi vilkkua.

6. BVSP_frameReceived -funktio

Tätä toimintoa kutsutaan joka kerta, kun vastaanotto () -toiminto alkaa tunnistaa, että yksi täydellinen kehys on vastaanotettu. Komennot, jotka ohjaavat LED -valojen vilkkumista, ovat 2 tavua. Tässä ensimmäisessä tavussa osoitetaan nasta ja toinen tavu osoittaa nasta -arvon. Tuolloin meidän on myös tarkistettava, onko tavutyyppinen playLEDNotes -komento vastaanotettu. Jos se on vastaanotettu, asetan playLEDNotes -asetukseksi tosi, ja se seuraa ja merkitsee nykyisen ajan. PlayNextLEDNote -toiminto käyttää tämän ajan LED -valojen synkronoimiseen kappaleen kanssa.

7. BVSP_modeChanged -toiminto

Tätä toimintoa kutsutaan aina, kun vastaanotto () -toiminto havaitsee muutoksen tilassa lähtevän suunnan suhteen (Server Arduino). BitVoicer -palvelin voi lähettää kehystettyä dataa tai ääntä Arduinolle. Ennen kuin tiedonsiirto siirtyy tilasta toiseen, BitVoicer Server lähettää signaalin. BVSP -luokka tunnistaa tämän signaalin ja nostaa tai merkitsee modeChanged -tapahtuman. Jos käyttäjä havaitsee BVSP_modeChanged -toiminnossa, että viestintä on siirtymässä stream -tilasta kehystettyyn tilaan, hän tietää, että ääni on päättynyt, jotta käyttäjä voi kehottaa BVSSpeaker -luokkaa lopettamaan äänen toiston.

8. BVSP_streamReceived -funktio

Tätä toimintoa kutsutaan aina, kun vastaanotto () -toiminto tunnistaa, että ääninäytteitä on vastaanotettu. Se yksinkertaisesti hakee äänen ja asettaa ne BVSSpeaker -luokkaan, jotta play () -toiminto voi toistaa ne.

9. playNextLEDNote -toiminto

Tämä toiminto toimii vain, jos BVSP_frameReceived -toiminto tunnistaa playLEDNotes -komennon. Se ohjaa ja synkronoi LEDit BitVoicer -palvelimelta lähetetyn äänen kanssa. Voit synkronoida LED -valot äänen kanssa ja tietää oikean ajoituksen käyttämällä ilmaista ohjelmistoa Sonic Visualizer. Sen avulla voimme katsella ääniaaltoja, jotta henkilö voi tietää, milloin pianonäppäintä on painettu.

Vaihe 11: Kuinka tuoda BitVoicer -palvelinratkaisuobjekteja?

Olemme nyt asettaneet ylemmän BitVoicer -palvelimen toimimaan Arduinon kanssa.

BitVoicer -palvelimella on neljä pääratkaisuobjektia: sijainnit, laitteet, binaariset tiedot ja äänimallit.

Katsotaanpa näitä yksityiskohtaisesti:

Sijainnit

Se edustaa fyysistä sijaintia, johon laite asennetaan.

Voimme luoda sijainnin nimeltä Koti.

Laitteet

Heitä pidetään BitVoicer Serverin asiakkaina.

Kuten sijainnin luominen, voimme luoda sekoitetun laitteen, helpottamiseksi, anna meille nimi ArduinoDUE.

Joskus puskurin ylivuotoja voi tapahtua, joten sen poistamiseksi jouduin rajoittamaan tiedonsiirtoasetusten tiedonsiirtonopeuden 8000 näytteeseen sekunnissa.

BinaryData on eräänlainen komento, jonka BitVoicer Server voi lähettää asiakaslaitteille. Ne ovat itse asiassa tavutaulukkoja, joihin voit linkittää komentoja.

Kun BitVoicer -palvelin tunnistaa komentoon liittyvän puheen, se lähettää tavumatriisin kohdelaitteelle.

Tästä syystä olen luonut yhden BinaryData -objektin kullekin pin -arvolle ja nimesin ne ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff ja niin edelleen.

Joten minun piti luoda 18 BinaryData -objektia, joten suosittelen, että lataat ja tuoda objektit alla olevasta VoiceSchema.sof -tiedostosta.

Joten mikä on äänisuunnitelma?

Äänimallit ovat kaikki, missä kaikki yhdistyvät. niiden tärkein tehtävä on määritellä, kuinka lauseet tulisi tunnistaa ja mitä kaikkia komentoja on suoritettava.

Voit määrittää jokaiselle virkkeelle niin monta komentoa kuin tarvitset ja järjestyksen, jolla ne suoritetaan.

Voit myös määrittää viiveitä kunkin annetun komennon välillä.

BitVoicer-palvelin tukee vain 8-bittistä mono-PCM-ääntä (8000 näytettä sekunnissa), joten äänitiedosto on muunnettava tähän muotoon, tänään on niin paljon online-muunnosmaksuja, ja suosittelen https://audio.online -convert.com/convert-to-wav.

Voit tuoda (Importing Solution Objects) kaikki tässä projektissa käyttämäni ratkaisuobjektit alla olevista tiedostoista.

Toinen niistä sisältää DUE -laitteen ja toinen äänimallin ja sen komennot.

Vaihe 12: Johtopäätös

Ole hyvä !!!

Olet tehnyt mahtavan projektin ja voit puhua sen kanssa

Aloita siis puhuminen ……………………

Voit vilkuttaa LED -valot ja samalla sanoa, että se laulaa kappaleen tarvittaessa, sen koodi on jo annettu

Olen siis suorittanut toisen ohjeen !!!!!!!!

Joo……

Luulen, että kaikki ymmärsivät sen …

Jos jollain on kysyttävää, kysy rohkeasti

Seuraavan kerran keksin erinomaisen opastettavan …

Hei hei…

Nähdään pian……………

Suositeltava: