27
Soutenance du Stage d’application Mise en place d’une API de reconnaissance vocale Soutenu devant les membres de jury Pr Mohammed Berrada Pr Nour Houda Chaoui Mejhed 11/06/2022 Stage d'application Soft Centre Présenté par : Salma ES-SALMANI Encadré par : Abdelwahed El Mourabit

Speech Recognition API

Embed Size (px)

DESCRIPTION

Speech Recognition API based on HTK

Citation preview

Page 1: Speech Recognition API

Soutenance du Stage d’application

 Mise en place d’une API de reconnaissance vocale

Soutenu devant les membres de jury

• Pr Mohammed Berrada• Pr Nour Houda Chaoui Mejhed

12/04/2023 Stage d'application Soft Centre

Présenté par :

Salma ES-SALMANI

Encadré par :

Abdelwahed El Mourabit

Page 2: Speech Recognition API

212/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

Principe de la reconnaissance vocale

Démarche de réalisation du projet

Contexte du projet et problématique

Présentation de l’outil réalisé

Conclusion

Page 3: Speech Recognition API

La reconnaissance vocale

3

Conclusion

12/04/2023 Stage d'application Soft Centre

Centre de R&D spécialisé dans le développement logiciel

Fondé en 2010

Présentation de l’organisme d’accueil

Contexte du projet & Problématique

Présentation de l’outil

Démarche de réalisation du projet

Page 4: Speech Recognition API

412/04/2023 Stage d'application Soft Centre

Reconnaissance vocale ConclusionPrésentation de

l’organisme d’accueil

Contexte du projet & Problématique Présentation de

l’outil Démarche de réalisation du projet

Page 5: Speech Recognition API

512/04/2023 Stage d'application Soft Centre

Mode de fonctionnement

Reconnaissance vocale ConclusionPrésentation de

l’organisme d’accueil

Contexte du projet & Problématique Présentation de

l’outil Démarche de réalisation du projet

Page 6: Speech Recognition API

612/04/2023 Stage d'application Soft Centre

• Les Interfaces Homme-Machine (IHM) évoluent vers une

communication plus large et pervasive

• La reconnaissance vocale permet de réaliser des interfaces vocales où

l’interaction se fait via la voix. L’interface devient alors plus intuitive et

moins encombrante pour l’utilisateur dans son quotidien.

Contexte du projet & Problématique

Présentation de l’organisme d’accueil

Reconnaissance vocale ConclusionPrésentation de

l’outil Démarche de réalisation du projet

Page 7: Speech Recognition API

712/04/2023 Stage d'application Soft Centre

• Comment offrir aux développeurs une API simple et robuste capable

de reconnaître des mots prononcés dans n’importe quelle langue ?

• Dans le cas d’une application mobile, comment reconnaître n’importe

quelle voix dans des conditions acoustiques variables et souvent

bruyantes ?

Problématique

Contexte du projet & Problématique

Présentation de l’organisme d’accueil

Reconnaissance vocale ConclusionPrésentation de

l’outil Démarche de réalisation du projet

Page 8: Speech Recognition API

812/04/2023 Stage d'application Soft Centre

Réalisation d’une API Java de reconnaissance vocale

Reconnaissance de plusieurs dictionnaires de mots (sélecteur de menus)

Optimisation des performances pour un niveau de qualité à la hauteur d’un déploiement industriel

Contexte du projet & Problématique

Présentation de l’organisme d’accueil

Reconnaissance vocale ConclusionPrésentation de

l’outil Démarche de réalisation du projet

Page 9: Speech Recognition API

912/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

Problématique La reconnaissance vocale

Démarche de réalisation du projet

• Problème de base : identifier le sens d’un flux de paroles prononcées

souvent dans un bruit de fond plus ou moins important

• Approche probabiliste :

Page 10: Speech Recognition API

Les modèles de Markov cachés

1012/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

Problématique La reconnaissance vocale

Démarche de réalisation du projet

• Les Modèles de Markov Discrets sont

basés sur une suite (ou boucle) d’états

dans lesquels on navigue par des

probabilités de transition et suivant des

observations

• Grâce à ces modèles, on peu connaître,

sachant l’observation passée quelle va

être la probabilité des observations

futures.

Page 11: Speech Recognition API

1112/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

Problématique Reconnaissance vocale

Démarche de réalisation du projet

Page 12: Speech Recognition API

1212/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

Problématique Reconnaissance vocale

Démarche de réalisation du projet

HTK

Hidden Markov Model Toolkit est un ensemble d’outils portables permettant la création et la manipulation des modèles de Markov cachés.

HTK est principalement utilisé dans le domaine de la recherche de la reconnaissance vocale bien qu’il soit tout à fait utilisable dans de nombreuses autres applications telles que la synthèse vocale, la reconnaissance de l’écriture ou la reconnaissance de séquences d’ADN.

Page 13: Speech Recognition API

1312/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

Problématique Reconnaissance vocale

Démarche de réalisation du projet

Sphinx 4

Sphinx-4 est une librairie de reconnaissance vocale écrite entièrement en Java.

Sphinx-4 est hautement configurable. La reconnaissance de Sphinx-4 supporte notamment les mots isolés et les phrases (utilisation de grammaires). L’architecture de Sphinx-4 est modulable pour permettre de nouvelles recherches et pour tester de nouveaux algorithmes.

Page 14: Speech Recognition API

1412/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

ProblématiqueDémarche de réalisation du projet

Reconnaissance vocale

Outil de reconnaissance

HTK a été choisi parmi les 2 logiciels grâce à son architecture flexible et sa

disponibilité en ligne de commande, ce qui lui permet de s’intégrer

facilement dans n’importe quelle architecture logicielle.

La documentation détaillée disponible ainsi que le support de Microsoft est

un autre plus pour justifier ce choix.

Page 15: Speech Recognition API

1512/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

ProblématiqueDémarche de réalisation du projet

Reconnaissance vocale

Language de programmation

On a choisi le langage Java pour l’API alors que le C++ est plus naturel avec

l’outil HTK :

• Garbage Collector qui donne un meilleur time to market et moins de bugs

• Process de build dure en moyenne 7 minutes, par rapport à 20h pour C++

à cause des outils tels que Ant et Maven

• Portabilité du code source qui pourra s’exécuter aisément sur un poste

local équipé de Windows ou un serveur en Linux

• Meilleur support pour l’I/O, networking, XML/HTML, database

connectivity ...

Page 16: Speech Recognition API

1612/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

ProblématiqueDémarche de réalisation du projet

Reconnaissance vocale

ORM

Hibernate est un ORM qui apporte une solution aux

problèmes d'adaptation entre le paradigme objet et

les SGBD en remplaçant les accès à la base de

données par des appels à des méthodes objet de

haut niveau.

La quantité de code ainsi épargnée est très

importante d'autant que ce code est généralement

fastidieux et redondant.

Page 17: Speech Recognition API

1712/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

ProblématiqueDémarche de réalisation du projet

Reconnaissance vocale

Persistance

MySQL est un serveur de bases de données

relationnelles SQL développé dans un souci de

performances élevées en lecture. Il est multi-thread

et multi-utilisateur.

Le schéma simple des tables de la base de donnée

permet une transition éventuelle en format clé-valeur

(NoSQL) pour assurer une meilleure scalabilité du

service

Page 18: Speech Recognition API

1812/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’outil

Contexte du projet &

ProblématiqueDémarche de réalisation du projet

Reconnaissance vocale

Audio Input

Audacity est un logiciel libre pour la manipulation de données audio numériques. Il

permet d'enregistrer du son numérique par le biais des entrées ligne/micro/cd des

cartes sons. Il permet d'éditer (copier, coller, sectionner…) les sons sur plusieurs

pistes, et il est accompagné de divers filtres et effets : pitch, tempo, réduction de

bruit, égaliseur, filtres de Fourier, …

Ce logiciel a été utilisé pour la capture et la préparation des samples à mettre dans

la base d’apprentissage et de test

Page 19: Speech Recognition API

1912/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

Reconnaissance vocale ConclusionDémarche de

réalisation du projetContexte du projet & Problématique Présentation de

l’outil

Page 20: Speech Recognition API

2012/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionPrésentation de l’application

Contexte du projet &

Problématique

Reconnaissance vocale Présentation de l’outil

Page 21: Speech Recognition API

2112/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionDémarche de réalisation du projet

Contexte du projet &

Problématique

Reconnaissance vocale Présentation de

l’application

Page 22: Speech Recognition API

2212/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionDémarche de réalisation du projet

Contexte du projet &

Problématique

Reconnaissance vocale Présentation de

l’application

Page 23: Speech Recognition API

2312/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionContexte du

projet & Problématique

Reconnaissance vocale

Pour satisfaire le seuil défini dans le cahier de charges, il a fallu optimiser les paramètres de traitement du signal sonore (échantillonnage, …) et les adapter aux spécifités du locuteur (origine ethnique, bruit de fond …)

On propose alors au développeur le choix entre 2 algorithmes pour améliorer le taux de reconnaissance :

• A* qui utilise l’évaluation heuristique pour estimer le meilleur chemin entre 2 nœuds.

Démarche de réalisation du projet Présentation de

l’application

Page 24: Speech Recognition API

2412/04/2023 Stage d'application Soft Centre

Présentation de l’organisme d’accueil

ConclusionContexte du

projet & Problématique

Reconnaissance vocale

• Un algorithme génétique

qui, grâce à un procédé

de sélection naturelle

appliqué à une population

de solutions potentielles,

approche la solution par

bonds successifs

(brassage).

Démarche de réalisation du projet Présentation de

l’application

Page 25: Speech Recognition API

Perspectives

2512/04/2023 Stage d'application Soft Centre

Conclusion

Présentation de l’organisme d’accueil

Contexte du projet &

Problématique

Reconnaissance vocale

Démarche de réalisation du projet

Présentation de l’application

Automatiser l’étape d’alimentation des bases de données d’apprentissage et de test, via une application mobile par exemple, pour un meilleur taux de reconnaissance

Héberger l’API dans le Cloud (IAAS/PAAS) pour une gestion transparente de la montée en charge, surtout dans un environnement distribué

Page 26: Speech Recognition API

Conclusion

2612/04/2023 Stage d'application Soft Centre

Conclusion

Présentation de l’organisme d’accueil

Contexte du projet &

Problématique

Reconnaissance vocale

Démarche de réalisation du projet

Présentation de l’application

• Bilan professionnel : interface entre la recherche académique et les

industriels du secteur TI pour produire du logiciel innovant

• Bilan personnel : expérience intéressante, rencontres enrichissantes

Page 27: Speech Recognition API

Questions - Réponses?

12/04/2023 27Stage d'application Soft Centre