La reconnaissance vocale avec Arduino et serveur BitVoicer (2 / 4 étapes)

Étape 2: Télécharger le code sur l’Arduino

Maintenant, vous devrez télécharger le code ci-dessous sur votre Arduino. Vous pouvez également télécharger le sketch Arduino depuis le lien en bas de la page. Avant de télécharger le code, vous devez correctement installer les bibliothèques BitVoicer Server dans l’IDE Arduino (Importer un fichier zip bibliothèque).

 #include <BVSP.h> #include <BVSMic.h> // Defines the Arduino pin that will be used to capture audio #define BVSM_AUDIO_INPUT 5 // Defines the LED pins #define RED_LED_PIN 6 #define YELLOW_LED_PIN 9 #define GREEN_LED_PIN 10 // Defines the constants that will be passed as parameters to // the BVSP.begin function const unsigned long STATUS_REQUEST_TIMEOUT = 1000; const unsigned long STATUS_REQUEST_INTERVAL = 2000; // Defines the size of the audio buffer const int AUDIO_BUFFER_SIZE = 64; // Defines the size of the receive buffer const int RECEIVE_BUFFER_SIZE = 2; // Initializes a new global instance of the BVSP class BVSP bvsp = BVSP(); // Initializes a new global instance of the BVSMic class BVSMic bvsm = BVSMic(); // Creates a buffer that will be used to read recorded samples // from the BVSMic class byte audioBuffer[AUDIO_BUFFER_SIZE]; // Creates a buffer that will be used to read the commands sent // from BitVoicer Server. // Byte 0 = pin number // Byte 1 = pin value byte receiveBuffer[RECEIVE_BUFFER_SIZE]; void setup() { // Sets up the pin modes pinMode(RED_LED_PIN, OUTPUT); pinMode(YELLOW_LED_PIN, OUTPUT); pinMode(GREEN_LED_PIN, OUTPUT); // Starts serial communication at 115200 bps Serial.begin(115200); // Sets the Arduino serial port that will be used for // communication, how long it will take before a status request // times out and how often status requests should be sent to // BitVoicer Server. bvsp.begin(Serial, STATUS_REQUEST_TIMEOUT, STATUS_REQUEST_INTERVAL); // Defines the function that will handle the frameReceived // event bvsp.frameReceived = BVSP_frameReceived; // Prepares the BVSMic class timer bvsm.begin(); } void loop() { // Checks if the status request interval has elapsed and if it // has, sends a status request to BitVoicer Server bvsp.keepAlive(); // Checks if there is data available at the serial port buffer // and processes its content according to the specifications // of the BitVoicer Server Protocol bvsp.receive(); // Checks if there is one SRE available. If there is one, // starts recording. if (bvsp.isSREAvailable()) { // If the BVSMic class is not recording, sets up the audio // input and starts recording if (!bvsm.isRecording) { bvsm.setAudioInput(BVSM_AUDIO_INPUT, EXTERNAL); bvsm.startRecording(); } // Checks if the BVSMic class has available samples if (bvsm.available) { // Makes sure the inbound mode is STREAM_MODE before // transmitting the stream if (bvsp.inboundMode == FRAMED_MODE) bvsp.setInboundMode(STREAM_MODE); // Reads the audio samples from the BVSMic class int bytesRead = bvsm.read(audioBuffer, AUDIO_BUFFER_SIZE); // Sends the audio stream to BitVoicer Server bvsp.sendStream(audioBuffer, bytesRead); } } else { // No SRE is available. If the BVSMic class is recording, // stops it. if (bvsm.isRecording) bvsm.stopRecording(); } } // Handles the frameReceived event void BVSP_frameReceived(byte dataType, int payloadSize) { // Checks if the received frame contains binary data // 0x07 = Binary data (byte array) if (dataType == DATA_TYPE_BINARY) { // If 2 bytes were received, process the command if (bvsp.getReceivedBytes(receiveBuffer, RECEIVE_BUFFER_SIZE) == RECEIVE_BUFFER_SIZE) { analogWrite(receiveBuffer[0], receiveBuffer[1]); } } } 

Ce croquis a quatre grandes parties :

  • Les références de bibliothèque et de la déclaration de variable : les deux premières lignes contiennent des références à des bibliothèques DJESTOXX et BVSMic . Ces bibliothèques sont fournis par BitSophia et se trouvent dans le dossier d’installation de serveur BitVoicer. Les autres lignes déclarent les constantes et les variables utilisées tout au long de l’esquisse. La classe DJESTOXX est utilisée pour communiquer avec le serveur BitVoicer et la classe BVSMic est utilisée pour capturer et stocker les échantillons audio.
  • Fonction de configuration : cette fonction initialise la communication série, la classe DJESTOXX, la classe BVSMic et définit le « gestionnaire de l’événement » (c’est en fait un pointeur de fonction) pour l’événement frameReceived.
  • Fonction de boucle : cette fonction effectue trois actions importantes : demande d’infos d’État sur le serveur (fonction keepAlive()), vérifie si le serveur a envoyé toutes les données et traite les données reçues (fonction receive()) et contrôle l’enregistrement et l’envoi de flux audio (fonctions isSREAvailable(), startRecording(), stopRecording() et sendStream()) ;
  • BVSP_frameReceived fonction : cette fonction est appelée chaque fois que la fonction receive() identifie qu’une trame complète a été reçue. Ici, je lance la commande envoyée du serveur BitVoicer. La commande contient 2 octets. Le premier octet indique le code pin et le deuxième octet indique la valeur de code pin. J’utilise la fonction analogWrite() pour définir la valeur appropriée à la broche.

Articles Liés

La reconnaissance vocale avec Arduino

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
2RM voix contrôlée Robot avec Arduino et serveur BitVoicer

2RM voix contrôlée Robot avec Arduino et serveur BitVoicer

Dans ce Instructable je vais montrer comment construire un robot de commande vocale 2RM . Même si je suis contrôle uniquement les moteurs à courant continu pour déplacer le robot, la même approche peut servir à la voix-contrôle de moteurs pas à pas e
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
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 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
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