
Diaoul
SynoCommunity-
Compteur de contenus
2150 -
Inscription
-
Dernière visite
-
Jours gagnés
4
Tout ce qui a été posté par Diaoul
-
Reconnaissance vocale via python : OK TTS via python : OK Les sources sont ici si vous voulez compilez vous même : https://github.com/SynoCommunity/spksrc/tree/speech
-
VICTOIRE ! speech-dispatcher : OK
-
Bon j'essaye une autre version de glib parce que la 2.30.2 me donne des stack overflow sur g_atomic_pointer_get
-
Les dernières nouvelles sur mon Syno : espeak : OK flite : OK julius : OK speech-dispatcher : Compile avec le support espeak et flite mais me fait un vilain "Segmentation Fault" à l'exécution. Je vais passer un coup de gdb là dedans pour voir si ça vient pas d'une erreur quelque part Si quelqu'un veut essayer de cross-compiler speech-dispacher de son coté ça pourrait permettre de comparer nos résultats
-
Hello, Il n'y a pas de page de configuration, le lien sur le desktop emmène juste vers le serveur Mumble avec une url en mumble:// Pour éditer la configuration il faut faire comme expliquer dans le 1er message de ce thread : ligne de commande ou CFE. Bon courage
-
En fait le décodage continue se fait par phrases donc dans une bouillie de paroles ça ne saura pas identifier un mot clé. Ce n'est pas du keyword spotting! En revanche, lorsque le volume sonore augmente (quelqu'un parle), julius commence sa détection et s'arrête lorsque le volume redescend (fin de la parole). Durant cette période, la voix est analysée, cette analyse est rapide avec un petit dictionnaire (20 mots, 4 grammaires (phrases type)) en anglais est est plutôt fiable. Le temps que je termine la phrase et moins de 1 seconde plus tard j'ai la transcription en texte. Dans un environnement calme et avec un bon dictionnaire, on peut immaginer quelque chose comme : - Dobby! - Oui? - La météo de demain s'il te plait - Blablabla J'envisage de faire un script Python à base de regexp comme me l'a suggéré Piwi pour catcher "météo" et "demain": ".*(météo|temps).*demain.*" Cette phrase serait reliée a des actions via une table SQLite et les déclencherait dans l'ordre. Voilà pour le fonctionnement global de l'appli que j'envisage. Bien sûr dès que je commencerai ça ce sera sur GitHub mais comme je l'ai dis dans un premier temps je vais essayer de faire fonctionner ça ensemble sans appli hein Je ne travail qu'en anglais pour l'instant, on verra le français plus tard. Je ne veux pas de faux bugs parce que le français n'est pas abouti et/ou mal configuré.
-
Bon, un petit retour sur Julius: Ca marche nikel, juste avec le support OSS je peux faire de la reconaissance en live. Ca fait moins brouillon que pocketsphinx et c'est super rapide avec un petit dico. La doc est aussi mieux faite et le mode serveur est vraiment intéressant. D'ailleurs speechd permet d'avoir une interface unique entre la reconaissance vocale (julius) et la synthèse vocale (flite/espeak) ce qui est bien pratique. Cependant j'ai quelques soucis à le faire fonctionner, la cross-compilation passe bien mais j'ai un segfault à l'exécution sur le Syno. Et comme il a beaucoup de dépendances (espeak/flite/glib) c'est pas facile d'identifier la cause. Ce qui est super cool c'est qu'il a un module python qui permet de manipuler la totale simplement! Autrement dit, passé la configuration, tout est faisable via python ce qui est bien pratique pour la création d'une application. Je vous tiens au courant de mon avancement, la prochaine étape étant d'arriver à faire fonctionner tout ce beau monde individuellement en incluant dans mon SPK de tests les fichiers de configuration et langage models. Puis de relier tout ça avec speechd et un scripts de test en python Puis de faire une appli python avec quelques modules comme "météo".
-
Contrôle d'un synthétiseur vocal via Python : https://github.com/parente/pyttsx
-
Pour interragir avec tout ça : http://devel.freebsoft.org/speechd Un petit mix des deux dans http://alfred.csquad.org/browser/trunk/lib/Alfred/interfaces/Voice.pm
-
Pour la synthèse vocal il parrait que Festival est mieux que eSpeak
-
Julius (http://julius.sourceforge.jp) à l'air plus au point. Je vais cross compiler ça pour tester. Pas de module python mais la possibilité de lancer julius en mode "module" qui attend une communication TCP/IP sur le port 10500.
-
YEAH test concluant avec pocketsphinx plus rapide que l'API google ! En anglais par contre. Full python
-
Pour info le message d'erreur que j'ai montré plus haut ne s'affiche qu'avec Python 2.7, je crois qu'ils ont changé un truc dans les pointeurs/objets en 2.7. 2.6 c'est nikel http://docs.activestate.com/activepython/2.7/python/whatsnew/2.7.html Voir partie "Capsules"
-
Ok pour le message invalide, en fait ça pourrait marcher si on avait le support oss mais on l'a pas donc pas de souci. Pareil pour moi c'est /dev/dsp4
-
@Sp@ro, je viens de tout recompiler pour mettre sur mon Syno. Quand je lance j'obtiens ça : >>> import pocketsphinx Traceback (most recent call last): File "<stdin>", line 1, in <module> File "sphinxbase.pxd", line 138, in init pocketsphinx (pocketsphinx.c:6844) ValueError: PyCapsule_GetPointer called with invalid PyCapsule object Une idée ? Tu as eu ça ? Pas de souci quand je lance pocketsphinx_continuous, sauf qu'au bout j'ai un message qui me dit que j'ai pas de device audio valide. (Webcam USB avec micro branchée mais comment je peux savoir si elle est reconnue?)
-
D’après ce que j'ai lu, lmtool, l'outil online, se base sur un dict anglais (cmudict) pour recréer le lm depuis les phonèmes. Sur mon PC via Python ça prend un rien de temps de reconnaître "new e-mail", "open browser", etc. Je pense que sur Syno ça doit être assez rapide aussi. Les données française que l'on trouve sur le net sont issues de l'exploitation de milliers d'heures de son enregistré sur des chaines infos françaises il me semble. Je pense que l'on peut trouver plus efficace comme des heures d'enregistrement vocale. Le projet voxforge est en cours mais on dirait qu'il n'y a pas ou peu de contributions donc c'est au point mort.
-
@Sp@ro: Comment tu as pu réduire le lm en français ? Avec quel outil ? Parce que moi j'ai que un .dmp donc du binaire
-
Ok, en fait je viens de voir que j'ai la 0.5.1 sur mon PC... Je vais faire mes essais sur mon NAS donc Avec la 0.7
-
En fait j'ai l'impression qu'il n'y a pas de language model pour le français compatible avec pocketsphinx. Je pense que ça tourne sous sphinx4 cependant.
-
Bah c'est pas grave, je crois que je vais bosser avec de l'anglais uniquement Tu utilises quels modèles anglais ? Et français ? Tu as pas des erreurs avec le français ? Obligé de mettre dictcase à yes pour moi... et la détection est pourrie. Du coup je sais pas si ça vient du wav ou du hmm/lm/dic...
-
Pour ceux que ça intéresse un clappeur avec un prénom, il faudra passer par du keyword spotting et il n'y a pas de logiciel pour ça. Excepté un petit bout de code en développement sur sphinx4 : http://sourceforge.net/projects/cmusphinx/forums/forum/5471/topic/4810538 Donc c'est du java, donc sur Syno ça me parrait impossible, à moins que ce soit vraiment économe.
-
Il y a un plugin Asterisk pout l'utilisation de pocketsphinx : http://scribblej.com/svn/ Pfiou, pas moyen de mettre la main sur une doc simple qui permettrai d'apprendre quelques mots à pocketsphinx et d'avoir le dict, acoustic model et language model qui vont avec
-
@Sp@ro: Tu peux m'envoyer un fichier wav qui fonctionne bien avec pocketsphinx ? J'ai l'impression que le mien n'est pas de bonne qualité car ça reconnait rien du tout.
-
Un lien intéressant mais qui semble encore à l'état de projet et non utilisable http://www.csquad.or...le-avec-julius/
-
Tu peux créer ton propre dictionnaire et lui apprendre juste quelques mots comme "météo" "heure" etc. La détection sera beaucoup plus rapide. Je pense que tu peux utiliser le même lm et hmm tout en modifiant le dict. Ce qui se passe actuellement c'est qu'il reconnait TOUT, ce qui est bien sûr absolument inutile dans notre cas