INHOUDSOPGAWE:
- Stap 1: Hoe om die omgewing op te stel?
- Stap 2: Waarom neem die vraag na Arduino toe?
- Stap 3: Laat ons begin !!!!
- Stap 4: Vereiste komponente
- Stap 5: Hoe werk dit eintlik?
- Stap 6: Bedek die komponente
- Stap 7: Gee kode aan die Arduino -raad
- Stap 8: Programmeer/Skets
- Stap 9: Wat van die geskrewe kodes?
- Stap 10: lusfunksie
- Stap 11: Hoe om BitVoicer Server Solution Objects in te voer?
- Stap 12: Gevolgtrekking
Video: Spraakherkenning: 12 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Haai almal………
Dit is my tweede opdrag wat ek plaas
So welkom almal …
In hierdie instruksies gaan ek jou leer hoe om 'n stemherkenning op te bou met 'n arduino -bord.
Dus ek dink u het al 'n ervaring met arduino -borde. As dit nie die geval is nie, is dit glad nie 'n groot probleem nie, maar ek raai u aan om daaraan gewoond te raak, aangesien dit baie interessant is om daarmee te speel en 'n paar wonderlike projekte te skep. volgens u kreatiwiteit en kennis daaroor.
Dus vir die mense wat nie 'n vorige ervaring met die gebruik van arduino het nie:
Arduino is 'n open source rekenaarhardeware wat vervaardig word deur 'n onderneming met 'n groot aantal ontwerpers en vervaardigers. Dit kan beskou word as 'n klein rekenaar wat gebruik kan word om ander elektroniese stroombane te beheer
Arduino is geprogrammeer in 'n selfstandige omgewing wat maklik van hul webwerf afgelaai kan word
Stap 1: Hoe om die omgewing op te stel?
Soek net in die google "aflaai arduino"
Klik op "Arduino - sagteware"
U kan 'Laai die Arduino IDE' sien
Kies afhangende van u bedryfstelsel
Laai dit af en installeer dit
U het dus die sagteware suksesvol geïnstalleer en u kan die kode vir arduino skryf, en met behulp van 'n kabel kan u die arduino -bord aan die rekenaar koppel en die kode invoeg.
Stap 2: Waarom neem die vraag na Arduino toe?
Goedkoop
Arduino-borde is goedkoop in vergelyking met ander mikrobeheerderplatforms. Dit sal ongeveer $ 50 kos.
Kruis-platform
Die sagteware vir Arduino werk op Windows, Macintosh OS en Linux bedryfstelsels. As ons aan ander mikrobeheerstelsels dink, werk dit slegs in Windows of met ander woorde slegs tot vensters.
Open source en uitbreidbare sagteware
Die sagteware is open source, sodat mense daaroor begin studeer en biblioteke (wat 'n stel funksies vir die werking daarvan bevat) van ander programmeertale insluit.
Eenvoudige en maklike programmeeromgewing
Dit is maklik om die Arduino IDE (sagteware waaroor ons reeds bespreek het, te gebruik) vir mense, insluitend beginners, aangesien Arduino self 'n groot hoeveelheid hulpbronne verskaf wat gratis op die internet beskikbaar is. Kom dus meer te wete daaroor.
Open source en uitbreidbare hardeware
Die planne van die Arduino -borde word onder 'n Creative Commons -lisensie gepubliseer, sodat mense met 'n ervaring in kringontwerp hul eie weergawe van die module kan maak; hulle het ook die reg om die tegnologie uit te brei en kan verbeter deur funksies daaraan toe te voeg.
Stap 3: Laat ons begin !!!!
Ek het dus al gesê dat hierdie projek hoofsaaklik gefokus is op stemherkenning met behulp van die Arduino en dat dit sekere take kan verrig.
Duideliker praat ……
Dit neem die klankseine op wat deur die gebruiker verskaf word, wat bespeur kan word deur die LED te knip nadat dit omgeskakel is in gesintetiseerde spraak.
Stap 4: Vereiste komponente
Die belangrikste komponente wat vir hierdie projek benodig word, is:
Arduino Due x 1
Spark Fun Electret Microphone Breakout x 1
Spark Fun Mono Audio Amp Breakout x 1
Luidspreker: 0,25 W, 8 ohm x 1
Broodbord x 1
5 mm LED: rooi x 3
Weerstand 330 ohm x 3
Springdrade x 1
Soldeerbout x 1
BitVoicer -bediener
Dit is 'n spraakherkennings- en sintese -bediener vir spraakautomatisering.
Stap 5: Hoe werk dit eintlik?
1. Klankgolwe word uitgevind, dan vang dit hierdie golwe op en word dit versterk deur die Sparkfun Electret Breakout -bord.
2. Die versterkte sein wat uit die bogenoemde proses verkry word, sal gedigitaliseer en gebuffer/gestoor word in die Arduino-bord met behulp van die analoog-na-digitale omskakelaar (ADC) wat daarin voorkom.
3. Die klankmonsters sal aan die BitVoicer Server verskaf word met behulp van die Arduino -seriële poort.
4. BitVoicer Server verwerk die klankstroom en herken die spraak wat dit bevat.
5. Die herkende toespraak word gekarteer na die opdragte wat al voorheen deur homself gedefinieer is, en dan word dit teruggestuur na die Arduino. As een van die opdragte bestaan in die sintese van spraak, sal BitVoicer Server die klankstroom voorberei en dit na die Arduino stuur.
6. Die Arduino identifiseer die opdragte wat verskaf word en voer die gepaste aksie uit. As 'n klankstroom ontvang word, word dit in die tou in die BVS -luidsprekerklas geplaas en met DUE DAC en DMA gespeel.
7. Die SparkFun Mono Audio Versterker versterk die DAC sein sodat dit 'n 8 Ohm luidspreker kan dryf en daardeur gehoor kan word.
Stap 6: Bedek die komponente
Die heel eerste stap is om verskillende komponente in die broodbord en ook met die arduino -bord te bedraad, soos op die foto getoon
Onthou dat die arduino -bord wat hier gebruik word, DUE is; daar is verskillende ander modelle wat deur Arduino vervaardig is, wat elk op verskillende spanningsvlakke werk
Die meeste Arduino -borde werk op 5 V, maar die DUE loop op 3,3 V
Die DUE gebruik reeds 'n analoog van 3.3 V, sodat u nie 'n springer na die AREF -pen nodig het nie
O, jammer, ek het vergeet om te sê dat 'n AREF -pen 'n 'ANALOGE VERWYSINGSPEN' is wat op 'n arduino -bord voorkom, soos in die volgende figuur getoon word (dit is 'n ARduino UNO, maar soortgelyk aan die soortgelyke webwerf in die geval van DUE)
Die AREF-pen op die DUE is via 'n weerstandsbrug aan die mikrobeheerder gekoppel
Om die AREF-pen te gebruik, moet weerstand R1 van die PCB [Printed Circuit Board] gesoldeer word
Stap 7: Gee kode aan die Arduino -raad
Ons moet dus die kode op die Arduino -bord laai, sodat dit kan werk, afhangende van die instruksies in die kode.
Dit is baie maklik om dit te doen. Ek sal elkeen in detail verduidelik, wat hulle doen en hoe hulle werk.
Hoe om 'n biblioteek te installeer?
Dus voordat ons moet weet hoe om BitVoicer Server -biblioteke in die Arduino IDE te installeer, dit op die arduino -sagteware.
So daarvoor maak die Arduino IDE oop
Klik in die boonste paneel op "Skets"
Klik dan op "Sluit biblioteek in"
Klik daarop "Bestuur biblioteek"
Dan sal die biblioteekbestuurder oopmaak en kan ons 'n lys biblioteke sien wat gereed is om geïnstalleer te word of die wat reeds geïnstalleer is
Soek die biblioteek om te installeer en kies dan die weergawenommer
Hier installeer ons BitVoicer Server -biblioteke, wat nodig is vir hierdie projek
Hoe om 'n.zip -biblioteek in te voer?
Biblioteke kan ook as 'n zip -lêer of gids versprei word
Die naam van die gids is die naam van die biblioteek
In die gids sal 'n.cpp -lêer, 'n.h -lêer en dikwels 'n keywords.txt -lêer, 'n voorbeeldmap en ander lêers wees wat die biblioteek benodig
Vanaf die weergawe 1.0.5 van Arduino IDE kan u biblioteke van derde partye daarin installeer
Moenie die afgelaaide biblioteek uitpak nie, laat dit soos dit is
Gaan hiervoor na skets> Sluit biblioteek in> Voeg.zip -biblioteek by
Kies die plek van die zip -lêer en maak dit oop.
Keer terug na die menu Skets> Invoerbiblioteek.
As dit behoorlik ingevoer is, is die biblioteek onderaan die keuselys te sien as u navigeer.
Stap 8: Programmeer/Skets
Dit is die program wat in die Arduino opgelaai moet word.
Dit kan eenvoudig gedoen word deur die Arduino Board aan te sluit op die rekenaar en dit op die bord te laai.
Stap 9: Wat van die geskrewe kodes?
Kom ons kyk nou na wat elkeen van die funksies wat in die kode geskryf is, eintlik doen ………..
Biblioteekverwysings en veranderlike verklaring
Voordat ons hieroor praat, moet ons 'n paar basiese terminologieë ken en verstaan, insluitend:
-
BVSP
Dit is 'n biblioteek wat ons byna alle hulpbronne bied wat nodig is om inligting met die BitVoicer Server uit te ruil
Daar is 'n protokol wat bekend staan as die BitVoicer Server Protocol wat geïmplementeer word deur die BVSP -klas. Dit is nodig om met die bediener te kommunikeer
-
BVSMic
Dit is 'n biblioteek wat alles benodig om die klank op te neem met behulp van Analog-to-Digital Converter (ADC) van die Arduino
Hierdie klank word in die interne buffer van die klas gestoor, en dit kan opgespoor word en dan na die spraakherkenningsmotors gestuur word wat op BitVoicer Server beskikbaar is
-
BVS -spreker
Dit is 'n biblioteek wat al die noodsaaklike hulpbronne bevat wat nodig is om klankstrome weer te gee wat van die BitVoicer Server gestuur word
Daarvoor moet die Arduino-bord 'n ingeboude Digital-to-Analog Converter (DAC) hê
Arduino DUE is die enigste Arduino -bord met 'n geïntegreerde DAC
BVSP-, BVSMic-, BVSSpeaker- en DAC -biblioteke, die verwysing daarna word op die eerste vier reëls geskryf, waaruit die program gekyk word
As u BitVoicer Server installeer, kan u BitSophia vind wat al hierdie vier biblioteke bied
As die gebruiker 'n verwysing na die BVSSpeaker -biblioteek voeg, word die DAC -biblioteek wat vroeër genoem is, outomaties opgeroep
Die BVSP -klas word gebruik om met BitVoicer Server te kommunikeer
Die BVSMic -klas word gebruik om klank op te neem en op te slaan
BVSSpeaker -klas word gebruik om klank weer te gee met die Arduino DUE DAC
2. opstel funksie
Die opstelfunksie word gebruik om sekere aksies uit te voer, soos:
Om penmodusse en hul aanvanklike toestande in te stel
Om seriële kommunikasie te initialiseer
Om die BVSP -klas te begin
Om die BVSMic -klas te begin
Om die BVSSpeaker -klas te begin
Dit stel ook 'gebeurtenishanteerders' (funksie -aanwysers) in vir die raamontvangste, modusveranderde en stroomontvangte gebeurtenisse van die BVSP -klas
Stap 10: lusfunksie
Dit voer vyf groot operasies uit:
1. funksie keepAlive ()
Hierdie funksie is om die bediener oor die statusinligting te versoek.
2. ontvang () funksie
Hierdie funksie is om te kyk of die bediener data gestuur het of nie. As die bediener data gestuur het, sal dit dit verwerk.
3. isSREAvailable (), startRecording (), stopRecording () en sendStream () funksies
Hierdie funksies word gebruik om die verskillende instellings vir die opname van die klank te beheer, en nadat dit die klank bereik het, stuur dit hierdie klank na die BitVoicer Server.
4. speel () funksie
Hierdie funksie word gebruik om die klank te speel wat in die tou gestaan het by die BVSSpeaker -klas.
5. playNextLEDNote ()
Hierdie funksie word gebruik om te bepaal hoe die Led moet knip.
6. BVSP_frame Ontvang funksie
Hierdie funksie word elke keer genoem wanneer die ontvang () funksie begin identifiseer dat een volledige raam ontvang is. Hier voer ons die opdragte uit wat BitVoicer Server verkry het. Die opdragte wat die knipper van LED's beheer, is van 2 Bytes. In die eerste byte dui die pen aan en die tweede byte dui die pinwaarde aan. Hier gebruik ons die analogWrite () -funksie om die toepaslike waarde op die pen in te stel. Op daardie tydstip moet ons ook kyk of playLEDNotes -opdrag, wat van Byte -tipe is, ontvang is. As dit ontvang is, stel ek playLEDNotes op waar, en dit sal die huidige tyd monitor en merk. Hierdie tyd sal deur die playNextLEDNote -funksie gebruik word om die LED's met die liedjie te sinchroniseer.
7. BVSP_mode Veranderde funksie
Hierdie funksie word elke keer genoem wanneer die ontvangs () -funksie 'n verandering in die modus in die uitgaande rigting (bediener Arduino) identifiseer. BitVoicer Server kan geraamde data of klank na die Arduino stuur. Voordat die kommunikasie van die een modus na die ander gaan, stuur BitVoicer Server 'n sein. Die BVSP -klas identifiseer hierdie sein en verhoog of merk die mode -veranderende gebeurtenis. In die BVSP_modeChanged -funksie, as die gebruiker agterkom dat die kommunikasie van stroommodus na geraamde modus gaan, sal hy/sy weet dat die klank geëindig het, sodat die gebruiker die BVSSpeaker -klas kan sê om op te hou om klank te speel.
8. BVSP_stroom Ontvang funksie
Hierdie funksie word elke keer genoem wanneer die ontvang () -funksie identifiseer dat klankmonsters ontvang is. Dit haal eenvoudig die klank op en plaas dit in die ry in die BVSSpeaker -klas, sodat die play () -funksie dit kan weergee.
9. playNextLEDNote funksie
Hierdie funksie werk slegs as die BVSP_frameReceived -funksie die playLEDNotes -opdrag identifiseer. Dit beheer en sinkroniseer die LED's met die klank wat vanaf BitVoicer Server gestuur word. 'N Gratis sagteware Sonic Visualizer kan gebruik word om die LED's met die klank te sinchroniseer en die regte tydsberekening te ken. Dit stel ons in staat om na die klankgolwe te kyk, sodat die persoon kan sien wanneer 'n klaviertoets ingedruk is.
Stap 11: Hoe om BitVoicer Server Solution Objects in te voer?
Ons het nou die BitVoicer Server verhoog om saam met die Arduino te werk.
Daar is vier hoofoplossingsvoorwerpe vir 'n BitVoicer -bediener: liggings, toestelle, BinaryData en stemskemas.
Kom ons kyk hierna in detail:
Plekke
Dit verteenwoordig die fisiese ligging waarop die toestel geïnstalleer word.
Ons kan 'n plek met die naam Tuis skep.
Toestelle
Hulle word beskou as die kliënte van BitVoicer Server.
Net soos om 'n plek te skep, kan ons 'n gemengde toestel skep, sodat ons dit makliker kan noem as ArduinoDUE.
Soms kan 'n paar buffer -oorstromings plaasvind, dus om dit uit te skakel, moes ek die datatempo in die kommunikasie -instellings beperk tot 8000 monsters per sekonde.
BinaryData is 'n tipe opdrag wat BitVoicer Server na kliënttoestelle kan stuur. Dit is eintlik byte -skikkings wat u na opdragte kan koppel.
As BitVoicer Server spraak met betrekking tot die opdrag herken, stuur dit die greepskikking na die teikenapparaat.
Daarom het ek een BinaryData -voorwerp vir elke penwaarde geskep en dit ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff ensovoorts genoem.
Ek moes dus 18 BinaryData -voorwerpe skep, dus stel ek voor dat u die voorwerpe aflaai en invoer uit die VoiceSchema.sof -lêer wat hieronder verskaf word.
So, wat is 'n stemskema?
Stemskemas is waar alles bymekaar kom. die belangrikste rol daarvan is om te definieer hoe die sinne herken moet word en wat alle opdragte moet uitvoer.
Vir elke sin kan u soveel opdragte definieer as wat u benodig en die volgorde waarin dit uitgevoer sal word.
U kan ook vertragings tussen elk van die opdragte definieer.
BitVoicer Server ondersteun slegs 8-bis mono PCM-klank (8000 monsters per sekonde), dus is daar 'n behoefte om die klanklêer na hierdie formaat om te skakel, daar is soveel aanlyn-omskakelingstale vandag en ek beveel https://audio.online aan -convert.com/convert-to-wav.
U kan alle oplossingsvoorwerpe wat ek in hierdie projek gebruik het, invoer (invoer van oplossingsvoorwerpe) uit die onderstaande lêers.
Een daarvan bevat die DUE -toestel en die ander een bevat die stemskema en sy opdragte.
Stap 12: Gevolgtrekking
Daar gaan jy !!!
U het 'n wonderlike projek gemaak en u kan daarmee gesels
So begin praat ………………
U kan die LED's knip, en terselfdertyd kan u dit sê om 'n liedjie te sing, indien nodig, die kode is reeds verskaf
Dus het ek my tweede instruksies voltooi !!!!!!!!
Ja ……
Ek dink almal het dit verstaan …
As iemand enige navrae het, kan u my gerus vra
Ek kom volgende keer met 'n uitstekende instruksie …
Totsiens…
Sien jou binnekort……………
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
Spraakherkenning met Arduino (Bluetooth + LCD + Android): 6 stappe
Spraakherkenning met Arduino (Bluetooth + LCD + Android): In hierdie projek gaan ons spraakherkenning doen met Arduino, Bluetooth-module (HC-05) en LCD. Kom ons bou u eie spraakherkenningstoestel
Spraakherkenning met behulp van Google Speich API en Python: 4 stappe
Spraakherkenning met behulp van Google Speech API en Python: Spraakherkenning Spraakherkenning is 'n deel van natuurlike taalverwerking, wat 'n subveld van kunsmatige intelligensie is. Om dit eenvoudig te stel, spraakherkenning is die vermoë van 'n rekenaarprogrammatuur om woorde en frases in gesproke taal te identifiseer
Inleiding tot spraakherkenning met Elechouse V3 en Arduino .: 4 stappe (met foto's)
Inleiding tot stemherkenning met Elechouse V3 en Arduino .: Hallo daar …! Stemherkenningstegnologie is die afgelope paar jaar hier. Ons onthou nog steeds die groot opgewondenheid wat ons gehad het toe ons met die eerste iPhone met Siri geaktiveer het. Sedertdien het spraakbeheertoestelle gegroei tot 'n baie gevorderde vlak