dimanche 4 décembre 2016

Reconnaissance Vocal sous MATLAB



Si l'homme a la faculté de comprendre un message vocal provenant d'un locuteur quelconque, dans des environnements souvent perturbés par le bruit, quelques soient son mode d'élocution, la syntaxe et le vocabulaire utilisés, la machine est-elle capable d'en faire autant ? Une solution peut-elle répondre en globalité à ces difficultés ? Le problème de la reconnaissance vocale est un sujet d'actualité et pour l'instant, seules les solutions partielles sont aptes à répondre aux différentes tâches que la machine doit effectuer.

        La reconnaissance automatique de la parole (RAP), est devenue une technologie de base dans l'IA (Intelligence Artificielle), Cette dernière permet de réaliser des « interfaces vocales », c'est-à-dire des interfaces homme-machine (IHM) où une partie de l'interaction se fait à la voix.

    Mon principal objectif est de comprendre les bases de la RAP,  de réaliser des algorithmes de reconnaissance sous MATLAB et enfin réaliser un prototype de commande vocale sous ARDUINO.



La problématique de la reconnaissance de parole est particulièrement riche et complexe. Il existe en effet un grand nombre de problèmes différents à traiter dans lesquels les formes (mot ou phrase..) à reconnaître sont nombreuses, soumises à une variabilité importante et donc source de confusion.

Les Systèmes de Reconnaissance Automatique de la Parole, avec la diversité des techniques qui les sous-tendent, réagissent inégalement par rapport à la multitude de situations auxquelles ils sont confrontés en milieu réel. Il est intéressant d’observer que dans toute cette panoplie de techniques, il n’existe pas de système adapté à toutes les situations de l’élocution.

Je cherche à comprendre et établir la base de la RAP, en appliquant le modèle LPC (Linear predictive coding), et en fin de compte réaliser des prototypes de RAP.

            Le type de reconnaissance vocale que j'ai testé dans cet exemple concerne la reconnaissance des mots isolés. C'est un système mono locuteur avec phase d’apprentissage et création d’un dictionnaire avec le script " Enregistrementdesreferences.m". Le mot est l’entité élémentaire de la reconnaissance vocale.

            Le deuxième script qui est "enregistrement_des_coefficients.m", permet de calculer les coefficients de prédiction pour chaque échantillon de référence à l'aide de l'analyse LPC, et on les enregistre sous forme de vecteurs pour chaque échantillon une fois pour toute.

Durant la dernière étape " le_script_de_prédiction.m " on enregistre le mot à prédire, et on l’analyse de la même façon que les échantillons de référence, et puis on calcule la distance euclidienne entre le vecteur de ce mot et ceux enregistrés dans le dictionnaire.

Une petite démonstration 😉




Pour télécharger les scripts sous MATLAB Cliquez ici 👈.



7 commentaires:

Unknown a dit…

Bonjour, j'ai trouvé un problème dans la base de données si vous voulez m'envoyer au l'email suivant : maslahi1998@gmail.com

Tiko a dit…

Bonjour,

Tout d'abord veuillez m'excuser pour ma réponse tardive. Puis j'ai un peu de mal à comprendre votre requête, si vous parlez du dictionnaire, alors c'est à vous de le créer avec le script "Enregistrementdesreferences.m".

Unknown a dit…

Bonjour
est ce que vous pouvez m'envoyer le script s'il vous plaît ?

Unknown a dit…

nour.soltani7@gmail.com

Unknown a dit…

oh merci ,j'ai pas vu que vous avez déjà a publié le script

Unknown a dit…

s'il vous plait vous pouvez me dire l'ordre d'execution des différentes scripts.car j'ai eu des problèmes pour le faire fonctionné sur matlab2015 .vous pouvez m'aider ?

Tiko a dit…

Bonjour,

La premier étape est de créer le dictionnaire, pour la phase d'apprentissage, et pour cela il faut lancer le script : "Enregistrementdesreferences.m".

Deuxième étape, c'est de codé vos enchantions de référence constituant votre dictionnaire, et c'est avec le script "enregistrement_des_coefficients.m", permettant de calculer les coefficients de prédiction pour chaque échantillon de référence à l'aide de l'analyse LPC.

Finalement, on lance : " le_script_de_prédiction.m ", à chaque fois qu'on veux tester notre programme c'est d'ailleurs celui là qu'on vois sur la vidéo.

Cordialement,

Tiko