Inhoudsopgave:
- Stap 1: Elechouse V3 spraakherkenningsmodule
- Stap 2: De module aansluiten op Arduino
- Stap 3: De code instellen
- Stap 4: Resultaat
Video: Inleiding tot spraakherkenning met Elechouse V3 en Arduino: 4 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Hoi…
Spraakherkenningstechnologie is er de afgelopen jaren geweest. We herinneren ons nog steeds de grote opwinding die we hadden tijdens het praten met de eerste Siri-compatibele iPhone. Sindsdien zijn apparaten voor spraakopdrachten in zeer korte tijd uitgegroeid tot een zeer geavanceerd niveau dat onze verwachtingen overtreft. Met de introductie van veel geavanceerde spraakherkenningssystemen kwamen er veel andere spraakassistenten zoals de Google-assistent en de Amazon Alexa. Alleen al het snelle succes van Amazon's Echo bewijst dat we langzamerhand in het reine komen met het praten met machines.
Dus laten we beginnen bij de basis. In deze instructable geef ik je een inleiding over de Elechouse V3 spraakherkenningsmodule en hoe je een LED in- of uitschakelt met spraakopdrachten. Er zijn verschillende andere manieren om spraakherkenning in uw project te implementeren, van een Android-telefoon tot Alexa of Raspberry pi of een andere technologie. Maar ik kreeg verschillende berichten van veel van mijn vrienden die me vroegen hoe ik deze specifieke module met Arduino kon gebruiken. Dus ik schrijf dit instructable als een basis-tutorial voor de Elechouse V3-module. Ik wilde dit instructable zo eenvoudig mogelijk maken voor beginners, dus we zullen niet de volledige kenmerken en functies van de module bespreken, maar aan het einde weet ik zeker dat je een aantal behoorlijk coole ideeën zult krijgen voor je volgende project.
Stap 1: Elechouse V3 spraakherkenningsmodule
Elechouse V3 is een van de meest compacte en eenvoudig te bedienen spraakherkenningsmodules op de markt.
Er zijn twee manieren om deze module te gebruiken, via de seriële poort of via de ingebouwde GPIO-pinnen. Het V3-bord heeft de capaciteit om tot 80 spraakopdrachten op te slaan, elk met een duur van 1500 milliseconden. Deze converteert je commando's niet naar tekst, maar vergelijkt het met een reeds opgenomen set stemmen. Technisch gezien zijn er dus geen taalbarrières om dit product te gebruiken. Je kunt je commando in elke taal opnemen of letterlijk elk geluid kan worden opgenomen en als commando worden gebruikt. Je moet hem dus eerst trainen voordat je hem spraakopdrachten laat herkennen.
Als je de module met zijn GPIO-pinnen gebruikt, levert de module outputs voor slechts 7 van de 80 commando's. Voor deze methode moet je 7 commando's selecteren en in de herkenner laden en de herkenner zal outputs naar de respectieve GPIO-pinnen als een van deze spraakopdrachten wordt herkend. Omdat we dit met de arduino gebruiken, hoeven we ons geen zorgen te maken over de beperkte functies.
Het apparaat werkt bij een ingangsspanningsbereik van 4,5 - 5 volt en trekt een stroom van minder dan 40 mA. Deze module kan werken met een herkenningsnauwkeurigheid van 99% als deze onder ideale omstandigheden wordt gebruikt. De keuze van de microfoon en het geluid in de omgeving spelen een cruciale rol bij het beïnvloeden van de prestaties van de module. Het is beter om een microfoon te kiezen met een goede gevoeligheid en te proberen de ruis op je achtergrond te verminderen terwijl je commando's geeft om het maximale uit de module te halen.
Stap 2: De module aansluiten op Arduino
Laten we het nu hebben over de verbindingen die gemaakt moeten worden.
Benodigde hardware:
Elechouse V3 spraakherkenningsmodule
Arduino UNO-R3. (Ik gebruik hier Arduino Pro Mini, het maakt niet uit, beide zijn bijna hetzelfde in functie.)
Microfoon met 3,5 mm-stekker bevestigd. (of je kunt het rechtstreeks op het bord solderen. Ze hebben de pinnen gegeven.)
Een LED
Een weerstand van 470 ohm voor de LED
Draden naar behoefte
USB-kabel voor het programmeren van de Arduino
De module verbinden met Arduino
GND - Aarde
VCC - 5 V
RXD - Digitale pin 3 van Arduino (Dit is een door de gebruiker gedefinieerde pin. Voorbeeldcode heeft Pin 3 als Tx.)
TXD - Digitale pin 2 van Arduino (Dit is ook een door de gebruiker gedefinieerde pin.)
De LED is aangesloten op de digitale pin 13 van de Arduino zoals gedefinieerd in de voorbeeldcode. Sluit een weerstand van 470 ohm in serie aan op de LED.
Sluit de microfoon aan op de 3,5 mm-aansluiting op het bord. Soldeer het aan de microfoonpinnen in de module als het niet wordt geleverd met een 3,5 mm-stekker.
Dat is alles wat het is over de verbindingen. Laten we nu eens naar de code kijken.
Stap 3: De code instellen
Alle hier genoemde codes en bibliotheken zijn open-source en de credits voor het ontwikkelen ervan gaan naar hun respectievelijke auteurs.
U moet de Arduino-bibliotheek "voicerecognitionv3.h" downloaden en installeren voordat u de module met een Arduino kunt gebruiken.
Download hier de bibliotheek.
Alle codes die we nodig hebben, staan in het zipbestand van de bibliotheek als voorbeeldprogramma's.
Het trainen van de V3-module
Zoals ik hierboven al zei, moeten we de module trainen voordat we hem kunnen gebruiken voor spraakherkenning. Volg deze stappen om de module te trainen.
Sluit het circuit aan op de computer
Start de Arduino IDE
Controleer of je het juiste Arduino-bord hebt geselecteerd. (Extra -> Bord)
Controleer of de juiste COM-poort is geselecteerd. (Extra -> Poort)
Open nu het voorbeeldprogramma voor het trainen van de module
Ga naar Bestand -> Voorbeelden -> SpraakherkenningV3 -> vr_sample_train
Upload de code naar Arduino en wacht tot de code wordt geüpload. (Ctrl+U)
Open de seriële monitor. (Ctrl+Shift+M)
Zorg ervoor dat de baudrate is ingesteld op 115200 en dat de optie "Newline" is geselecteerd
Als alles in orde is, wordt op de seriële monitor een menu weergegeven zoals op de foto's
Er zijn verschillende commando's die je in de seriële monitor kunt typen om de module te programmeren, hier zullen we het "train" commando gebruiken om de module te trainen
De V3 heeft een capaciteit om 80 spraakopdrachten op te slaan, elk met een duur van 1500 ms. Elke opdracht wordt opgeslagen in een adres dat begint van 0 tot 79
Door de opdracht "trein" te gebruiken, slaan we een spraakopdracht op in een specifiek adres, dus u moet het adres in de opdracht opgeven
De syntaxis van het commando gaat als volgt: treinadres Bijvoorbeeld: trein 0, trein 20, trein 79
- We hebben twee spraakopdrachten nodig voor het aansturen van de LED. Eén commando om het AAN te zetten en het andere om het UIT te zetten.
- Voer de opdracht in de seriële monitor in gevolgd door het adres dat u wilt opslaan. bv: trein 20.
Nadat u de opdracht hebt ingevoerd, wacht u tot er een bericht op de seriële monitor verschijnt met de tekst "spreek nu". Spreek nu uw opdracht om de LED AAN te zetten duidelijk en luid genoeg in de microfoon
Als de opdracht duidelijk genoeg is, verschijnt er een ander bericht waarin u wordt gevraagd nogmaals te spreken. Spreek het nogmaals uit om het commando te registreren
De code zal u vragen om de opdracht te herhalen als er ruis optreedt tijdens de opname of als het geluid niet duidelijk genoeg is. De kwaliteit van je microfoon speelt hier een grote rol. Het kan zijn dat u een opdracht niet registreert als uw microfoon niet goed genoeg is. Train het bord ook in een ruisvrije omgeving
Nadat u met succes een stem in de module hebt ingevoerd, herhaalt u hetzelfde proces om het spraakcommando in te voeren om de LED uit te schakelen. Vergeet niet om de opdracht op een ander adres op te slaan. Voor bv: trein 30
Als je beide commando's met succes hebt geladen, ben je nu klaar om de code te uploaden voor het besturen van de LED
De LED bedienen met spraakopdrachten
Open het voorbeeldprogramma voor de aansturing van de LED
Ga naar Bestand -> Voorbeelden -> SpraakherkenningV3 -> vr_sample_control_led
In dit programma worden twee records gedefinieerd als "onrecord" (om de LED aan te zetten) en "offrecord" (om de LED uit te schakelen)
Verander de waarde van "onrecord" in het adres van het spraakcommando dat je hebt getraind om de LED AAN te zetten
- Verander de waarde van "offrecord" in het adres van het spraakcommando dat je hebt getraind om de LED UIT te zetten.
- Upload nu de code naar de Arduino. (Ctrl+U)
Dat is alles. Nu ben je klaar om je LED te bedienen met spraakopdrachten.
Stap 4: Resultaat
Om het circuit te testen, spreekt u de commando's uit zoals u het hebt getraind om de LED AAN/UIT te zetten. Onthoud dat de kwaliteit van uw microfoon en het geluid in uw omgeving de uitvoer echt zullen beïnvloeden. Probeer het uit in een ruisvrije omgeving of vervang de microfoon als je geen goed antwoord krijgt op je spraakopdrachten. Open ook de seriële monitor om te controleren of het apparaat reageert op uw spraakopdrachten. Als een commando wordt herkend, toont de seriële monitor een bericht met het adres van het herkende commando.
Proficiat! Je hebt geleerd een LED te bedienen met spraakopdrachten. Nu kunt u elk dergelijk apparaat omzetten in een spraakgestuurd apparaat. Sluit een relaismodule aan op de Arduino om AC-apparaten zoals een gloeilamp of een ventilator te bedienen.
Er zijn talloze mogelijkheden om dit in ons dagelijks leven toe te passen. Deel uw mening in de opmerkingen hieronder.
Ik hoop dat deze instructable je een basisidee heeft gegeven over het gebruik van de Elechouse V3 Voice Recognition-module met Arduino. Als je vragen hebt, stel ze dan hier of stuur een mail naar [email protected]. Ik zal mijn best doen om je te helpen.
Aanbevolen:
Inleiding tot IR-circuits: 8 stappen (met afbeeldingen)
Inleiding tot IR-circuits: IR is een complex stukje technologie en toch heel eenvoudig om mee te werken. In tegenstelling tot LED's of LASER's kan infrarood niet met het menselijk oog worden gezien. In deze Instructable zal ik het gebruik van infrarood demonstreren via 3 verschillende circuits. De circuits zullen niet
Inleiding tot manipulatoren: 8 stappen (met afbeeldingen)
Inleiding tot manipulatoren: Het creëren van de juiste manipulator voor een uitdaging is een van de moeilijkste onderdelen van de FIRST Robotics Competition (FRC). In mijn vier jaar als student was het altijd het grootste falen van mijn team. Hoewel de speluitdaging in FRC van jaar tot jaar verandert
Inleiding tot robotica voor basisschoolleerlingen met Hummingbird-controllers: 18 stappen
Inleiding tot robotica voor basisschoolleerlingen met Hummingbird-controllers: de meeste robotica-tools die momenteel op de markt zijn, vereisen dat de gebruiker specifieke software op zijn harde schijf downloadt. Het mooie van de Hummingbird Robotic Controller is dat deze kan worden uitgevoerd met een webgebaseerde computer, zoals een Chromebook. Het is ook al
Inleiding tot 8051 programmeren met AT89C2051 (gastrollen: Arduino): 7 stappen (met afbeeldingen)
Inleiding tot 8051-programmering met AT89C2051 (Guest Starring: Arduino): De 8051 (ook bekend als MCS-51) is een MCU-ontwerp uit de jaren 80 dat vandaag de dag nog steeds populair is. Moderne 8051-compatibele microcontrollers zijn verkrijgbaar bij meerdere leveranciers, in alle soorten en maten, en met een breed scala aan randapparatuur. In dit instructieb
Inleiding tot de (Headless) Raspberry Pi: 12 stappen (met afbeeldingen)
Intro tot de (Headless) Raspberry Pi: Eindelijk! Gebruik je Raspberry Pi zonder dat je voor altijd externe randapparatuur moet aansluiten en moet omgaan met een kabelgedrocht: configureer je Pi om zonder hoofd te zijn! (niet het enge soort tho) Dit is vooral handig voor mensen die lesgeven in wo