La reconnaissance vocale est un domaine en plein essor qui offre de nombreuses possibilités d’interaction entre l’homme et la machine. Avec le pcDuino Pyduino, il est possible de tester la reconnaissance vocale en mode connecté et de visualiser les résultats grâce à une LED. Dans cet article, nous allons vous expliquer comment programmer le pcDuino Pyduino pour tester la reconnaissance vocale et comment utiliser la LED pour visualiser les résultats.
Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.
Ce que l’on va faire ici
- Dans ce code, je vous montre comment tester la reconnaissance vocale en mode connecté en utilisant ma librairie PyduinoMultimedia.
- L’opération se fait en plusieurs étape :
- tout d’abord l’enregistrement de la voix
- ensuite l’analyse vocale du fichier obtenu
- Ici une LED sera utilisée pour indiquer le moment pendant lequel vous pouvez parler (c’est à dire le moment où le code enregistre le son).
- La chaîne reconnue est affichée et un message en synthèse vocale indique la chaîne reconnue.
- On suppose que le pcDuino est connecté au réseau local avec accès internet disponible.
- Pour plus de détails sur la reconnaissance vocale avec PyduinoMultimedia, voir la fonction analyzeVoice
Pré-requis
- un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
- Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
- ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
- les dépendances de la librairie pyDuino Multimédia installées : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
Schéma fonctionnel
- On utilise ici la reconnaissance vocale, la synthèse vocale et une broche E/S en sortie numérique :
Matériel nécessaire
Système
- Le pcDuino
- Une entrée audio opérationnelle :
- le micro intégré d’une webcam (le plus simple)
- une carte audio USB avec entrée audio et un micro
- Une sortie audio opérationnelle : le plus simple étant un écran HDMI connecté.
E/S
- une plaque d’essai pour montage sans soudures,

- des straps,

- 1 x LED verte 5mm,

- 1 x résistance 1/4w de 270 Ohms environ,

Instructions de montage
- Connecter sur la broche 0 (configurée en sortie) une LED et sa résistance (270 Ohms) en série connectée au 0V
- Note technique : chaque broche va fournir (3.3-1.5)/270 = 6,66 mA soit au total 8 x 6,66mA… soit 53mA au plus, ce qui semble tout à fait acceptable pour ne pas risquer d’endommager le mini-PC.
- Connecter également le micro en entrée (le plus simple étant une webcam)
- Connecter une sortie audio opérationnelle, le plus simple étant un écran HDMI
- On suppose également que le pcDuino est connecté au réseau local avec accès internet disponible.
Le montage à réaliser
Le fichier *.py
Copier/coller ce code dans l’éditeur Geany :
# -*- coding: utf-8 -*-
# exemple pyDuino – par X. HINAULT – www.mon-club-elec.fr
# Juillet 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino
# test analyzeVoice avec LED de visualisation enregistrement
from pyduinoMultimedia import * # importe les fonctions Arduino pour Python
# entete declarative
#noLoop=True
ledTemoin=0 # LED témoin ok pour parler
#— setup —
def setup():
pinMode(ledTemoin, OUTPUT) # broche en sortie
digitalWrite(ledTemoin, LOW) # eteint LED
# — fin setup —
# — loop —
def loop():
filepathAudio=homePath()+dataPath(AUDIO)
filename=« test.wav »
print (filepathAudio+filename)
#speak(« Test de reconnaissance vocale. Dites quelque chose »)
digitalWrite(ledTemoin,HIGH) # OK parler
recordSound(filepathAudio+filename,3) # enregistre son fichier voulu et duree voulue en secondes
digitalWrite(ledTemoin,LOW) # Stop parler
#playSound(filepathAudio+filename)
chaine=analyzeVoice(filepathAudio+filename) # reconnaissance vocale
if chaine==« »:
#speak(« Vous n’avez rien dit. »)
pass
else:
speak(« Vous avez dit « + chaine)
# — fin loop —
#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
setup() # appelle la fonction main
while not noLoop: loop() # appelle fonction loop sans fin
Ce code est également disponible ici : https://raw.github.com/sensor56/pyduino-exemples/master/Voice/AnalyzeVoiceLed.py
Utilisation
- Réaliser le montage et connecter le micro (le plus simple = une webcam avec micro-intégré)
- Vérifier les niveaux de son au préalable avec Audacity
- Appuyer sur le bouton exécuter dans Geany
- Une fenêtre de Terminal doit apparaître :
- lorsque la LED connectée sur la broche 0 s’allume, parler !
- la reconnaissance vocale se fait automatiquement et une annonce vocale se fait selon message reconnu

Discussion technique
- Ce code peut encore être amélioré en évitant une analyse du fichier son si celui-ci est vide… Ceci évitera une connexion intempestive inutile au serveur Google Voice.
Articles similaires:
- Programmer le pcDuino : Pyduino : Reconnaissance vocale : Allumer/éteindre des sorties numériques à l’aide de la reconnaissance vocale (mode connecté).
- Programmer le pcDuino : Voix : Capturer une image webcam à la voix (en mode connecté) avec LED de visualisation !
- Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !
- Programmer le pcDuino : Audio : Enregistrer un fichier son.
- Programmer le pcDuino : Voix : Lancer une application système à la voix (en mode connecté) !
Articles Liés
- Reconnaissance vocale avec Processing
La reconnaissance vocale est un domaine en pleine expansion qui offre de nombreuses possibilités pour…
- Programmer le pcDuino : Synthèse vocale : L'appui sur un BP déclenche un message en synthèse vocale.
Le pcDuino est un ordinateur de petite taille qui offre une variété de fonctionnalités et…
- Programmer le pcDuino : Synthèse vocale : L'appui sur un BP déclenche un message en synthèse vocale annonçant l'adresse IP du système.
Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de…