Spracherkennung mit Arduino


In dieses Projekt verwende ich BitVoicers Anerkennung Sprachfunktionen (http://www.bitsophia.com/BitVoicer.aspx), ein Arduino-Board und ein Elektret-Mikrofon (https://www.sparkfun.com/products/9964) um ein paar LEDs zu steuern.

Dieses Projekt ist ähnlich wie in meinem ersten Post (), aber jetzt benutze ich audio-streaming, um audio an BitVoicer zu senden.

Fritzing Schaltplan hinzugefügte diese instructable zeigt, wie ich mein Arduino Board verdrahtet.

Ich bin auch ein paar Bilder und ein YouTube-Video des laufenden Projekts hinzufügen.

Leider ist die Skizze schrieb ich für meinen ersten Beitrag nicht mehr durch die neue Version von BitVoicer unterstützt. Hier ist die neue Skizze:

#include < BitVoicer11.h >

Die BitVoicerSerial-Klasse instanziiert
BitVoicerSerial BvSerial = BitVoicerSerial();

Speichert true, wenn das Audio-Streaming Kalibrierungs-Tool
läuft
Boolesche Testdatei = False;
Speichert den Datentyp von getData() abgerufen
Datentyp Byte = 0;
Richtet die Stifte und Standard-Variablen
Int PinR = 3;
Int pinY = 5;
Int PinG = 6;
Int LightLevel = 0;

void setup()
{
Setzt die analoge Bezugnahme auf externe (AREF Pin)
ACHTUNG!!! Wenn etwas mit dem AREF-Pin verbunden ist,
Diese Funktion muss zuerst aufgerufen werden. Andernfalls wird es
beschädigen Sie das Board.
bvSerial.setAnalogReference(BV_EXTERNAL);
Richtet den Mikrocontroller zu schneller analog Lesevorgänge ausführen
auf die angegebene pin
bvSerial.setAudioInput(0);
Serielle Kommunikation mit 115200 bps beginnt
Serial.Begin(115200);
Die PinModes richtet
PinMode (PinR, Ausgang);
PinMode (pinY, Ausgabe);
PinMode (pinG, Ausgang);
}

void loop()
{
Nimmt Audio auf und sendet es an BitVoicer, wenn der Ton
Streaming-Kalibrierungs-Tool läuft
Wenn (Testdatei == True)
{
An die Funktion übergebene Wert ist die Zeit
(in Mikrosekunden), die die Funktion muss warten
Durchführung der Lesung. Es wird verwendet, um zu erreichen
8000 Messwerte pro Sekunde.
bvSerial.processAudio(46);
}

Nimmt Audio auf und sendet es an BitVoicer, wenn die Rede
Erkennungs-Engine läuft
Wenn (bvSerial.engineRunning)
{
An die Funktion übergebene Wert ist die Zeit
(in Mikrosekunden), die die Funktion muss warten
Durchführung der Lesung. Es wird verwendet, um zu erreichen
8000 Messwerte pro Sekunde.
bvSerial.processAudio(46);
}
}

Diese Funktion führt jedes Mal, wenn serielle Daten verfügbar sind
in der seriellen Puffer nach einer Schleife
void serialEvent()
{
Die seriellen Puffer liest und speichert die empfangenen Daten-Art
Datentyp = bvSerial.getData();

Ändert sich der Wert der Testdatei wenn die empfangenen Daten wurde
der Start/Stopp-Probenahme-Befehl
Wenn (DataType == BV_COMMAND)
Testdatei = bvSerial.cmdData;

Signale BitVoicers Spracherkennungs-Engine starten
audio-Streams anhören, nachdem sich der EngineRunning status
wurde empfangen
Wenn (DataType == BV_STATUS & & bvSerial.engineRunning == True)
bvSerial.startStopListening();

Überprüft, ob der Datentyp identisch mit der in ist der
Stimme-Schema
Wenn (DataType == BV_STR)
setLEDs();
}

Führt die LED wechselt je nach dem Wert in
bvSerial.strData
void setLEDs()
{
Wenn (bvSerial.strData == "wake")
{
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
DigitalWrite (PinR, HIGH);
DigitalWrite (pinY, hoch);
DigitalWrite (PinG, HIGH);
Delay(200);
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
Delay(200);
DigitalWrite (PinR, HIGH);

DigitalWrite (pinY, hoch);
DigitalWrite (PinG, HIGH);
Delay(200);
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
Delay(200);
DigitalWrite (PinR, HIGH);
DigitalWrite (pinY, hoch);
DigitalWrite (PinG, HIGH);
Delay(200);
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
LightLevel = 0;
}
ElseIf (bvSerial.strData == "Schlaf")
{
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
DigitalWrite (PinR, HIGH);
DigitalWrite (pinY, hoch);
DigitalWrite (PinG, HIGH);
Delay(200);
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
Delay(200);
DigitalWrite (PinR, HIGH);
DigitalWrite (pinY, hoch);
DigitalWrite (PinG, HIGH);
Delay(200);
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
LightLevel = 0;
}
ElseIf (bvSerial.strData == "RH")
{
DigitalWrite (PinR, HIGH);
LightLevel = 255;
}
ElseIf (bvSerial.strData == "RL")
{
DigitalWrite (PinR, LOW);
LightLevel = 0;
}
ElseIf (bvSerial.strData == "YH")
{
DigitalWrite (pinY, hoch);
LightLevel = 255;
}
ElseIf (bvSerial.strData == "YL")
{
DigitalWrite (pinY, niedrig);
LightLevel = 0;
}
ElseIf (bvSerial.strData == "GH")
{
DigitalWrite (PinG, HIGH);
LightLevel = 255;
}
ElseIf (bvSerial.strData == "GL")
{
DigitalWrite (PinG, LOW);
LightLevel = 0;
}
ElseIf (bvSerial.strData == "ALLON")
{
DigitalWrite (PinR, HIGH);
DigitalWrite (pinY, hoch);
DigitalWrite (PinG, HIGH);
LightLevel = 255;
}
ElseIf (bvSerial.strData == "ALLOFF")
{
DigitalWrite (PinR, LOW);
DigitalWrite (pinY, niedrig);
DigitalWrite (PinG, LOW);
LightLevel = 0;
}
ElseIf (bvSerial.strData == "heller")
{
Wenn (LightLevel < 255)
{
LightLevel += 85;
AnalogWrite (PinR, LightLevel);
AnalogWrite (pinY, LightLevel);
AnalogWrite (PinG, LightLevel);
}
}
ElseIf (bvSerial.strData == "dunkler")
{
Wenn (LightLevel > 0)
{
LightLevel = 85;
AnalogWrite (PinR, LightLevel);
AnalogWrite (pinY, LightLevel);
AnalogWrite (PinG, LightLevel);
}
}
anderes
{
bvSerial.startStopListening();
bvSerial.sendToBV ("ERROR:" + bvSerial.strData);
bvSerial.startStopListening();
}
}

Ich verwendete BitVoicer-Voice-Schema kann von heruntergeladen werden: http://www.justbuss.xpg.com.br/BitVoicerTest2.zip (Du musst BitVoicer installiert, um in der Lage sein es zu öffnen).

Jetzt ich ein paar Dinge (Lichter und Decke Ventilator) zu Hause zu kontrollieren möchte. Anregungen sind sehr willkommen.

In Verbindung stehende Artikel

Spracherkennung mit Arduino und BitVoicer Server

Spracherkennung mit Arduino und BitVoicer Server

In dieser Instructable werde ich zeigen, wie man ein Arduino -Board und BitVoicer-Server verwenden, um ein paar LEDs mit Sprachbefehlen steuern. Ich wird mit der Arduino Micro in diesem Instructable, aber können Sie alle Arduino-Board, die Sie zur ha
Wireless-Audio-Streaming und Spracherkennung mit Arduino

Wireless-Audio-Streaming und Spracherkennung mit Arduino

In diesem Projekt ich anschließen mein Arduino-Board zu einem WiFly-Modul (https://www.sparkfun.com/products/10822) aus Roving Netze und Audio-Stream auf den PC, so dass BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) Spracherkennung durchführen
LED-Beleuchtung mit Arduino sprachaktivierte

LED-Beleuchtung mit Arduino sprachaktivierte

Dieses Projekt ist eine Erweiterung für die Spracherkennung mit Arduino von (leandro4b). Allerdings habe ich anstatt 3 separate farbige LEDs, eine multicolor 4-Kanal RGBW LED-Strahler. Ich hatte die Möglichkeit der Arbeit bei LED Engin letzten Sommer
Arduino-Stimme / Spracherkennung mit Geeetech Modul [Tutorial]

Arduino-Stimme / Spracherkennung mit Geeetech Modul [Tutorial]

Gewusst wie: Arduino Stimme / Spracherkennung mit Geeetech Modul [Tutorial]. Dieses Video zeigt Ihnen wie Sie mit Ihrem Arduino mit dem (billig) Geeetech Voice Control Modul sprechen. Dann können Sie den Code zum Steuern eines Motors oder sprachgeste
Spracherkennung und Sprachsynthese mit Arduino untethered

Spracherkennung und Sprachsynthese mit Arduino untethered

MOVI steht für "Meine eigenen Voice Interface" und ist ein Kickstarter unterstützt Arduino Shield, das macht es sehr einfach, Ihre eigene Rede Dialoge für Steuergeräte in der Arduino IDE zu bauen. Diese schnelle instructable zeigt Ihnen, wie für
Home-Automation mit Arduino mit Wifi, Bluetooth und IR-Fernbedienung

Home-Automation mit Arduino mit Wifi, Bluetooth und IR-Fernbedienung

Dies ist ein Tutorial zeigen, wie man eine home-Automation-System mit Arduino mit Wifi [ESP8266-01], Bluetooth (HC-05) und IR-Fernbedienung zu bauen. Home-Automation ergibt sich ein intelligenteres Zuhause und wird verwendet, um eine höhere und gesün
Das einfachste Summer Tutorial; Mit Arduino

Das einfachste Summer Tutorial; Mit Arduino

Hey Macher,Ermöglicht ein einfaches Quiz Buzzer mit Arduino zu machen!Schritt 1: Was können wir tun?Was können wir tun?> quiz Spiel Summer> spielen Sie Melodien und viel mehr...Schritt 2:Dinge erforderlich> Arduino Uno (von Amazon.in kaufen) (Ama
Android gesteuert RGB LED mit Arduino

Android gesteuert RGB LED mit Arduino

Hai an alle in der Post-Iam gehen, zeigen, wie man die RGB-LED mit Android mit Arduino und HC-05 Bluetooth-Modul steuern.Ich suchte im Web gibt es viele Techniken, die RGB-LED zu kontrollieren. Aber dies ist die Methode, die sehr einfach und leicht i
Machen Sie einen einfachen drahtlosen RF-Roboter mit Arduino!

Machen Sie einen einfachen drahtlosen RF-Roboter mit Arduino!

UPDATE: ICH HABE DIESEN ROBOTER JOYSTICK-STEUERUNG HINZUGEFÜGT. FINDEN SIE MIT SCHRITT 7 FORT, WENN SIE IHREN ROBOTER PER JOYSTICK STEUERN MÖCHTEN.HalloDies ist mein erster instructable und in diesem Tutorial, ich werde Ihnen zeigen, wie man einen ei
Eine schwebende Kugel dreht leuchtet und blinkt mit Arduino

Eine schwebende Kugel dreht leuchtet und blinkt mit Arduino

Ein schwebender wenig Todesstern in Instructables lud mich in das neue Projekt mit Arduino. Drei Richtlinien wurden beschlossen und gehalten, um es aus dem Vorgänger zu unterscheiden.Tun Sie es selbst mit konfektionierter keine (oder weniger).Drehen
PHloat2 DIY saures Wasser testen Skulptur & kit mit Arduino

PHloat2 DIY saures Wasser testen Skulptur & kit mit Arduino

pHloatpHloat ist ein DIY-Kit, die für den Einsatz in Verbindung mit einem Pre-owned / vorbestehende Arduino-Mikrocontroller besteht. Es soll die pH-Werte in Flüssen, Seen und Bäche durch den Zustrom von Luft- und Wasserverschmutzung, häufig verursach
Wie erstelle ich ein "Chamäleon" mit Arduino

Wie erstelle ich ein "Chamäleon" mit Arduino

Chamäleons wechselnden Farben und mischen in der Umgebung, auf wunderbare Weise müssen Sie gesehen haben. Die Art und Weise, dass Chamäleons eigentlich dazu ist wirklich molekulare. Schaut man sich die Haut von einem Chamäleon, finden Sie, dass sie m
Einfache LED Party Lichtleisten mit Arduino

Einfache LED Party Lichtleisten mit Arduino

Inspiriert vonProjekt von GreatScottLabAll diese Teile konnte ich nicht finden, so dass ich eine Bremse Board für MSGEQ7 Chip bestellte und es in meinem bauen benutzte. Es hat auch 3 MOSFETS für RGB led Streifen.MSGEQ7 ist ein 7-Band Graphic Equalize
Stimmung Lampe mit Arduino

Stimmung Lampe mit Arduino

Hallo! In diesem Tutorial lernen Sie, eine Stimmung Lampe mit Arduino zu machen.Ich weiß, Sie haben eine Menge Stimmung Lamp Projekte mit Arduino gesehen, aber ich war nicht sehr zufrieden mit ihnen, weil sie alle die Farbe sehr abrupt ändern. Also,