Sisällysluettelo:
- Vaihe 1: Miten ympäristö otetaan käyttöön?
- Vaihe 2: Miksi Arduinon kysyntä kasvaa?
- Vaihe 3: Aloitetaan !!!!
- Vaihe 4: Tarvittavat komponentit
- Vaihe 5: Kuinka se todella toimii?
- Vaihe 6: Osien kytkeminen
- Vaihe 7: Koodin toimittaminen Arduino Boardille
- Vaihe 8: Ohjelmoi/luonnostele
- Vaihe 9: Entä kirjoitetut koodit?
- Vaihe 10: Silmukkatoiminto
- Vaihe 11: Kuinka tuoda BitVoicer -palvelinratkaisuobjekteja?
- Vaihe 12: Johtopäätös
Video: Puheentunnistin: 12 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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?
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
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
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
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:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen