Logo Mon Club Elec

Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.

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.

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

Schéma fonctionnel

  • On utilise ici la reconnaissance vocale, la synthèse vocale et une broche E/S en sortie numérique :
Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.

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,
Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.
  • des straps,
Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.
  • 1 x LED verte 5mm,
Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.
  • 1 x résistance 1/4w de 270 Ohms environ,
Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.

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

Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.

Le fichier *.py

Copier/coller ce code dans l’éditeur Geany :

#!/usr/bin/python
# -*- 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
Programmer le pcDuino : Pyduino : Reconnaissance vocale : Test de la reconnaissance vocale (mode connecté) avec LED de visualisation.

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.
Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.