Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez
 

 Opennab et text-to-speech

Aller en bas 
AuteurMessage
oaz
Silver Nabz
Silver Nabz


Localisation : Haute-Garonne
Nabaztag : oaz (v2)
Nbr de messages : 352
Carottes : 4774

Opennab et text-to-speech Empty
MessageSujet: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeLun 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".
Revenir en haut Aller en bas
http://barrejadis.azeau.com/
human enemy
Lapin nain
Lapin nain
human enemy

Localisation : strasbourg
Nabaztag : noobie
Nbr de messages : 38
Carottes : 4493

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeMar 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.
Revenir en haut Aller en bas
Le_Zepf
Platinum Nabz
Platinum Nabz
Le_Zepf

Localisation : Paname
Nabaztag : LeLapinduZepf (v1) - LeLapinpinduZepf (v2) - Latoopine (v2 en stage)
Nbr de messages : 1489
Carottes : 5025

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeMar 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 yellownabzwink
Revenir en haut Aller en bas
http://www.zaepffel.net
oaz
Silver Nabz
Silver Nabz


Localisation : Haute-Garonne
Nabaztag : oaz (v2)
Nbr de messages : 352
Carottes : 4774

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeMar 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.
Revenir en haut Aller en bas
http://barrejadis.azeau.com/
human enemy
Lapin nain
Lapin nain
human enemy

Localisation : strasbourg
Nabaztag : noobie
Nbr de messages : 38
Carottes : 4493

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeMer 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 yellownabzsmile

Citation :
@Oaz...
Le développement de Opennab, te vaut la disctinction mensuelle de Special Nabz.
Félicitations !
Revenir en haut Aller en bas
jbx028
Gold Nabz
Gold Nabz
jbx028

Localisation : Dans le sept huit
Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz.....
Nbr de messages : 677
Carottes : 5319

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeMer 3 Oct 2007 - 21:24

Citation :
un plugin "audio record bypass"

OUI OUI OUI OUI OUI OUI

Tu 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
Revenir en haut Aller en bas
http://twitter.com/jbx028
Le_Zepf
Platinum Nabz
Platinum Nabz
Le_Zepf

Localisation : Paname
Nabaztag : LeLapinduZepf (v1) - LeLapinpinduZepf (v2) - Latoopine (v2 en stage)
Nbr de messages : 1489
Carottes : 5025

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeMer 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
Revenir en haut Aller en bas
http://www.zaepffel.net
oaz
Silver Nabz
Silver Nabz


Localisation : Haute-Garonne
Nabaztag : oaz (v2)
Nbr de messages : 352
Carottes : 4774

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeMer 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.
Revenir en haut Aller en bas
http://barrejadis.azeau.com/
jbx028
Gold Nabz
Gold Nabz
jbx028

Localisation : Dans le sept huit
Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz.....
Nbr de messages : 677
Carottes : 5319

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeJeu 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...
Revenir en haut Aller en bas
http://twitter.com/jbx028
jbx028
Gold Nabz
Gold Nabz
jbx028

Localisation : Dans le sept huit
Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz.....
Nbr de messages : 677
Carottes : 5319

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeJeu 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
Revenir en haut Aller en bas
http://twitter.com/jbx028
oaz
Silver Nabz
Silver Nabz


Localisation : Haute-Garonne
Nabaztag : oaz (v2)
Nbr de messages : 352
Carottes : 4774

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeJeu 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.
Revenir en haut Aller en bas
http://barrejadis.azeau.com/
jbx028
Gold Nabz
Gold Nabz
jbx028

Localisation : Dans le sept huit
Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz.....
Nbr de messages : 677
Carottes : 5319

Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitimeJeu 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]http://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
Revenir en haut Aller en bas
http://twitter.com/jbx028
Contenu sponsorisé




Opennab et text-to-speech Empty
MessageSujet: Re: Opennab et text-to-speech   Opennab et text-to-speech Icon_minitime

Revenir en haut Aller en bas
 
Opennab et text-to-speech
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: L'univers de Nabaztag :: Archives :: API-
Sauter vers: