Innehållsförteckning:
- Steg 1: Hur ställer jag in miljön?
- Steg 2: Varför efterfrågan på Arduino ökar?
- Steg 3: Låt oss börja !!!!!
- Steg 4: Komponenter krävs
- Steg 5: Hur fungerar det egentligen?
- Steg 6: Anslutning av komponenterna
- Steg 7: Ge kod till Arduino -styrelsen
- Steg 8: Programmera/skissa
- Steg 9: Hur är det med koderna som skrivits?
- Steg 10: Loop -funktion
- Steg 11: Hur importerar jag BitVoicer Server Solution Objects?
- Steg 12: Slutsats
Video: Taligenkänning: 12 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Hej allihopa………
Detta är min andra instruerbara som jag lägger ut
Så välkomna alla …
I den här instruktionsboken ska jag lära dig hur du bygger upp en röstigenkänning med ett arduino -kort.
Så jag tror att du har en erfarenhet av arduino -brädor tidigare. Om inte, är det inte ett stort stort problem här. Men jag rekommenderar dig att vänja dig vid det eftersom det är väldigt intressant att spela med det och skapa några häftiga projekt ut ur det enligt din kreativitet och kunskap om det.
Så för de människor som inte har någon tidigare erfarenhet av att använda arduino:
Arduino är en hårdvara med öppen källkod som tillverkas av ett företag som har ett stort antal designers och tillverkare. Det kan betraktas som en liten dator som kan användas för att styra andra elektroniska kretsar
Arduino är programmerad i en miljö utvecklad av dem själva som enkelt kan laddas ner från deras webbplats
Steg 1: Hur ställer jag in miljön?
Sök bara på google "ladda ner arduino"
Klicka på "Arduino - Programvara"
Du kommer att kunna se "Ladda ner Arduino IDE"
Välj beroende på ditt operativsystem
Ladda ner och installera det
Så du har framgångsrikt installerat programvaran och du kan skriva din kod för arduino och med hjälp av en kabel kan du ansluta arduino -kortet till datorn och kan sätta in koden.
Steg 2: Varför efterfrågan på Arduino ökar?
Billig
Arduino-kort är billiga jämfört med andra mikrokontrollerplattformar. Det kommer att kosta bara runt $ 50.
Plattformsoberoende
Programvaran för Arduino fungerar på Windows, Macintosh OS och Linux operativsystem. Om vi tänker på andra mikrokontrollsystem fungerar det bara i Windows eller med andra ord endast begränsat till Windows.
Öppen källkod och utökningsbar programvara
Programvaran är öppen källkod, så att människor började studera det djupt och inkludera bibliotek (som innehåller en uppsättning funktioner för dess drift) av andra programmeringsspråk.
Enkel och enkel programmeringsmiljö
Det är enkelt att använda Arduino IDE (programvara som vi redan har diskuterat om ….) för personer inklusive nybörjare, eftersom Arduino själva tillhandahåller en stor mängd resurser som är gratis på internet. om det.
Öppen källkod och utbyggbar hårdvara
Planerna för Arduino -korten publiceras under en Creative Commons -licens, så att personer som har erfarenhet av kretsdesign kan göra sin egen version av modulen, de har också rätt att utöka tekniken och kan förbättra genom att lägga till funktioner i den.
Steg 3: Låt oss börja !!!!!
Så jag har redan berättat att det här projektet huvudsakligen fokuserar på röstigenkänning med Arduino och att låta det utföra vissa uppgifter.
Pratar tydligare ….
Det tar upp ljudsignalerna från användaren, som kan detekteras genom att blinka på lysdioden efter att den har konverterats till syntetiserat tal.
Steg 4: Komponenter krävs
De viktigaste komponenterna som krävs för detta projekt är:
Arduino Due x 1
Spark Fun Electret Microphone Breakout x 1
Spark Fun Mono Audio Amp Breakout x 1
Högtalare: 0,25 W, 8 ohm x 1
Brödbräda x 1
5 mm LED: Röd x 3
Motstånd 330 ohm x 3
Bygelkablar x 1
Lödkolv x 1
BitVoicer -server
Det är en taligenkänning och syntesserver för talautomatisering.
Steg 5: Hur fungerar det egentligen?
1. Ljudvågor upptäcks då det fångar upp dessa vågor och förstärks av Sparkfun Electret Breakout -kort.
2. Den förstärkta signalen som uppnås från processen ovan kommer att digitaliseras och buffras/lagras i Arduino-kortet med dess analog-till-digital-omvandlare (ADC) som finns i den.
3. Ljudproverna kommer att tillhandahållas till BitVoicer Server med Arduino seriella port.
4. BitVoicer Server kommer att bearbeta ljudströmmen och sedan känna igen det tal det innehåller.
5. Det igenkända talet mappas till de kommandon som redan har definierats av sig själv tidigare, sedan skickas det tillbaka till Arduino. Om ett av kommandona består av att syntetisera tal, kommer BitVoicer Server att förbereda ljudströmmen och skicka den till Arduino.
6. Arduino kommer att identifiera kommandona som tillhandahålls och utföra vissa lämpliga åtgärder. Om en ljudström tas emot kommer den att köas in i BVS -högtalarklassen och spelas upp med DUE DAC och DMA.
7. SparkFun Mono Audio Amplifier förstärker DAC -signalen så att den kan driva en 8 Ohm högtalare och kan höras genom den.
Steg 6: Anslutning av komponenterna
Det allra första steget är att kabla olika komponenter i brödbrädan och även med arduino -brädet som visas på bilden
Kom ihåg att arduino -kortet som används här är DUE, det finns olika andra modeller som har tillverkats av Arduino som fungerar på olika spänningsnivåer
De flesta Arduino -kort fungerar vid 5 V, men DUE körs på 3,3 V
DUE använder redan en 3,3 V analog referens så att du inte behöver en bygel till AREF -stiftet
Åh förlåt, jag glömde säga att en AREF -pin är en "ANALOG REFERENCE PIN" som finns i en arduino -tavla som visas i nästa figur (Det är en arduino UNO men den liknar på liknande webbplats i fallet DUE)
AREF-stiftet på DUE är anslutet till mikrostyrenheten via en motståndsbrygga
För att använda AREF-stiftet måste motstånd R1 avlödas från kretskortet [kretskort]
Steg 7: Ge kod till Arduino -styrelsen
Så vi måste ladda upp koden till Arduino Board, så att den kan fungera beroende på instruktionerna i koden.
Det är väldigt enkelt att göra detta. Jag kommer att förklara var och en av dem i detalj, vad de gör och hur de fungerar.
Hur installerar jag ett bibliotek?
Så innan det måste vi veta hur vi installerar BitVoicer Server -bibliotek i Arduino IDE,. Som på arduino -programvaran.
Så för det öppna Arduino IDE
Klicka på "Sketch" på den övre panelen
Klicka sedan på "Inkludera bibliotek"
Klicka på "Hantera bibliotek"
Sedan öppnar bibliotekschefen och vi kan se en lista över bibliotek som är redo för installation eller de som redan har installerats
Sök efter biblioteket som ska installeras och välj sedan versionsnummer
Här installerar vi BitVoicer Server -bibliotek, vilket är nödvändigt för detta projekt
Hur importerar jag ett.zip -bibliotek?
Bibliotek kan också distribueras som en ZIP -fil eller mapp
Namnet på mappen är bibliotekets namn
Inne i mappen kommer en.cpp -fil, en.h -fil och ofta en keywords.txt -fil, exempelmapp och andra filer som krävs av biblioteket
Från version 1.0.5 av Arduino IDE kan du installera tredjepartsbibliotek inuti det
Packa inte upp det nedladdade biblioteket, låt det vara som det är
Gå till skiss> Inkludera bibliotek> Lägg till.zip -bibliotek
Välj platsen för.zip -filen och öppna den.
Återgå till menyn Sketch> Import Library.
Om det är korrekt importerat ska det biblioteket ses längst ned i rullgardinsmenyn när du navigerar.
Steg 8: Programmera/skissa
Detta är programmet som måste laddas upp i Arduino.
Det kan göras helt enkelt genom att ansluta Arduino -kortet till datorn och ladda upp det till kortet.
Steg 9: Hur är det med koderna som skrivits?
Låt oss nu titta på vad var och en av funktionerna som skrivs i koden faktiskt gör ………….
Biblioteksreferenser och variabeldeklaration
Innan vi pratar om detta måste vi känna till och förstå några grundläggande terminologier, inklusive:
-
BVSP
Det är ett bibliotek som ger oss nästan alla resurser som krävs för att utbyta information med BitVoicer Server
Det finns ett protokoll som är känt som BitVoicer Server Protocol som implementeras genom BVSP -klassen. Detta krävs för att interagera med servern
-
BVSMic
Det är ett bibliotek som implementerar alla saker som krävs för att spela in ljudet med hjälp av Analog-to-Digital Converter (ADC) på Arduino
Detta ljud lagras i klassens interna buffert och de kan hämtas och sedan kan det skickas till taligenkänningsmotorerna som är tillgängliga på BitVoicer Server
-
BVS -högtalare
Det är ett bibliotek som innehåller alla nödvändiga resurser som krävs för att återge ljudströmmar som skickas ut från BitVoicer -servern
För det måste Arduino-kortet ha en inbyggd Digital-to-Analog Converter (DAC)
Arduino DUE är det enda Arduino -kortet som har en integrerad DAC
BVSP, BVSMic, BVSSpeaker och DAC bibliotek, referensen till dessa skrivs på de fyra första raderna som utgör programmets stirring
När du installerar BitVoicer Server kan du hitta BitSophia som tillhandahåller alla dessa fyra bibliotek
När användaren lägger till en referens till BVSSpeaker -biblioteket aktiveras DAC -biblioteket som tidigare nämnts automatiskt
BVSP -klassen används för att kommunicera med BitVoicer Server
BVSMic -klassen används för att fånga och lagra ljud
BVSSpeaker -klass används för att återge ljud med Arduino DUE DAC
2. inställningsfunktion
Installationsfunktionen används för att utföra vissa åtgärder som:
För att ställa in stiftlägen och deras ursprungliga tillstånd
För att initiera seriell kommunikation
För att initiera BVSP -klass
För att initiera BVSMic -klassen
För att initiera BVSSpeaker -klass
Det ställer också in "händelsehanterare" (funktionspekare) för frameReceived, modeChanged och streamMottagna händelser i BVSP -klassen
Steg 10: Loop -funktion
Det genomför fem stora operationer:
1. keepAlive () -funktion
Denna funktion är att be servern om statusinformation.
2. ta emot () -funktionen
Denna funktion är att kontrollera om servern har skickat ut data eller inte. Om servern skickat data kommer den att behandla den.
3. isSREAvailable (), startRecording (), stopRecording () och sendStream () funktioner
Dessa funktioner används för att styra de olika inställningarna för inspelning av ljudet och efter det att det uppnår ljudet skickas det detta ljudet till BitVoicer -servern.
4. play () -funktion
Denna funktion används för att spela upp ljud som har köats i BVSSpeaker -klass.
5. playNextLEDNote ()
Denna funktion används för att styra hur LED: n ska blinka.
6. BVSP_frameMottagen funktion
Denna funktion kallas varje gång när mottagningsfunktionen () börjar identifiera att en komplett ram har mottagits. Här kör vi kommandona som erhållits från BitVoicer Server. Kommandona som styr blinkande lysdioder är 2 byte. I den första byten anger stiftet och andra byte indikerar stiftvärde. Här använder vi funktionen analogWrite () för att ställa in rätt värde till stiftet. Vid den tiden måste vi också kontrollera om kommandot playLEDNotes, som är av Byte -typ, har tagits emot. Om den har tagits emot ställer jag in playLEDNotes på true och den övervakar och markerar den aktuella tiden. Denna tid kommer att användas av playNextLEDNote -funktionen för att synkronisera lysdioderna med låten.
7. BVSP_modeChanged -funktion
Denna funktion anropas varje gång när mottagningsfunktionen () identifierar en förändring av läget i utgående riktning (Server Arduino). BitVoicer Server kan skicka inramade data eller ljud till Arduino. Innan kommunikationen går från ett läge till ett annat skickar BitVoicer Server en signal. BVSP -klassen identifierar denna signal och lyfter eller flaggar modeChanged -händelsen. I funktionen BVSP_modeChanged, om användaren upptäcker att kommunikationen går från strömläge till bildläge, kommer han/hon att veta att ljudet har slutat så att användaren kan berätta för BVSSpeaker -klassen att sluta spela ljud.
8. BVSP_streamMottagen funktion
Denna funktion anropas varje gång när mottagningsfunktionen () identifierar att ljudprover har tagits emot. Det hämtar helt enkelt ljudet och köar dem i BVSSpeaker -klassen så att play () -funktionen kan återge dem.
9. playNextLEDNote -funktion
Denna funktion körs bara om funktionen BVSP_frameReceived identifierar kommandot playLEDNotes. Den styr och synkroniserar lysdioderna med ljudet som skickas från BitVoicer Server. För att synkronisera lysdioderna med ljudet och veta rätt tidpunkt kan en gratis programvara Sonic Visualizer användas. Det låter oss titta på ljudvågorna så att personen kan se när en pianotangent trycktes.
Steg 11: Hur importerar jag BitVoicer Server Solution Objects?
Vi har nu ställt in den uppförda BitVoicer Server för att arbeta med Arduino.
Det finns fyra huvudlösningsobjekt för en BitVoicer -server: Platser, enheter, BinaryData och röstscheman.
Låt oss titta närmare på dessa:
Platser
Det representerar den fysiska platsen där enheten installeras.
Vi kan skapa en plats som heter Hem.
Enheter
De anses vara klienterna för BitVoicer Server.
Precis som att skapa en plats kan vi skapa en blandad enhet, för enkelhetens skull, låt oss kalla den ArduinoDUE.
Ibland kan vissa buffertflöden hända så för att eliminera det var jag tvungen att begränsa datahastigheten i kommunikationsinställningarna till 8000 prover per sekund.
BinaryData är en typ av kommando som BitVoicer Server kan skicka till klientenheter. De är faktiskt byte -matriser som du kan länka till kommandon.
När BitVoicer Server känner igen tal relaterat till det kommandot skickar det byte -arrayen till målenheten.
Så av den anledningen har jag skapat ett BinaryData -objekt till varje pinvärde och kallat dem ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff och så vidare.
Så jag var tvungen att skapa 18 BinaryData -objekt, så jag föreslår att du laddar ner och importerar objekten från filen VoiceSchema.sof som finns nedan.
Så vad är ett röstschema?
Röstscheman är där allt går ihop. deras viktigaste roll är att definiera hur meningarna ska erkännas och vad alla kommandon behöver köras.
För varje mening kan du definiera så många kommandon du behöver och den ordning de kommer att utföras.
Du kan också definiera förseningar mellan var och en av kommandona.
BitVoicer Server stöder endast 8-bitars mono PCM-ljud (8000 samplingar per sekund) så det kommer att bli ett behov av att konvertera ljudfilen till detta format, det finns så många online-konverteringsavgifter som finns idag och jag rekommenderar https://audio.online -convert.com/convert-to-wav.
Du kan importera (importera lösningsobjekt) alla lösningsobjekt som jag använde i detta projekt från filerna nedan.
En av dem innehåller DUE -enheten och den andra innehåller röstschemat och dess kommandon.
Steg 12: Slutsats
Varsågod !!!!
Du har gjort ett fantastiskt projekt och du kan prata med det
Så börja prata …………
Du kan blinka upp lysdioderna och samtidigt kan du säga att den sjunger en låt om den behöver, dess kod har redan angetts
Så jag har slutfört min andra instruerbara !!!!!!!!!
Ja……
Jag tror att alla förstod det …
Om någon har några frågor är du välkommen att fråga mig
Jag kommer med en utmärkt instruerbar nästa gång …
Hejdå…
Ses snart……………
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Taligenkänning med Arduino (Bluetooth + LCD + Android): 6 steg
Taligenkänning med Arduino (Bluetooth + LCD + Android): I det här projektet kommer vi att göra taligenkänning med Arduino, Bluetooth-modul (HC-05) och LCD. låt oss bygga din egen taligenkänningsenhet
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Taligenkänning med Google Speech API och Python: 4 steg
Taligenkänning med Google Speech API och Python: Taligenkänning Taligenkänning är en del av Natural Language Processing som är ett delområde för artificiell intelligens. För att uttrycka det enkelt är taligenkänning en dators programvarors förmåga att identifiera ord och fraser i talat språk