Aller au contenu

Featured Replies

Posté(e)

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

  • Réponses 145
  • Vues 37.6 k
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Posté(e)

@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

Posté(e)

J'ai pas réussit à la faire pour le Français, j'ai utiliser le truc par internet mais cela n'a pas fonctionner (je veux dire par la qu'il ne reconnait plus bonjour toi)...

Je ne sais pas si l'on peut procéder comme cela pour une autre langue que l'anglais. Le soucis c'est l'histoire du modèle acoustique c'est l'application du modèle qui prends du temps la recherche dans le dictionnaire va relativement vite (si tu le fait avec l'anglais 8k cela prends 1- 2 secondes), par contre j'ai cru comprendre je sais plus trop ou que le modèle acoustique anglais basique pouvait être utiliser pour une autre langue pour peux que l'on crée un dictionnaire spécifique (c'est un peu comme demander de faire la différence entre des mots français c'est pas super précis mais pour des ordre simple cela doit fonctionner)

PS : Alors contrairement à ce que je pensais l'installation du SSD dans l'iMAc c'est fait sans problème par cotre j'ai quelques difficulté à réinstaller correctement Lion ....

Posté(e)

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.

Posté(e)

@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?)

Posté(e)

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

Posté(e)

YEAH test concluant avec pocketsphinx plus rapide que l'API google ! En anglais par contre.

Full python

Posté(e)

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.

Posté(e)

Pour la synthèse vocal il parrait que Festival est mieux que eSpeak

Posté(e)

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

Posté(e)

Contrôle d'un synthétiseur vocal via Python : https://github.com/parente/pyttsx

Posté(e)

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".

Posté(e)

Super tout ca... dès disponibilité du package je suis preneur pour tester

Patrick

Posté(e)

G

Posté(e)
  • Auteur

Super Diaoul.

Désolé je ne suis plus trop actif sur le thread que j'ai initié mais en ce moment je surchauffe côté boulot, a peine le temps de manger ;-()

Si tu as besoin de testeur Diaoul, je suis la aussi avec mon petit DS109.

Bravo encore pour votre boulot les gars

Posté(e)

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 smile.png

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é.

Modifié par Diaoul

Posté(e)

Ben

Posté(e)
  • Auteur

En anglais pour moi aussi ca me derange pas.

On pourrait faire des références a certains films "Aziz Light" => Light turn ON (5th element)

Posté(e)

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 :)

Posté(e)
  • Auteur

Tu es trop fort diaoul.

Tous mes essais de cross compilation de quoi que ce soit ont échoué jusqu'a présent donc je suis pas sur de pouvoir t'aider mais le coeur y est.

Posté(e)

Bon j'essaye une autre version de glib parce que la 2.30.2 me donne des stack overflow sur g_atomic_pointer_get :P

Posté(e)

VICTOIRE !

  • speech-dispatcher : OK

Modifié par Diaoul

Posté(e)
  • Auteur

Super !'

Prem's pour t'aider a tester :-)

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.