Indholdsfortegnelse:
- Trin 1: Hvordan opsættes miljøet?
- Trin 2: Hvorfor stiger efterspørgslen efter Arduino?
- Trin 3: Lad os starte !!!!
- Trin 4: Påkrævede komponenter
- Trin 5: Hvordan fungerer det egentlig?
- Trin 6: Tilslutning af komponenterne
- Trin 7: Levering af kode til Arduino Board
- Trin 8: Program/skitse
- Trin 9: Hvad med de skrevne koder?
- Trin 10: Loop -funktion
- Trin 11: Sådan importeres BitVoicer Server Solution Objects?
- Trin 12: Konklusion
Video: Talegenkendelse: 12 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Hej allesammen………
Dette er min anden instruerbare, som jeg sender
Så byde alle velkommen …
I denne Instructable vil jeg lære dig, hvordan du opbygger en stemmegenkender ved hjælp af et arduino -kort.
Så jeg tror, du har en erfaring med arduino boards før. Hvis ikke, er det slet ikke et stort stort problem her. Men jeg anbefaler dig at vænne dig til det, da det er meget interessant at lege med det og lave nogle fede projekter ud af det i henhold til din kreativitet og viden om det.
Så for de mennesker, der ikke har en tidligere erfaring med at bruge arduino:
Arduino er en open source computerhardware, der er fremstillet af et firma, der har et stort fællesskab af designere og producenter. Det kan betragtes som en lille computer, der kan bruges til at styre andre elektroniske kredsløb
Arduino er programmeret i et miljø udviklet af dem selv, som let kan downloades fra deres websted
Trin 1: Hvordan opsættes miljøet?
Bare søg i google "download arduino"
Klik på "Arduino - Software"
Du vil kunne se "Download Arduino IDE"
Vælg afhængigt af dit operativsystem
Download og installer det
Så du har installeret softwaren, og du kan skrive din kode til arduino, og ved hjælp af et kabel kan du slutte arduino -kortet til computeren og kan indsætte koden.
Trin 2: Hvorfor stiger efterspørgslen efter Arduino?
Billig
Arduino-plader er billige i sammenligning med andre mikro-controller-platforme. Det vil koste lige omkring $ 50.
På tværs af platforme
Softwaren til Arduino fungerer på Windows, Macintosh OS og Linux operativsystemer. Hvis vi tænker på andre mikro-controllersystemer, fungerer det kun i Windows eller med andre ord kun begrænset til vinduer.
Open source og udvidelig software
Softwaren er open source, så folk begyndte at studere dybt om det og inkludere biblioteker (som indeholder et sæt funktioner til dets drift) af andre programmeringssprog.
Enkelt og let programmeringsmiljø
Det er let at bruge Arduino IDE (software, som vi allerede har diskuteret om …. om det.
Open source og udvidelig hardware
Planerne for Arduino -tavlerne udgives under en Creative Commons -licens, så folk, der har erfaring med kredsløbsdesign, kan lave deres egen version af modulet, de har også ret til at udvide teknologien og kan forbedre sig ved at tilføje funktioner til den.
Trin 3: Lad os starte !!!!
Så jeg har allerede fortalt, at dette projekt hovedsageligt er fokuseret på stemmegenkendelse ved hjælp af Arduino og at tillade det at udføre nogle opgaver.
Taler mere tydeligt ……
Det opfanger lydsignalerne fra brugeren, som kan detekteres ved at blinke på LED'en, efter at det er konverteret til syntetiseret tale.
Trin 4: Påkrævede komponenter
De nødvendige komponenter til dette projekt er:
Arduino Due x 1
Spark Fun Electret Microphone Breakout x 1
Spark Fun Mono Audio Amp Breakout x 1
Højttaler: 0,25 W, 8 ohm x 1
Brødbræt x 1
5 mm LED: Rød x 3
Modstand 330 ohm x 3
Jumper ledninger x 1
Loddejern x 1
BitVoicer -server
Det er en talegenkendelse og synteseserver til taleautomatisering.
Trin 5: Hvordan fungerer det egentlig?
1. Lydbølger bliver fundet ud, så det fanger disse bølger og forstærkes af Sparkfun Electret Breakout board.
2. Det forstærkede signal opnået fra ovenstående proces vil blive digitaliseret og bufret/lagret i Arduino-kortet ved hjælp af dets analog-til-digital-konverter (ADC), der er til stede i det.
3. Lydprøverne leveres til BitVoicer Server ved hjælp af den nuværende Arduino serielle port.
4. BitVoicer Server behandler lydstrømmen, og derefter genkender den den tale, den indeholder.
5. Den genkendte tale vil blive kortlagt til de kommandoer, der allerede er defineret af sig selv før, derefter vil den blive sendt tilbage til Arduino. Hvis en af kommandoerne består i at syntetisere tale, forbereder BitVoicer Server lydstrømmen og sender den til Arduino.
6. Arduino identificerer de leverede kommandoer og udfører den bestemte passende handling. Hvis der modtages en lydstrøm, vil den blive køet ind i BVS -højttalerklassen og afspilles ved hjælp af DUE DAC og DMA.
7. SparkFun Mono Audio Amplifier forstærker DAC -signalet, så det kan drive en 8 Ohm højttaler og kan høres gennem det.
Trin 6: Tilslutning af komponenterne
Det allerførste trin er at tilslutte forskellige komponenter i brødbrættet og også med arduino -brættet som vist på billedet
Husk, at arduino -kortet, der bruges her, er DUE, der er forskellige andre modeller, der er blevet fremstillet af Arduino, der hver fungerer på forskellige spændingsniveauer
De fleste Arduino -tavler fungerer ved 5 V, men DUE kører ved 3,3 V
DUE bruger allerede en 3,3 V analog reference, så du ikke behøver en jumper til AREF -stiften
Åh undskyld, jeg glemte at sige, at en AREF -pin er en "ANALOG REFERENCE PIN", der er til stede i et arduino -bord som vist i den næste figur (Det er en arduino UNO, men det ligner det lignende sted i tilfælde af DUE)
AREF-stiften på DUE er forbundet til mikrokontrolleren via en modstandsbro
For at bruge AREF-stiften skal modstand R1 være afloddet fra printkortet [printkort]
Trin 7: Levering af kode til Arduino Board
Så vi skal uploade koden til Arduino Board, så den kan fungere afhængigt af instruktionerne i koden.
Det er meget let at gøre dette. Jeg vil forklare hver enkelt af dem i detaljer, hvad de gør og hvordan de fungerer.
Hvordan installeres et bibliotek?
Så før det er vi nødt til at vide, hvordan vi installerer BitVoicer Server -biblioteker i Arduino IDE,. Det på arduino -softwaren.
Så til det skal du åbne Arduino IDE
Klik på "Skitse" i øverste panel
Klik derefter på "Inkluder bibliotek"
Klik derefter på "Administrer bibliotek"
Derefter åbner bibliotekschefen, og vi kan se en liste over biblioteker, der er klar til installation eller dem, der allerede er installeret
Søg efter det bibliotek, der skal installeres, og vælg derefter versionsnummeret
Her installerer vi BitVoicer Server -biblioteker, hvilket er nødvendigt for dette projekt
Sådan importeres et.zip -bibliotek?
Biblioteker kan også distribueres som en ZIP -fil eller mappe
Navnet på mappen er bibliotekets navn
Inde i mappen vil der være en.cpp -fil, en.h -fil og ofte en keywords.txt -fil, mappe med eksempler og andre filer, der kræves af biblioteket
Fra version 1.0.5 af Arduino IDE kan du installere tredjepartsbiblioteker inde i den
Pak ikke det downloadede bibliotek ud, lad det være som det er
Gå til skitse> Inkluder bibliotek> Tilføj.zip -bibliotek
Vælg placeringen af .zip -filen, og åbn den.
Vend tilbage til menuen Skitse> Importer bibliotek.
Hvis det er korrekt importeret, skal biblioteket ses nederst i rullemenuen, når du navigerer.
Trin 8: Program/skitse
Dette er det program, der skal uploades i Arduino.
Det kan gøres ganske enkelt ved at forbinde Arduino Board til computeren og uploade det til kortet.
Trin 9: Hvad med de skrevne koder?
Lad os nu se på, hvad hver af de funktioner, der er skrevet i koden, rent faktisk gør ………….
Biblioteksreferencer og variabel erklæring
Inden vi taler om dette, skal vi kende og forstå nogle grundlæggende terminologier, herunder:
-
BVSP
Det er et bibliotek, der giver os næsten alle ressourcer, der er nødvendige for at udveksle oplysninger med BitVoicer Server
Der findes en protokol, der er kendt som BitVoicer Server Protocol, som implementeres gennem BVSP -klassen. Dette er påkrævet for at interagere med serveren
-
BVSMic
Det er et bibliotek, der implementerer alle de ting, der er nødvendige for at optage lyden ved hjælp af Analog-to-Digital Converter (ADC) fra Arduino
Denne lyd gemmes i klasseens interne buffer, og de kan hentes, og derefter kan den sendes til talegenkendelsesmotorerne, som er tilgængelig på BitVoicer Server
-
BVS -højttaler
Det er et bibliotek, der indeholder alle de væsentlige ressourcer, der er nødvendige for at gengive lydstrømme, der sendes ud fra BitVoicer -serveren
Til det skal Arduino-kortet have en indbygget Digital-to-Analog Converter (DAC)
Arduino DUE er det eneste Arduino -kort, der har en integreret DAC
BVSP, BVSMic, BVSSpeaker og DAC biblioteker, henvisningen til disse er skrevet på de fire første linjer, der udgør programmets stirring
Når du installerer BitVoicer Server kan du finde BitSophia, som indeholder alle disse fire biblioteker
Når brugeren tilføjer en reference til BVSSpeaker -biblioteket, påberåbes DAC -biblioteket, som tidligere er blevet nævnt, automatisk
BVSP -klassen bruges til at kommunikere med BitVoicer Server
BVSMic -klassen bruges til at optage og gemme lyd
BVSSpeaker -klasse bruges til at gengive lyd ved hjælp af Arduino DUE DAC
2. opsætningsfunktion
Opsætningsfunktionen bruges til at udføre visse handlinger som:
For at indstille pin -tilstande og deres oprindelige tilstande
For at initialisere seriel kommunikation
For at initialisere BVSP -klassen
For at initialisere BVSMic klasse
For at initialisere BVSSpeaker -klassen
Det indstiller også "event handlers" (funktionspegere) til frameReceived, modeChanged og streamReceived events i BVSP -klassen
Trin 10: Loop -funktion
Det udfører fem store operationer:
1. keepAlive () -funktion
Denne funktion er at bede serveren om statusoplysninger.
2. modtage () funktion
Denne funktion er at kontrollere, om serveren har sendt data ud eller ej. Hvis serveren har sendt data, vil den behandle den.
3. isSREAvailable (), startRecording (), stopRecording () og sendStream () funktioner
Disse funktioner bruges til at styre de forskellige indstillinger for optagelse af lyden, og når den når lyden, sender den denne lyd til BitVoicer -serveren.
4. play () funktion
Denne funktion bruges til at afspille den lyd, der er i kø i BVSSpeaker -klassen.
5. playNextLEDNote ()
Denne funktion bruges til at styre, hvordan LED'en skal blinke.
6. BVSP_frame Modtaget funktion
Denne funktion kaldes hver gang, når modtage () -funktionen begynder at identificere, at en komplet ramme er blevet modtaget. Her kører vi kommandoerne opnået fra BitVoicer Server. Kommandoerne, der styrer blinkende LED'er, er på 2 Bytes. I den første byte angiver pin og anden byte angiver pin -værdi. Her bruger vi analogWrite () -funktionen til at indstille den passende værdi til pin. På det tidspunkt skal vi også kontrollere, om playLEDNotes -kommandoen, som er af Byte -type, er modtaget. Hvis den er modtaget, indstiller jeg playLEDNotes til sand, og den overvåger og markerer den aktuelle tid. Denne tid vil blive brugt af playNextLEDNote -funktionen til at synkronisere lysdioderne med sangen.
7. BVSP_mode Ændret funktion
Denne funktion kaldes hver gang, når modtage () -funktionen identificerer en ændring i tilstand i udgående retning (Server Arduino). BitVoicer Server kan sende indrammede data eller lyd til Arduino. Inden kommunikationen går fra en tilstand til en anden, sender BitVoicer Server et signal. BVSP -klassen identificerer dette signal og frembringer eller markerer modeChanged -hændelsen. I funktionen BVSP_modeChanged, hvis brugeren registrerer, at kommunikationen går fra streamtilstand til indrammet tilstand, ved han/hun, at lyden er afsluttet, så brugeren kan fortælle BVSSpeaker -klassen at stoppe med at afspille lyd.
8. BVSP_stream Modtaget funktion
Denne funktion kaldes hver gang, når funktionen modtage () identificerer, at lydprøver er blevet modtaget. Det henter simpelthen lyden og sætter dem i kø i BVSSpeaker -klassen, så play () -funktionen kan gengive dem.
9. playNextLEDNote -funktion
Denne funktion kører kun, hvis funktionen BVSP_frameReceived identificerer kommandoen playLEDNotes. Det styrer og synkroniserer lysdioderne med lyden, der sendes fra BitVoicer Server. For at synkronisere lysdioderne med lyden og kende den korrekte timing, kan en gratis software Sonic Visualizer bruges. Det giver os mulighed for at se lydbølgerne, så personen kan se, hvornår der blev trykket på en klavertast.
Trin 11: Sådan importeres BitVoicer Server Solution Objects?
Vi har nu indstillet opgraderet BitVoicer Server til at arbejde med Arduino.
Der er fire hovedløsningsobjekter til en BitVoicer Server: Lokationer, Enheder, BinaryData og Stemmeskemaer.
Lad os se nærmere på disse:
Placeringer
Det repræsenterer det fysiske sted, hvor enheden installeres.
Vi kan oprette et sted kaldet Hjem.
Enheder
De anses for at være som klienter på BitVoicer Server.
Ligesom at oprette en placering kan vi oprette en blandet enhed, for nemheds skyld lad os navngive den som ArduinoDUE.
Nogle gange kan der ske nogle bufferoverløb, så for at eliminere det måtte jeg begrænse datahastigheden i kommunikationsindstillingerne til 8000 prøver pr. Sekund.
BinaryData er en kommandotype, BitVoicer Server kan sende til klientenheder. De er faktisk byte -arrays, du kan linke til kommandoer.
Når BitVoicer Server genkender tale relateret til den kommando, sender den byte -array til målenheden.
Så derfor har jeg oprettet et BinaryData -objekt til hver pinværdi og navngivet dem ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff og så videre.
Så jeg var nødt til at oprette 18 BinaryData -objekter, så jeg foreslår, at du downloader og importerer objekterne fra filen VoiceSchema.sof, som er angivet nedenfor.
Så hvad er et stemmeskema?
Stemmeskemaer er, hvor alt kommer sammen. hovedrollen for dem er at definere, hvordan sætningerne skal genkendes, og hvad alle kommandoer skal køres.
For hver sætning kan du definere så mange kommandoer, som du har brug for, og den rækkefølge, de skal udføres.
Du kan også definere forsinkelser mellem hver af de angivne kommandoer.
BitVoicer Server understøtter kun 8-bit mono PCM-lyd (8000 prøver pr. Sekund), så der bliver behov for at konvertere lydfilen til dette format, der er så mange online konverteringsafgifter i dag, og jeg anbefaler https://audio.online -convert.com/convert-to-wav.
Du kan importere (importere løsningsobjekter) alle løsningsobjekter, jeg brugte i dette projekt, fra filerne herunder.
En af dem indeholder DUE -enheden, og den anden indeholder stemmeskemaet og dets kommandoer.
Trin 12: Konklusion
Værsgo !!!
Du har lavet et fantastisk projekt, og du kan tale med det
Så begynd at tale ………………
Du kan blinke lysdioderne op, og samtidig kan du sige det til at synge en sang, hvis det har brug for det, dens kode er allerede angivet
Så jeg har afsluttet min anden instruerbare !!!!!!!!
Ja ……
Jeg tror alle forstod det …
Hvis nogen har spørgsmål, er du velkommen til at spørge mig
Jeg vil komme med en fremragende instruerbar næste gang …
Farvel…
Vi ses snart ……………
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Talegenkendelse med Arduino (Bluetooth + LCD + Android): 6 trin
Talegenkendelse med Arduino (Bluetooth + LCD + Android): I dette projekt skal vi lave talegenkendelse med Arduino, Bluetooth-modul (HC-05) og LCD. lad os bygge din egen talegenkendelsesenhed
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Talegenkendelse ved hjælp af Google Speech API og Python: 4 trin
Talegenkendelse ved hjælp af Google Speech API og Python: Speech Recognition Talegenkendelse er en del af Natural Language Processing, som er et underfelt til kunstig intelligens. For at sige det enkelt er talegenkendelse en computersoftwares evne til at identificere ord og sætninger i talesprog