|
| Opennab et text-to-speech | |
| | Auteur | Message |
---|
oaz Silver Nabz
Localisation : Haute-Garonne Nabaztag : oaz (v2) Nbr de messages : 352 Carottes : 6587
| Sujet: Opennab et text-to-speech Lun 1 Oct 2007 - 0:35 | |
| Je suis en train de bosser sur une des faiblesses d'OpenNab : l'absence de text-to-speech. J'aimerais connaitre l'avis de potentiels utilisateurs. De mon point de vue, la seule solution viable c'est celle où des utilisateurs avancés (ceux qui installent OpenNab sur une machine linux qui traine allumée 24h/24 dans leur salon par exemple) y trouveront leur compte aussi bien que ceux qui n'utilisent qu'un hébergement apache/php de base. Le plus gros problème est bien sûr pour ceux qui utilisent un hébergement mutualisé avec impossiblité d'installer des binaires perso qui feraient la conversion texte->parole (faire ça en php pur, même pas en rêve). Constatant par ailleurs qu'il existe sur le web diverses démos en ligne de text-to-speech, je suis parti dans l'idée de faire en sorte qu'OpenNab fasse le relai entre le lapin et les données audio produites par ces démos. J'en arrive pour l'instant à la solution suivante. Dans opennab.ini, on configure un ensemble de services TTS. Example : - Code:
-
[TTS:unservicetts] Method=POST Host=www.jefaisdutts.com Path=/cest/ici/la/demo Data="voice=lavoixquitue&text=%s&validation=Vasyparle" Referer=http://www.jefaisdutts.com/index.php ContentType=audio/mp3
[TTS:unautreservicetts] .....
Cette configuration revient à indiquer la où les requêtes http à utiliser pour simuler une utilisation d'un service de text to speech externe. Au niveau opennab, un plugin expose une hiérarchie virtuelle sous http://monserver.com/broad/tts/... Par exemple, pour récupérer le fichier audio correspondant au texte "bonjour madame" prononcé par le service de TTS "unservicetts", il suffit de faire un http get sur "http://monserver.com/broad/tts/unservicetts/bonjour+madame" Ce plugin fournit aussi une api pour générer l'appel text-to-speech sur un lapin : http://monserver.com/api.php?sn=xxxxxxxxxxxx&speaker=unservicetts&tts=bonjour+madame Cette solution aurait l'avantage de pouvoir être utilisée avec un système de tts local dans le cas où on a la main sur une machine (il suffirait d'encapsuler l'appel au binaire adéquat dans un petit script php) et, par ailleurs, de pouvoir utiliser, avec modération, des services tiers quand on n'a rien d'autre à se mettre sous la dent. Pour l'instant j'ai réussi à faire fonctionner le truc avec : * http://www.syvum.com/text_to_speech/ * http://www.research.att.com/~ttsweb/tts/demo.php * http://www.multitel.be/TTS/layout.php?page=eLite_demo * http://demo.acapela-group.com/ A défaut d'autres suggestions, OpenNab 0.08 sortira avec ces trucs là (quand j'aurai le temps de mettre un peu les choses au propre). Je ne compte pas mettre de config de "vrai" service TTS dans le opennab.ini livré car je ne suis pas tellement sûr d'en avoir le droit (vous en pensez quoi de l'aspect légal de tout ça ?) mais de filer les diverses configs qui marchent a posteriori, à titre d'exemple "pour utilisation personnelle". | |
| | | human enemy Lapin nain
Localisation : strasbourg Nabaztag : noobie Nbr de messages : 38 Carottes : 6306
| Sujet: Re: Opennab et text-to-speech Mar 2 Oct 2007 - 12:54 | |
| - Citation :
- vous en pensez quoi de l'aspect légal de tout ça ?)
En ce qui concerne l'aspect légal, je ne sais pas. Mais comme le dit l'adage : dans le doute abstiens-toi. En ce qui concerne les aspects techniques, cela me semble être la voie la plus polyvalente. Et pour finir, une fois la 0.08 sortie, je ferai un exécutable windows qui exploite ce nouveau plugin pour ceux que cela intéresse. | |
| | | Le_Zepf Platinum Nabz
Localisation : Paname Nabaztag : LeLapinduZepf (v1) - LeLapinpinduZepf (v2) - Latoopine (v2 en stage) Nbr de messages : 1489 Carottes : 6838
| Sujet: Re: Opennab et text-to-speech Mar 2 Oct 2007 - 18:20 | |
| Je te rejoins sur la logique de construction du plug in... de plus, idéalement il vaut mieux que tu distribues a posteriori les configs indépendament du ini pour éviter de voir remonter à ton niveau des abuses qui pourraient être faits... Par ailleurs, à ta dispo pour tester, j'ai pas mal de scripts domotiques qui génèrent du texte lu par le PC via un text-to-speech en local, ça serait plus fun via le lapin | |
| | | oaz Silver Nabz
Localisation : Haute-Garonne Nabaztag : oaz (v2) Nbr de messages : 352 Carottes : 6587
| Sujet: Re: Opennab et text-to-speech Mar 2 Oct 2007 - 21:14 | |
| Ok la 0.08 contiendra donc le plugin tts et les configs seront distribuées séparément. Dans la foulée j'ai eu une autre idée de plugin dans l'optique d'un lapin-chatbot : un plugin "audio record bypass" pour détourner les enregistrements audio faits par l'utilisateur du lapin vers une application cliente. Je pars dans l'idée d'une application cliente représentant le bot. A son démarrage, elle appelle http://monserver.com/api.php?sn=xxxxxxxxxxxx&audiorecordbypass=on pour court-circuiter les entrées audio qui n'iront donc pas chez violet. A intervalle régulier, elle appelle http://monserver.com/api.php?sn=xxxxxxxxxxxx&getaudiorecord Cet appel : - renvoie du vide ou un code d'erreur (à définir) s'il n'y a aucun fichier audio à traiter - renvoie le fichier wav enregistré s'il y en a eu un depuis le dernier appel Avec ce fichier elle effectue la reconnaissance vocale et l'intelligence du bot via ce que human enemy a déjà fait sur Sphinx4nabs/NaBBoT . Le text to speech est renvoyé au lapin via un appel http://monserver.com/api.php?sn=xxxxxxxxxxxx&speaker=unservicetts&tts=<la_reponse_du_bot> Quand on quitte l'application cliente elle fait un appel http://monserver.com/api.php?sn=xxxxxxxxxxxx&audiorecordbypass=off pour remettre la reco vocale de Violet en ordre de marche. Un tel plugin permettrait l'utilisation d'un lapin en bot en conservant un opennab hébergé à distance. En faisant un package adéquat pour l'application à faire tourner en local on pourrait rendre le lapin/bot accessible au plus grand nombre. | |
| | | human enemy Lapin nain
Localisation : strasbourg Nabaztag : noobie Nbr de messages : 38 Carottes : 6306
| Sujet: Re: Opennab et text-to-speech Mer 3 Oct 2007 - 21:00 | |
| Personnellement je suis preneur d'un tel plugin. Cela permettra des simplifications de NaBBoT. Dans quelques semaines je sortirai une version compatible avec ce plugin. Mais on peut peut-être faire encore mieux ... Car si du TTS ou de la reconnaissance vocale ne sont pas possibles en PHP, il existe un moteur aiml "PHP" connu sous le nom de programme E. C'est un Open Source dispo sous Source Forge comme OpenNab http://sourceforge.net/project/showfiles.php?group_id=43190 Finalement, pour ceux qui n'on pas de serveur à la maison (et ils sont nombreux je sais ...) c'est vraiment dommage qu'il n'y ai pas (à ma connaissance) de démo de reconnaissance vocale en ligne. Et pour finir félicitations - Citation :
- @Oaz...
Le développement de Opennab, te vaut la disctinction mensuelle de Special Nabz. Félicitations ! | |
| | | jbx028 Gold Nabz
Localisation : Dans le sept huit Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz..... Nbr de messages : 677 Carottes : 7132
| Sujet: Re: Opennab et text-to-speech Mer 3 Oct 2007 - 21:24 | |
| - Citation :
- un plugin "audio record bypass"
OUI OUI OUI OUI OUI OUITu connais Pandorabot (www.pandorabots.com) ? C'est une implémentation en LISP du fameux alicebot qui permet de créer des bots en utilisant le langage AIML. Il y a une api REST qui permet de dialoguer via ce serveur (http://www.pandorabots.com/botmaster/en/faq ..tout en bas) Ce serait pas mal de l'implémenter dans ce plug in. Pour ma part, j'ai écrit il y a quelque temps maintenant, un webservice en asp.net qui permet d'interroger l'api pandorabot et qui envoie la réponse directement sur le nabz (http://www.nabzpandorabots.somee.com/wsnabzpandorabots.asmx?op=sendmessage_botid) Toutefois, ce webservice n'implémente pas (encore) le paramètre CUSTID qui permet d'avoir une continuitée dans la conversation (encore une fois, voir faq). Le jour ou tout cela fonctionne, j'héberge tout ça dans une dedibox et je pourrais enfin utiliser mon nabz comme un bot mais d'une manière autonome (sans qu'un pc à la maison ne soit allumé). Patience, Patience | |
| | | Le_Zepf Platinum Nabz
Localisation : Paname Nabaztag : LeLapinduZepf (v1) - LeLapinpinduZepf (v2) - Latoopine (v2 en stage) Nbr de messages : 1489 Carottes : 6838
| Sujet: Re: Opennab et text-to-speech Mer 3 Oct 2007 - 22:57 | |
| OUIIIIIIIIIIIIIIIIIIIIIIIIIII et dis moi qu'en plus, en fonction de la reconnaissance du contenu, je pourrais appeler une URL :p | |
| | | oaz Silver Nabz
Localisation : Haute-Garonne Nabaztag : oaz (v2) Nbr de messages : 352 Carottes : 6587
| Sujet: Re: Opennab et text-to-speech Mer 3 Oct 2007 - 23:39 | |
| Adjugé pour "audio record bypass" qui constituera donc le contenu de la 0.08 avec le TTS. Pas de blocage technique, juste besoin d'un peu de temps.
Pour ce qui est des bot, je ne vois pas encore ce que cela implique d'avoir une intégration plus poussée de ce genre de techno dans OpenNab mais on pourra toujours voir par la suite : je constate qu'il y a suffisamment d'experts dans la salle. | |
| | | jbx028 Gold Nabz
Localisation : Dans le sept huit Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz..... Nbr de messages : 677 Carottes : 7132
| Sujet: Re: Opennab et text-to-speech Jeu 4 Oct 2007 - 9:49 | |
| La version 0.08 avant ce soir je suppose :-)
J'ai fait de l'aiml de manière professionnel et personnel durant près de 3 ans. Si ya besoin d'un petit coup de main, je suis ok.
Of course et comme tout le monde içi, je ne peux pas vraiment respecter un planning mais bon entre 2 voyages dans second life pourquoi pas :-)
Ce projet devient de plus en plus interressant. T'as pas volé ton Special Nabz !!
Allez c'est noël avant l'heure : Je suis pour que Human Enemy soit aussi Special Nabz !! son taf sur sphinx est remarquable.
Vivement la suite... | |
| | | jbx028 Gold Nabz
Localisation : Dans le sept huit Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz..... Nbr de messages : 677 Carottes : 7132
| Sujet: Re: Opennab et text-to-speech Jeu 11 Oct 2007 - 13:42 | |
| oaz, Je suis en train d'écrire un résident windows pour ton scénario décrit plus haut. Il y a tout de même un détail que je ne comprend pas : - Citation :
- A intervalle régulier, elle appelle
http://monserver.com/api.php?sn=xxxxxxxxxxxx&getaudiorecord Cet appel : - renvoie du vide ou un code d'erreur (à définir) s'il n'y a aucun fichier audio à traiter - renvoie le fichier wav enregistré s'il y en a eu un depuis le dernier appel - Je ne trouve pas le plug in getaudiorecord - Que veux tu dires par "renvoie le fichier wav", tu veux dire le nom ou bien le fichier wav est téléchargé à l'appel de cette url ? Merci pour tes précisions | |
| | | oaz Silver Nabz
Localisation : Haute-Garonne Nabaztag : oaz (v2) Nbr de messages : 352 Carottes : 6587
| Sujet: Re: Opennab et text-to-speech Jeu 11 Oct 2007 - 17:39 | |
| - jbx028 a écrit:
- Je ne trouve pas le plug in getaudiorecord
Il n'y en a pas : c'est un appel d'api géré par le plugin "audio record bypass". Pour info, les paramètre d'api n'ont rien à voir avec les noms des plugins. Chaque plugin peut intercepter les appels d'api qu'il veut. D'ailleurs il est tout à fait possible que 2 plugins réagissent au même appel, voire au même paramètre d'appel. - jbx028 a écrit:
- - Que veux tu dires par "renvoie le fichier wav", tu veux dire le nom ou bien le fichier wav est téléchargé à l'appel de cette url ?
C'est le "fichier" wav qui est renvoyé. Je mets des guillemets car l'appel http renvoie surtout un contenu binaire avec le Content-type adéquat. S'il n'y a aucune donnée à récupérer, il renvoie une erreur 404. Ce type d'appel est le plus efficace car il suffit d'une seule requete http pour récupérer le contenu audio. | |
| | | jbx028 Gold Nabz
Localisation : Dans le sept huit Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz..... Nbr de messages : 677 Carottes : 7132
| Sujet: Re: Opennab et text-to-speech Jeu 11 Oct 2007 - 20:49 | |
| Merci. Entre temps, j'ai regardé comment fonctionnait les fichiers php (j'aurais pu le faire avant de poser la question...). Pour info mon script avance. Je ne vais finalement pas utiliser l'aiml (via pandorabot) car ce n'est pas tellement adapté à ce type d'interaction (temps nécessaire entre la question et la réponse, qualitée de la reconnaissance, etc...) mais j'utilise un fichier de Q&A (messages.ini) ou la réponse peut être un texte en dur, une radio, un feed rss, ou bien une url. Cela va ressembler un peu à ce que j'ai fait avec mon appli ppc [url=Figurez-vous-que-mon-lapin-me-repond-lorsque-je-lui-parle-t1648.htm] https://nabaztag.forumactif.fr/API-f3/Figurez-vous-que-mon-lapin-me-repond-lorsque-je-lui-parle-t1648.htm [/url] ...mais en plus poussé tout de même. à suivre | |
| | | Contenu sponsorisé
| Sujet: Re: Opennab et text-to-speech | |
| |
| | | | Opennab et text-to-speech | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |