Logo Mon Club Elec

Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !

Le pcDuino est un ordinateur de petite taille qui offre une variété de fonctionnalités et de possibilités. Il est particulièrement intéressant pour les développeurs qui souhaitent tester leurs applications et leurs projets. Dans cet article, nous allons nous concentrer sur la possibilité de tester la reconnaissance vocale en mode connecté sur le pcDuino. Nous verrons comment configurer le pcDuino pour le faire et quels sont les avantages et les inconvénients de cette méthode. Nous verrons également comment le pcDuino peut être utilisé pour d’autres applications liées à la reconnaissance vocale.

Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !

Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !

Ce que l’on va faire ici

  • Dans ce code, je vous montre comment tester simplement la reconnaissance vocale avec ma librairie Pyduino. Avec la reconnaissance vocale, on entre dans un champ de possibilités vraiment sympa et vous allez voir que les choses ne sont pas très compliquées : toute la « cuisine » compliquée est intégrée dans les fonctions de la librairie !
  • Une reconnaissance vocale avec Pyduino se fait en 2 étapes :
    • tout d’abord enregistrement d’un fichier audio avec le fonction recordSound() pendant la durée voulue : 3 secondes suffisent.
    • puis analyse vocale du fichier par envoi du fichier son vers le serveur de reconnaissance vocale avec la fonction analyzeVoice() : la fonction renvoie la chaîne reconnue !
  • Le serveur « Google Voice » utilisé a un taux de reconnaissance très bon de l’ordre de 90% avec des voix différentes et sans paramétrages préalable ! La réponse du serveur est également rapide.
  • Pour plus de détails sur la reconnaisance vocale, voir l’instruction Pyduino analyzeVoice()

Pré-requis

Schéma fonctionnel

  • Ici, l’entrée audio permet la capture du son et son analyse vocale par connexion au serveur distant :
Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !

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

E/S

  • aucun matériel

Instructions de montage

  • Connecter également le micro en entrée (le plus simple étant une webcam avec micro)
  • On suppose également que le pcDuino est connecté au réseau local avec accès internet disponible.

Le montage à réaliser

Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !

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
# Juin 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# test analyzeVoice

from pyduinoMultimedia import * # importe les fonctions Arduino pour Python

# entete declarative
#noLoop=True

#— setup —
def setup():

        return
# — fin setup —

# — loop —
def loop():

        filepathAudio=homePath()+dataPath(AUDIO)
        filename=« test.wav »
        #print (filepathAudio+filename)

        print (« ——————————–« )
        print(« ********* Test de reconnaissance vocale ********* » )
        print (« ===> Dites quelque chose ! »)
        print (« > Enregistrement du fichier voix (3 sec.) … »)

        recordSound(filepathAudio+filename,3) # enregistre son fichier voulu et duree voulue en secondes

        #playSound(filepathAudio+filename)

        chaine=analyzeVoice(filepathAudio+filename) # reconnaissance vocale

        if chaine==«  »:
                #speak(« Vous n’avez rien dit. »)
                print(« Vous n’avez rien dit. »)
        else:
                #speak(« Vous avez dit  » + chaine)
                print(« 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/AnalyzeVoice.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 :
    • Juste après le message vous y invitant, parlez ! (vous avez 3 secondes)
    • la chaîne correspondante s’affiche ensuite
Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !

Discussion technique

  • Une fois les niveaux d’entrée bien réglés, le résultat est impressionnant !
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é.