Projet SARAH: POC

SARAHLe Projet SARAH  a pour objectif d’interfacer de la reconnaissance et synthèse vocale avec un système de domotique. L’idée étant de ne pas réinventer la roue mais d’utiliser les technos actuelles qui commencent à être matures. Le nom vient de la série TV Eureka dans laquelle une IA nommée SARAH (Self Actuated Residential Automated Habitat) contrôle un vieux bunker transformé en habitation.

Synthèse Vocale

Il existe de nombreux outils de synthèse vocale. Le plus performant s’appelle Loquendo. Son principe est de mélanger des enregistrements de voix avec de la synthèse vocale. En jouant sur l’intonation il est possible d’obtenir un rendu très réaliste.

Loquendo

Le soft est codé en C++ avec un portage en Java. L’appli java Director permet la construction de ses phrases plus simplement. Dans la pratique, j’ai eu beaucoup de mal à intégrer Loquendo dans Eclipse. Il faut configurer le projet pour utiliser des librairies natives et des options de sécurité avancées. Bref, après m’être battu un long moment, je suis parti sur la solution process externe (avec les joies de la gestion de l’encodage des caractères).

Pour obtenir un résultat sympa, il faut bien ajuster ses phrases.

  • Certains mots étant anglais: « Recherche sur allociné le film Transformers »
  • Certaines vocalisations étant étranges: « J’ai obtenu 1 résultat » le « 1 » est prononcé de manière étrange
  • Certaines phrases plus simples: « J’ai trouvé » vs « J’ai obtenu »
  • Il faut ensuite rajouter de l’âme: « {Voila!} j’ai trouvé 5 résultats {hum} voici la liste {respiration} … »

Au final, le résultat est sympathique, je regrette juste qu’il n’y ait pas plus de locutions utilisables dans mon cas d’usage. J’ai essayé de rentrer en contact avec la société afin d’obtenir plus d’informations sur le produit, tarif, licence développeur mais je n’ai eu aucune réponse … j’irai peut-être à la Vocal Expo de Paris pour les rencontrer.

Je surveille en parallèle le produit INVOX de la société Vocali qui propose une box basée sur Loquendo ASR et TTS pour faire de l’interaction avec des composants domotiques. Mais le produit est très cher, la version « light » (pour les particuliers) n’est pas encore disponible, et j’ai l’impression qu’il est difficile de se brancher avec le système.

Reconnaissance Vocale

Dans ce domaine il existe aussi de nombreux systèmes de reconnaissance vocale. Loquand propose ASR (Automatic Speech Recognition), mais je n’ai pas eu la possibilité de le tester.

Le produit « grand public » est Dragon Naturally Speaking de Nuance dont la qualité de reconnaissance est impressionnante. Mais l’inconvénient est son flou dans les versions: 9, 10, 11 … pro, home, … Bref, au final ce produit est trop end-user et ne permet pas de simplement faire: « <Recherche> [sur] <Allocine> XYZ » exécute le programme ABC avec la variable XYZ. (La version 10 permet des commandes avec variables XYZ mais pas de script).

Au final, je suis passé sur le système de reconnaissance vocale de Vista couplé à un éditeur de Macro. Le système est simple, gratuit avec une licence de Vista et capable d’exécuter des programmes avec paramètre.

Concrètement, je fais un simple wget sur l’URL de mon système domotique.

Domotique

IJenkoPour le système domotique, j’ai commandé une box IJenko. Je vais essayer de me connecter avec leur API REST afin de contrôler les composants. Vous trouverez plus de détails sur la société dans un précédent billet.

Pour la partie microphone, je continue à rechercher des informations, tests, … sur le produit Voice Tracker Array Microphone de Acoustic Magic.

Intelligence

Jalios

J’ai choisi d’utiliser la plateforme Jalios JCMS pour développer l’intelligence du système.

Pour le moment, j’ai développé le plugin SARAH qui utilise une arborescence de Catégories (Sarah > Recherche > Allociné) pour retrouver les objets effectuant l’action.

J’ai crée un premier type JCMS WebHarvest qui:

  • prend en entrée une Map de variables couplée à un script XML
  • et en sortie fournit un String à vocaliser.

La librairie WebHarvest est un moyen très élégant d’aller chercher des informations sur le web. Son utilisation reste un peu étrange.

Conclusion

Ce petit POC (Proof of Concept) permet de valider que tous les élements se connectent bien entre eux. La prochaine étape sera de tester avec l’API IJenko et de trouver une machine « Vista » pas trop chère, silencieuse et basse consommation (je vais peut-être recycler un portable).

9 pensées sur “Projet SARAH: POC

  • 30 septembre 2010 à 16 h 26 min
    Permalink

    Je suis preneur de retours d’expérience de lecteurs ayant testé le Voice Tracker Array Microphone de Acoustic Magic.

    Surtout que j’ai découvert que le Microsoft Kinect était composé d’un Microphone Array et fonctionnerai sous windows.

    Répondre
  • Ping : Projet SARAH: IJenko « jAlias

  • 15 mars 2011 à 17 h 38 min
    Permalink

    Bonjour,
    Très intéressant, je n’ai plus vraiment le temps de faire ce genre de recherche… mais un jour peut-être. Est-ce que je peux mettre un lien vers votre site sur le mien ?

    Cordialement

    Répondre
  • 15 mars 2011 à 17 h 43 min
    Permalink

    J’ai reçu le matériel il y a quelques semaines je prévois de présenter l’étape 3 sous peu si je trouve le temps. Je me suis un peu battu avec le câblage audio.

    Répondre
  • 14 mai 2013 à 15 h 44 min
    Permalink

    Bonjour à tous,

    Je suis intéressé par le retour d’expérience des personnes ayant acheté ou testé le Voice Tracker Array Microphone de Acoustic Magic. Je recherche un micro de ce type (array) pour me instaurer une domotique basé sur la voix (utilisation du projet S.A.R.A.H). Donc si vous avez des conseilles à me donner , une marque de microphone ou autres je suis preneur.

    Merci de vos retours, très important pour moi

    Cordialement,

    Répondre
  • 14 mai 2013 à 15 h 52 min
    Permalink

    Honte sur moi j’ai pas encore testé le Voice Tracker Array Microphone de Acoustic Magic ^^.

    Le Kinect marche tellement bien.

    Répondre
  • 22 mai 2013 à 9 h 47 min
    Permalink

    Je suis support dans l’entreprise Domotique Domintell. Notre système dispose d’une interface ‘light protocole’ présente dans plus de 1000 installations. Pour le moment, ce sont des interface iOS et Androïd qui utilisent ce code, mais SARAH pourrait en faire de même. Il suffit de le faire tourner sur un Raspberry disposant d’un micro et connecté au réseau local et le tour est joué. N’hésitez pas à me contacter si vous souhaitez une valise de démonstration équipée de l’interface DETH02, certain de nos utilisateurs sont fans de SARAH, et le light protocole est très simple à implémenter. support.domintell@trump.be
    SARAH pourrait aider certain utilisateur Domintell à mobilité réduite. Comment puis-je vous contacter? Bravo pour ce beau développement.
    Michaël.

    Répondre
  • 22 mai 2013 à 11 h 13 min
    Permalink

    Bonjour et Merci,

    La partie client tourne en C# et donc nécessite une machine windows. La partie serveur peut tourner sur un Raspberry (en théorie)

    Un des cas d’usage est effectivement le secteur de la eSanté. Maintenant le framework est à la dispo de chacun et je met les plugins développé dans le store de SARAH.

    Répondre
  • Ping : S.A.R.A.H | s-a-r-a-h-architecture

Laisser un commentaire

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