La reconnaissance vocale avec Arduino

dans ce projet, j’utilise de BitVoicer fonctionnalités de reconnaissance vocale (http://www.bitsophia.com/BitVoicer.aspx), une carte Arduino et un microphone à électret (https://www.sparkfun.com/products/9964) pour quelques LEDs de contrôle.

Ce projet est similaire à celui de mon premier post (), mais maintenant j’utilise le streaming audio pour envoyer l’audio à BitVoicer.

Le schéma de fritzing que j’ai ajouté à cette instructable montre comment j’ai branché ma carte Arduino.

J’ajoute également quelques photos et une vidéo sur YouTube du projet en cours d’exécution.

Malheureusement, l’esquisse que j’ai écrit pour mon premier post n’est plus supporté par la nouvelle version de BitVoicer. Voici le nouveau sketch :

#include < BitVoicer11.h >

Instancie la classe BitVoicerSerial
BitVoicerSerial bvSerial = BitVoicerSerial() ;

True si magasins l’outil de Calibration de Streaming Audio
est en cours d’exécution
sampleTest booléen = false ;
Stocke le type de données récupéré par GetData
le type de données Byte = 0 ;
Met en place les goupilles et les variables par défaut
pinR int = 3 ;
int pinY = 5 ;
pinG int = 6 ;
Éclairement int = 0 ;

void setup()
{
Définit la référence analogique externe (broche AREF)
AVERTISSEMENT!!! Si quelque chose est connectée à la broche AREF,
Cette fonction doit être appelée en premier. Dans le cas contraire, il sera
endommager le jury.
bvSerial.setAnalogReference(BV_EXTERNAL) ;
Met en place le microcontrôleur d’effectuer plus rapidement des lectures analogiques
sur l’axe spécifié
bvSerial.setAudioInput(0) ;
Communication série commence à 115200 bps
Serial.Begin(115200) ;
Met en place le pinModes
pinMode (pinR, sortie) ;
pinMode (pinY, sortie) ;
pinMode (pinG, sortie) ;
}

void loop()
{
Capture audio et l’envoie à BitVoicer si l’Audio
Outil de Calibration de streaming est en cours d’exécution
Si (sampleTest == true)
{
La valeur passée à la fonction est à la fois
(en microsecondes) que la fonction doit attendre avant
effectuer la lecture. Il sert à réaliser sur
8000 lectures par seconde.
bvSerial.processAudio(46) ;
}

Capture audio et l’envoie à BitVoicer si le discours
Le moteur de reconnaissance est en cours d’exécution
Si (bvSerial.engineRunning)
{
La valeur passée à la fonction est à la fois
(en microsecondes) que la fonction doit attendre avant
effectuer la lecture. Il sert à réaliser sur
8000 lectures par seconde.
bvSerial.processAudio(46) ;
}
}

Cette fonction s’exécute chaque fois que des données série sont disponibles
dans la série tampon après une boucle
Sub serialEvent()
{
Lit la mémoire tampon de série et stocke le type de données reçues
dataType = bvSerial.getData() ;

Modifie la valeur de sampleTest si les données reçues a été
la commande d’échantillonnage de marche/arrêt
Si (dataType == BV_COMMAND)
sampleTest = bvSerial.cmdData ;

Signaux moteur de BitVoicer de reconnaissance vocale pour commencer
écouter le flux audio après le statut d’engineRunning
a été reçue
Si (dataType == BV_STATUS & & bvSerial.engineRunning == true)
bvSerial.startStopListening() ;

Vérifie si le type de données est le même que celui de la
Schéma de la voix
Si (dataType == BV_STR)
setLEDs() ;
}

Effectue les modifications LED selon la valeur en
bvSerial.strData
Sub setLEDs()
{
Si (bvSerial.strData == « wake »)
{
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Delay(200) ;
digitalWrite (pinR, HIGH) ;

digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Delay(200) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Éclairement = 0 ;
}
ElseIf (bvSerial.strData == « veille »)
{
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Delay(200) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Éclairement = 0 ;
}
ElseIf (bvSerial.strData == « RH »)
{
digitalWrite (pinR, HIGH) ;
Éclairement = 255 ;
}
ElseIf (bvSerial.strData == « RL »)
{
digitalWrite (pinR, faible) ;
Éclairement = 0 ;
}
ElseIf (bvSerial.strData == « YH »)
{
digitalWrite (pinY, élevé) ;
Éclairement = 255 ;
}
ElseIf (bvSerial.strData == « YL »)
{
digitalWrite (pinY, faible) ;
Éclairement = 0 ;
}
ElseIf (bvSerial.strData == « GH »)
{
digitalWrite (pinG, HIGH) ;
Éclairement = 255 ;
}
ElseIf (bvSerial.strData == « GL »)
{
digitalWrite (pinG, faible) ;
Éclairement = 0 ;
}
ElseIf (bvSerial.strData == « ALLON »)
{
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Éclairement = 255 ;
}
ElseIf (bvSerial.strData == « ALLOFF »)
{
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Éclairement = 0 ;
}
ElseIf (bvSerial.strData == « plus clair »)
{
Si (éclairement < 255)
{
Éclairement += 85 ;
analogWrite (pinR, éclairement) ;
analogWrite (pinY, éclairement) ;
analogWrite (pinG, éclairement) ;
}
}
ElseIf (bvSerial.strData == « sombre »)
{
Si (éclairement > 0)
{
Éclairement-= 85 ;
analogWrite (pinR, éclairement) ;
analogWrite (pinY, éclairement) ;
analogWrite (pinG, éclairement) ;
}
}
d’autre
{
bvSerial.startStopListening() ;
bvSerial.sendToBV ("ERROR:" + bvSerial.strData) ;
bvSerial.startStopListening() ;
}
}

Le schéma de voix de BitVoicer j’ai utilisé peut être téléchargé sur : http://www.justbuss.xpg.com.br/BitVoicerTest2.zip (vous devez avoir BitVoicer installé pour pouvoir l’ouvrir).

Maintenant, je veux commander quelques petites choses (lumières et ventilateur de plafond) à la maison. Suggestions sont les bienvenus.

Articles Liés

La reconnaissance vocale avec Arduino et serveur BitVoicer

La reconnaissance vocale avec Arduino et serveur BitVoicer

Dans ce Instructable je vais montrer comment utiliser une carte Arduino et BitVoicer serveur pour contrôler quelques LEDs avec commandes vocales. Je vais utiliser le Micro de l'Arduino dans ce Instructable, mais vous pouvez utiliser n'importe quel ca
Streaming Audio et la reconnaissance vocale avec Arduino sans fil

Streaming Audio et la reconnaissance vocale avec Arduino sans fil

dans ce projet j'ai connecter ma carte Arduino à un WiFly module (https://www.sparkfun.com/products/10822) de Roving Networks et de flux audio pour le PC, alors que BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) peut exécuter la reconnaissance v
Voix de l’Arduino / reconnaissance vocale avec Geeetech Module [Tutoriel]

Voix de l’Arduino / reconnaissance vocale avec Geeetech Module [Tutoriel]

Comment : Arduino voix / reconnaissance vocale avec Geeetech Module [Tutoriel]. Cette vidéo vous montrera comment parler avec votre Arduino avec le module de commande de voix Geeetech (bon marché). Vous pouvez ensuite utiliser le code pour commander
Comment utiliser un Module de reconnaissance vocale Serial - Arduino Tutorial

Comment utiliser un Module de reconnaissance vocale Serial - Arduino Tutorial

Dans ce tutoriel, vous apprendrez comment utiliser un module de reconnaissance de voix - série - avec la carte de Arduino uno. Ce module peut stocker jusqu'à 15 commandes vocales. Ceux qui sont divisés en 3 groupes, avec 5 commandes dans chaque group
La reconnaissance vocale avec BitVoicer et Arduino

La reconnaissance vocale avec BitVoicer et Arduino

le but principal de ce projet était de tester les performances de la reconnaissance vocale de BitVoicer (http://www.bitsophia.com/BitVoicer.aspx). Pour cela, j'ai conçu une esquisse de contrôle led simple dont j'ai intégré avec BitVoicer. Bien sûr, v
Faites votre propre tiroir de rangement fonctionne avec la reconnaissance vocale (1Sheeld - Arduino)

Faites votre propre tiroir de rangement fonctionne avec la reconnaissance vocale (1Sheeld - Arduino)

J'ai toujours eu le problème de l'oubli dans quel tiroir, j'ai mis mes composants et parfois l'encre sur les étiquettes obtenir effacées par le temps alors j'ai pensé faire quelque chose d'intelligent et j'ai fini avec un tiroir de rangement qui fonc
Untethered la reconnaissance vocale et la synthèse vocale avec Arduino

Untethered la reconnaissance vocale et la synthèse vocale avec Arduino

MOVI signifie « Ma propre voix Interface » et est un Arduino Shield adossés kickstarter qui le rend très facile de créer vos propres boîtes de dialogue discours aux dispositifs de contrôle au sein de l'IDE Arduino. Cette rapide instructable vous mont
Éclairage LED avec Arduino vocale

Éclairage LED avec Arduino vocale

Ce projet est une extension pour la reconnaissance de la parole avec Arduino par leandro4b (). Cependant, au lieu d'utiliser 3 LEDs de couleur distinctes, j'ai utilisé un émetteur de LED multicolor 4 canaux RVB + blanc. J'ai eu l'occasion de travaill
Voix de contrôle l’Arduino avec reconnaissance vocale de Windows 7

Voix de contrôle l’Arduino avec reconnaissance vocale de Windows 7

Tout d'abord, je suis désolé pour l'orthographe ou des erreurs de grammaire que vous pouvez trouver ici, en anglais n'est pas ma langue maternelle.J'ai fait ce instructable parce que je n'ai pas vu un qui met l'accent sur ce sujet, alors j'ai voulu p
La reconnaissance vocale et la synthèse avec Arduino

La reconnaissance vocale et la synthèse avec Arduino

Dans mon précédent Instructable, j'ai montré comment contrôler quelques LEDs à l'aide d'une carte Arduino et le Serveur BitVoicer. Dans ce Instructable, je vais rendre les choses un peu plus compliqués. Je vais également à synthétiser la parole en ut
Voix à Arduino : LEDs de contrôle à l’aide du système de reconnaissance vocale MIT

Voix à Arduino : LEDs de contrôle à l’aide du système de reconnaissance vocale MIT

Bonjour, tout le monde!!! Depuis quelque temps je n'avais pas mis à jour mon post ici. Aujourd'hui, je voudrais partager avec vous les gars une expérience que j'ai fait. Je vais commander des LEDs en utilisant la reconnaissance vocale MIT app invento
Reconnaissance vocale Arduino Via Bluetooth HC-05

Reconnaissance vocale Arduino Via Bluetooth HC-05

Il est vraiment facile et rapide d'ajouter la commande vocale à votre projet arduino. Que ce soit commande vocale home automation ou serrure ou robots, pourrait être un accrocheur fonctionnalité dans un projet arduino. Dans ce tutoriel je « ll vous m
Reconnaissance vocale de l’Arduino. (Base)

Reconnaissance vocale de l’Arduino. (Base)

Hé les gars, aujourd'hui, nous avons un grand projet pour vous. Reconnaissance vocale de l'Arduino ! Nous utilisons le VR facile et un Arduino. Ce projet va vous apprendre comment utiliser l'easyVR pour la reconnaissance vocale : Remarque : la reconn
Domotique Bluetooth avec arduino:VOICE

Domotique Bluetooth avec arduino:VOICE

OH ! les dépenses de la domotique de luxe par la voixavez-vous jamais eu envie de construire un système de domotique qui a travaillé sur commande vocaleEh bien ne cherchez plus c'est votre guichet unique pour la domotique par voixLe système est basé