Taligenkänning med BitVoicer och Arduino



det huvudsakliga målet med detta projekt var att testa tal erkännande prestanda för BitVoicer (http://www.bitsophia.com/BitVoicer.aspx). För detta ändamål designade jag en enkel led kontroll skiss som jag integrerat med BitVoicer. Naturligtvis kan du göra vad du vill när du har fått kommandon från Bitvoicer, men för att hålla det enkelt, jag trodde en ledde testet skulle göra bra.

Här är YouTube video med resultaten:

Detta är den Arduino skiss som styr lamporna och hämtar data som skickas från BitVoicer:

Innehåller BitVoicer bibliotek till skiss
#include < BitVoicer.h >

Ställer in stift och standard variabler
int pinR = 3;
int pinY = 5;
int pinG = 6;
int blinkDelay = 250;
int sequenceDir = 0;
int lightLevel = 0;

Skapar en ny instans av klassen BitVoicerSerial
Ställer in serieporten till 0
BitVoicerSerial bitVoicer = BitVoicerSerial(0);

void setup()
{
Börjar seriell kommunikation och sätter upp pinModes
Serial.BEGIN(9600);
pinMode (pinR, produktionen);
pinMode (pinY, utgång);
pinMode (pinG, utgång);
}

void loop()
{
Hämtar data från seriella buffert
bitVoicer.getData();

Avslutas loopen om ingen strängdata returneras från getData
om (bitVoicer.strData == "")
{
hemkomst.
}

Var och en av de nästa uttalandena som "om" utför en annan
uppgift baserat på de uppgifter som mottagits från BitVoicer
om (bitVoicer.strData == "vakna")
{
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
digitalWrite (pinR, hög);
digitalWrite (pinY, hög);
digitalWrite (pinG, hög);
Delay(200);
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
Delay(200);
digitalWrite (pinR, hög);
digitalWrite (pinY, hög);
digitalWrite (pinG, hög);
Delay(200);
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
Delay(200);
digitalWrite (pinR, hög);
digitalWrite (pinY, hög);
digitalWrite (pinG, hög);
Delay(200);
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
bitVoicer.strData = "";
lightLevel = 0;
}
annat if (bitVoicer.strData == "sömn")
{
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
digitalWrite (pinR, hög);
digitalWrite (pinY, hög);
digitalWrite (pinG, hög);
Delay(200);
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
Delay(200);
digitalWrite (pinR, hög);
digitalWrite (pinY, hög);
digitalWrite (pinG, hög);
Delay(200);
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
bitVoicer.strData = "";
lightLevel = 0;
}
annat if (bitVoicer.strData == "RH")
{
digitalWrite (pinR, hög);
bitVoicer.strData = "";
lightLevel = 255;
}
annat if (bitVoicer.strData == "RL")
{
digitalWrite (pinR, låg);
bitVoicer.strData = "";
lightLevel = 0;
}
annat if (bitVoicer.strData == "YH")
{
digitalWrite (pinY, hög);
bitVoicer.strData = "";
lightLevel = 255;
}
annat if (bitVoicer.strData == "YL")
{
digitalWrite (pinY, låg);
bitVoicer.strData = "";
lightLevel = 0;
}
annat if (bitVoicer.strData == "GH")
{
digitalWrite (pinG, hög);
bitVoicer.strData = "";
lightLevel = 255;
}
annat if (bitVoicer.strData == "GL")
{
digitalWrite (pinG, låg);
bitVoicer.strData = "";
lightLevel = 0;
}
annat if (bitVoicer.strData == "blink")
{
digitalWrite (pinR, hög);
digitalWrite (pinY, hög);
digitalWrite (pinG, hög);
Delay(blinkDelay);
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
Delay(blinkDelay);
lightLevel = 255;
}
annat if (bitVoicer.strData == "BF")
{
blinkDelay = 100;
bitVoicer.strData = "blink";
lightLevel = 255;
}
annat if (bitVoicer.strData == "BFF")
{
växel (blinkDelay)
{
fall 500:
blinkDelay = 250;
bryta;
fall 250:
blinkDelay = 100;
bryta;
standard:
bryta;
}
bitVoicer.strData = "blink";
lightLevel = 255;
}
annat if (bitVoicer.strData == "BS")
{
blinkDelay = 500.
bitVoicer.strData = "blink";
lightLevel = 255;
}
annat if (bitVoicer.strData == "BSS")
{
växel (blinkDelay)
{

fallet 100:
blinkDelay = 250;
bryta;
fall 250:
blinkDelay = 500.
bryta;
standard:
bryta;
}
bitVoicer.strData = "blink";
lightLevel = 255;
}
annat if (bitVoicer.strData == "sekvens")
{
om (sequenceDir == 0)
{
digitalWrite (pinR, hög);
Delay(250);
digitalWrite (pinR, låg);
digitalWrite (pinY, hög);
Delay(250);
digitalWrite (pinY, låg);
digitalWrite (pinG, hög);
Delay(250);
digitalWrite (pinG, låg);
}
annat
{
digitalWrite (pinG, hög);
Delay(250);
digitalWrite (pinG, låg);
digitalWrite (pinY, hög);
Delay(250);
digitalWrite (pinY, låg);
digitalWrite (pinR, hög);
Delay(250);
digitalWrite (pinR, låg);
}
lightLevel = 255;
}
annat if (bitVoicer.strData == "återgå")
{
om (sequenceDir == 0)
{
sequenceDir = 1;
}
annat
{
sequenceDir = 0;
}
bitVoicer.strData = "sekvens".
lightLevel = 255;
}
annat if (bitVoicer.strData == "ALLON")
{
digitalWrite (pinR, hög);
digitalWrite (pinY, hög);
digitalWrite (pinG, hög);
bitVoicer.strData = "";
lightLevel = 255;
}
annat if (bitVoicer.strData == "ALLOFF")
{
digitalWrite (pinR, låg);
digitalWrite (pinY, låg);
digitalWrite (pinG, låg);
bitVoicer.strData = "";
lightLevel = 0;
}
annat if (bitVoicer.strData == "ljusare")
{
om (lightLevel < 255)
{
lightLevel += 85.
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
bitVoicer.strData = "";
}
annat if (bitVoicer.strData == "mörkare")
{
om (lightLevel > 0)
{
lightLevel-= 85.
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
bitVoicer.strData = "";
}
annat
{
Serial.println ("fel:" + bitVoicer.strData);
bitVoicer.strData = "";
}
}

Denna skiss använder BitVoicer Arduino biblioteket som kan laddas ner från th.

BitVoicer röst schemat som erkänner det tal som visas i videon finns på: http://www.justbuss.xpg.com.br/BitVoicerTest.zip (du måste ha BitVoicer för att kunna öppna den).

Jag hoppas ni har roligt med det!

Relaterade Ämnen

Trådlös Audio Streaming och taligenkänning med Arduino

i detta projekt jag ansluta min Arduino ombord till en WiFly modul (https://www.sparkfun.com/products/10822) från ambulerande nätverk och strömma ljud till datorn, så att BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) kan utföra taligenkänning....

Arduino röst / taligenkänning med Geeetech modul [Tutorial]

Hur till: Arduino röst / taligenkänning med Geeetech modul [Tutorial]. Denna video visar dig hur man talar med din Arduino med (billigt) Geeetech röst kontrollmodulen. Du kan sedan använda koden kontrollerar en motor eller göra röststyrda lampor. Det...

Super Spooky onda LED ögon av Doom med atTiny85 och Arduino IDE

det finns några kusliga ögat instructables där ute. Till exempel finns det en som bygger på en 555 timer, en som bygger på en on/off knapp, en som bygger på Arduino och en baserat på band.Jag ville göra en uppsättning kusliga onda ögon som uppfyller...

Bygga din egen pratar Tom leksak med skrapa och Arduino

Gillar du pratar Tom? Vad sägs om att göra våra egna interaktiva (Arduino/Scratch) pratar Tomleksak?I detta instructable visar vi dig hur man bygger denna leksak med hjälp av sensorer och dubbelriktad Scratch <> - Arduino kommunikation att göra prog...

Första stegen med bearbetning och Arduino (styra skiftregister från dator)

Hej igen! Jag har få delar, så jag beslöt att börja bygga virtuella! Jag hade bearbetning på min dator, men jag hade aldrig använt det, eftersom i´m bara en student och jag don´t vet Java alls. Först bestämde jag mig att rita kvadrat. Jag hade så myc...

KONTROLL STEPPER MOTOR hastighet med LABVIEW och ARDUINO

Jag gjorde detta i Proteusfullständig kontroll STEPPER MOTOR hastighet med LABVIEW och ARDUINO...! wolaaSteg 1: Denna handledning är:> Med Labview gränssnitt Arduino till PC via USB-porten.> Med Labview för att skicka data som beskriver varvtal till...

Kom igång med LabVIEW och Arduino (komplett tutorials)

Om du är en ny användare för elektronik och vill skapa projekt som ett proffs, är här handledningen för dig.Detta är inte en enskild handledning, detta kommer till följt av serie tutorials att slutföra en snabbkurs om hur LabVIEW att förvärva olika d...

Skicka mail med ESP8266 och Arduino UNO

Hur man får Adafruits "send_email_smtp.ino" till Skicka e-post med ESP8266 och Arduino UNO.Och eliminera problemet med "inget svar från modul" många har.Modulen fungerar på 3.3V logik enligt dokumentationen, men jag hade inga problem m...

Taligenkänning med Arduino och BitVoicer Server

I detta Instructable ska jag visa hur man använder en Arduino ombord och BitVoicer Server för att kontrollera några lysdioder med röstkommandon. Jag kommer att använda Arduino Micro i detta Instructable, men du kan använda en Arduino ombord du har ti...

Taligenkänning med Arduino

i detta projekt jag använder Bitvoicers funktioner för taligenkänning (http://www.bitsophia.com/BitVoicer.aspx), en Arduino ombord och en Elektret mikrofon (https://www.sparkfun.com/products/9964) för att kontrollera några lysdioder.Detta projekt är...

Styra enheter med röststyrning med android och arduino

Denna kompatibel kommer att tjäna frågor som, hur att styra enheter av röstkommandon, taligenkänning finns i android.Alla android enheter levereras med den inbyggda taligenkänningen. Detta kan användas för att konvertera tal till text, genom att blue...

Designa och bygga en synthesizer med Meeblip och Arduino, adderat video!

För min praktikplats på Skapa digitalmusik/Meeblip jag har skapat ganska kul liten synthesizer. Det här är tänkt att vara mer flexibla än andra synthesizer genom att göra det helt oberoende. Det är batteridriven, har egen förstärkare/högtalare och st...

Enkla animatörerna med servon och Arduino

servon är förvånansvärt enkel att använda. Ännu mer så än enkel DC-motorer och steppers när du har en mikrokontroller. I detta instructable vi använder en "duino att köra fem servon som kommer att kontrollera en docka armar och nacke.Jag köpte servon...

Kontrollera din motors med L293D och Arduino

efter lång forskning och försök och misstag, jag kom till en ny genomgång om detta fina chip, L293D.Varje projekt är ett projekt och var och en har sin egen unika power konfigurationer, så du måste vara medveten om det bästa batteri valet och hur du...

AlarMe: Den eskalerande väckarklockan med Pi och Arduino

Här är den bearbetning kod som jag utformat och används.För att köra den själv, installera bearbetning på din dator, ladda ner zip-filen och kör skissen själv. Använd i-koden instruktioner att lägga till dina egna ljudfiler eller bara använder min.Om...

Hem byggt IR fjärrkontroll mottagare eller Demodulator med fototransistor och Arduino vederbörlig

Min IR mottagare modul från Banggood bangged efter första run - upphörde det bara arbeta. Nästa nya en kommer att ta veckor att komma fram, men showen måste gå på... så bestämde mig att hitta tillfällig lösning, och det fungerade:).Jag googlade, och...

Bärbar prototyping labb med oscilloskop och arduino

Hej alla tillsammans är jag tillbaka, med ett nytt projekt. Jag var tyst upptagen med min underbara nyfödda dotter (bara 7 veckor gammal) när jag börjar skrev detta det är 00:00 i Tyskland och min dotter äntligen sover och jag hittade lite tid att pr...

Bi Polar Stepper Motor med L293D och Arduino

HejJag hade en Bi Polar stepper motor liggande, som jag ska använda för att skapa en Dolly för min DSLR.Komponenter som används:Arduino UnoStepper Motor ML17A3 B (detta är modellen nr tryckt på motor)SkärbrädaL293D9V batteripackNågra startkablarOm du...

DIY Minion robot med skrot och Arduino

Hej!Jag antar att ni redan vet att jag har en liten baby. Även om han är liten, är han redan mycket vakande ser de robotar som springer runt i huset (vi hade mycket roligt tillsammans med mBot och hans ljus). Så gjorde jag denna kompis tänkte det sku...