Spraakherkenning met Arduino


In dit project ik gebruik BitVoicer van functies voor spraakherkenning (http://www.bitsophia.com/BitVoicer.aspx), een Arduino board en één electret microfoon (https://www.sparkfun.com/products/9964) om een paar LEDs.

Dit project is vergelijkbaar met het in mijn eerste post (), maar nu ik gebruik audio streaming audio versturen naar BitVoicer.

Het schema van de fritzing dat ik heb toegevoegd aan dit instructable toont hoe ik bedraad mijn Arduino board.

Ik ben ook het toevoegen van een paar foto's en een YouTube-video van het project uitgevoerd.

Helaas, de schets die ik schreef voor mijn eerste post wordt niet langer ondersteund door de nieuwe versie van BitVoicer. Hier is de nieuwe sketch:

#include < BitVoicer11.h >

De klasse BitVoicerSerial instantieert
BitVoicerSerial bvSerial = BitVoicerSerial();

Winkels true als de Audio Streaming kalibratie tool
wordt uitgevoerd
Boole sampleTest = false;
Het gegevenstype opgehaald door getData() wordt opgeslagen
dataType byte = 0;
Stelt de pinnen en de standaard variabelen
int pinR = 3;
int pinY = 5;
int pinG = 6;
int lightLevel = 0;

VOID Setup
{
Hiermee stelt u de analoge verwijzing naar externe (AREF pin)
WAARSCHUWING! Als er iets is verbonden met de AREF pin,
deze functie moet eerst worden aangeroepen. Anders, zal het
schade aan de Raad van bestuur.
bvSerial.setAnalogReference(BV_EXTERNAL);
De microcontroller ingesteld om uit te voeren sneller analoge leest
op de opgegeven pin
bvSerial.setAudioInput(0);
De seriële communicatie begint 115200 bps
Serial.begin(115200);
Stelt de pinModes
pinMode (pinR, OUTPUT);
pinMode (pinY, OUTPUT);
pinMode (pinG, uitvoer);
}

void loop
{
Vangt audio en stuurt dit naar de BitVoicer als de Audio
Streaming Kalibratie Tool wordt uitgevoerd
Als (sampleTest == true)
{
De waarde die is doorgegeven aan de functie is de tijd
(in microseconden) die de functie heeft moet worden gewacht voordat
het uitvoeren van de lezing. Het wordt gebruikt om te bereiken over
8000 lezingen per seconde.
bvSerial.processAudio(46);
}

Vangt audio en stuurt dit naar de BitVoicer als de toespraak
Erkenning motor loopt
Als (bvSerial.engineRunning)
{
De waarde die is doorgegeven aan de functie is de tijd
(in microseconden) die de functie heeft moet worden gewacht voordat
het uitvoeren van de lezing. Het wordt gebruikt om te bereiken over
8000 lezingen per seconde.
bvSerial.processAudio(46);
}
}

Deze functie loopt elke keer seriële data beschikbaar is
in de seriële buffer na een lus
VOID serialEvent()
{
De seriële buffer leest en slaat het ontvangen gegevenstype
dataType = bvSerial.getData();

Hiermee wijzigt u de waarde van sampleTest als de ontvangen gegevens waren
de opdracht van de bemonstering start/stop
Als (dataType == BV_COMMAND)
sampleTest = bvSerial.cmdData;

Signalen van BitVoicer de Engine voor spraakherkenning te starten
luisteren naar audio streams na de status engineRunning
werd ontvangen
Als (dataType == BV_STATUS & & bvSerial.engineRunning == true)
bvSerial.startStopListening();

Controleert als het gegevenstype is hetzelfde als degene in de
Schema van de stem
Als (dataType == BV_STR)
setLEDs();
}

Voert de LED wijzigingen volgens de waarde in
bvSerial.strData
VOID setLEDs()
{
Als (bvSerial.strData == "wake")
{
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
delay(200);
digitalWrite (pinR, hoge);

digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
delay(200);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
lightLevel = 0;
}
else if (bvSerial.strData == "slaap")
{
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
delay(200);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
lightLevel = 0;
}
else if (bvSerial.strData == "RH")
{
digitalWrite (pinR, hoge);
lightLevel = 255;
}
else if (bvSerial.strData == "RL")
{
digitalWrite (pinR, laag);
lightLevel = 0;
}
else if (bvSerial.strData == "YH")
{
digitalWrite (pinY, hoge);
lightLevel = 255;
}
else if (bvSerial.strData == "YL")
{
digitalWrite (pinY, laag);
lightLevel = 0;
}
else if (bvSerial.strData == "GH")
{
digitalWrite (pinG, hoge);
lightLevel = 255;
}
else if (bvSerial.strData == "GL")
{
digitalWrite (pinG, laag);
lightLevel = 0;
}
else if (bvSerial.strData == "ALLON")
{
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
lightLevel = 255;
}
else if (bvSerial.strData == "ALLOFF")
{
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
lightLevel = 0;
}
else if (bvSerial.strData == "helderder")
{
Als (lightLevel < 255)
{
lightLevel += 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
}
else if (bvSerial.strData == "donkerder")
{
Als (lightLevel > 0)
{
lightLevel-= 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
}
anders
{
bvSerial.startStopListening();
bvSerial.sendToBV ("fout:" + bvSerial.strData);
bvSerial.startStopListening();
}
}

Het Schema dat ik wordt gebruikt in de stem van de BitVoicer kan worden gedownload van: http://www.justbuss.xpg.com.br/BitVoicerTest2.zip (u moet hebben BitVoicer geïnstalled openen).

Nu wil ik om te controleren enkele dingen (verlichting en celling fan) thuis. Suggesties zijn zeer welkom.

Gerelateerde Artikelen

Spraakherkenning met Arduino en BitVoicer Server

Spraakherkenning met Arduino en BitVoicer Server

In dit Instructable ga ik laten zien hoe een Arduino board en BitVoicer Server gebruiken om te controleren enkele LED's met spraakopdrachten. Ik zal met behulp van de Arduino Micro in dit Instructable, maar u kunt elke Arduino board bij de hand hebt.
Draadloos Audio Streaming en spraakherkenning met Arduino

Draadloos Audio Streaming en spraakherkenning met Arduino

In dit project ik verbinden met mijn Arduino Board een WiFly module (https://www.sparkfun.com/products/10822) van Roving meetnetten en streamen van audio naar de PC, zodat BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) van spraakherkenning uitvo
Voice Activated LED-verlichting met Arduino

Voice Activated LED-verlichting met Arduino

Dit project is een uitbreiding van de mogelijkheden van spraakherkenning met Arduino met leandro4b (). Echter, in plaats van met 3 afzonderlijke gekleurde LED's, gebruikte ik een multicolor 4-kanaals RGBW LED Emitter. Ik had de kans van het werken bi
Arduino stem / spraakherkenning met Geeetech Module [Tutorial]

Arduino stem / spraakherkenning met Geeetech Module [Tutorial]

How to: Arduino stem / spraakherkenning met Geeetech Module [Tutorial]. Deze video zal u tonen hoe om te praten met je Arduino met het (goedkope) Besturingsmodule voor Geeetech stem. Vervolgens kunt u de code te controleren van een motor of stem geco
Ongebonden van spraakherkenning en spraaksynthese met Arduino

Ongebonden van spraakherkenning en spraaksynthese met Arduino

MOVI staat voor 'Mijn eigen Interface van de stem' en is een kickstarter-backed Arduino schild dat maakt het zeer eenvoudig om te bouwen van uw eigen toespraak dialogen aan controle-apparaten binnen de Arduino IDE. Dit instructable snel ziet u hoe aa
LED kubus met Arduino en aangepaste PCB

LED kubus met Arduino en aangepaste PCB

dit instructable details over het ontwerp en bouwproces voor een 5 x 5 x 5 LED-kubus, instelbaar met behulp van een Arduino, die zich op een aangepaste printplaat bevindt.Extra informatie, foto's en video's vindt u op mijn website.Het afgewerkt produ
Een Levitating bol draait gloed en knippert met Arduino

Een Levitating bol draait gloed en knippert met Arduino

Een levitating little Death Star in Instructables nodigde me aan het nieuwe project met Arduino. Drie beleidsterreinen werden besloten en bewaard als onderscheid met de voorloper.Doe het zelf met geen (of minder) ready-made.Draaiende houden.Maak gloe
PHloat2 DIY zuur water testen sculptuur & kit met arduino

PHloat2 DIY zuur water testen sculptuur & kit met arduino

pHloatpHloat is een DIY kit die is gemaakt voor gebruik in combinatie met een pre-owned / reeds bestaande arduino microcontroller. Het doel is het testen van de pH-niveaus in de lokale rivieren, meren en stromen als gevolg van de toestroom van lucht-
Kamertemperatuur in Dot-Matrix beeldscherm met Arduino en LM35

Kamertemperatuur in Dot-Matrix beeldscherm met Arduino en LM35

Hey daar!Dit is mijn eerste instructable, en ik zal je laten zien hoe u een temperatuursensor en een Dot-Matrix beeldscherm met arduino in real-time kunt interface.Ik heb bijgevoegd de arduino schets, die nogal groot in één oogopslag is, maar als u o
Aan de slag met Arduino - twee speler Arduino Pong

Aan de slag met Arduino - twee speler Arduino Pong

In deze tutorial gaan we een arduino gebaseerde controller die we gebruiken kunnen om te bepalen van een spel voor 2 spelers van pong bouwen.We gaan een paar van dial potentiometers (het draaien van knoppen) gebruiken om te controleren de pong vleerm
Mood Lamp met Arduino

Mood Lamp met Arduino

Hallo! In deze tutorial leert u om een mood lamp met arduino.Ik weet dat je hebt misschien een heleboel mood lamp projecten met arduino gezien, maar ik was zeer tevreden met hen niet, omdat ze allemaal heel abrupt de kleur wijzigen. Dus, heb ik beslo
AtoZ van RC hobby + DIY radio met ARDUINO

AtoZ van RC hobby + DIY radio met ARDUINO

Wikipedia omschrijft RC-voertuig alsEen afstandsbediening voertuig is een voertuig dat op afstand wordt bestuurd door een betekent dat de beweging met een externe oorsprong niet tot het apparaat beperkt. Dit is vaak een bedieningsorgaan radio, kabel
Decoderen en verzenden van 433MHz RF codes met Arduino en rc-switch

Decoderen en verzenden van 433MHz RF codes met Arduino en rc-switch

In deze tutorial zal ik u tonen hoe te een Arduino gebruiken voor het decoderen van de signalen van RF afstandsbedieningen, en hen op afstand bedienen van sommige schakelopties lichtnet en een garagedeur opnieuw te sturen.Opmerking: Deze handleiding
Hoe maak je een "kameleon" met Arduino

Hoe maak je een "kameleon" met Arduino

U moet gezien hebben kameleons verkleuren en mengen in de omgeving, in een geweldige manier. De manier waarop dat kameleons eigenlijk dit doen is echt moleculaire. Als je kijkt naar de huid van een kameleon, vindt u dat er verscheidene lagen van gesp