Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cmu_sphinx [Le 12/04/2016, 21:13]
L'Africain
cmu_sphinx [Le 25/07/2016, 15:48]
88.183.205.55 [Pré-requis]
Ligne 12: Ligne 12:
   * Disposer des [[:​sudo|droits d'​administration]].   * Disposer des [[:​sudo|droits d'​administration]].
   * Disposer d'une connexion à Internet configurée et activée.   * Disposer d'une connexion à Internet configurée et activée.
-  * Avoir installer ​l'​environnement [[:java]] et les paquets **[[apt>​eclipse,​sharutils]]**.+  * Avoir installé ​l'​environnement [[:java]] et les paquets **[[apt>​eclipse,​sharutils]]**.
 =====Installation===== =====Installation=====
  
 Téléchargez [[http://​sourceforge.net/​projects/​cmusphinx/​files/​sphinx4/​1.0%20beta6/​sphinx4-1.0beta6-src.zip/​download|ici]] les sources de sphinx. La dernière version stable en juillet 2014 est la 4.1.0beta6. [[:​archivage|Décompressez]] l'​archive,​ vous obtiendrez un dossier **sphinx4-1.0beta6**. ​ Téléchargez [[http://​sourceforge.net/​projects/​cmusphinx/​files/​sphinx4/​1.0%20beta6/​sphinx4-1.0beta6-src.zip/​download|ici]] les sources de sphinx. La dernière version stable en juillet 2014 est la 4.1.0beta6. [[:​archivage|Décompressez]] l'​archive,​ vous obtiendrez un dossier **sphinx4-1.0beta6**. ​
  
-Une partie de sphinx (la "​jsapi"​) n'est pas sous licence libre, contrairement au reste. Pour installer cette partie, qui nous sera utile par la suite, il faut lancer un script qui va nous demander d'​accepter cette licence puis décompresser la "jsapi". Pour cela depuis le dossier sphinx4-1.0beta6 obtenu en décompressant les sources de sphinx : +Une partie de sphinx (la "​jsapi"​) n'est pas sous licence libre, contrairement au reste. Pour installer cette partie, qui nous sera utile par la suite, il faut lancer un script qui va nous demander d'​accepter cette licence puis décompresser la **jsapi**. Pour cela depuis le dossier ​**sphinx4-1.0beta6** obtenu en décompressant les sources de sphinx ​dans un [[terminal]]:
-  * Rendez les script éxécutable+
   * Déplacez vous dans le dossier adéquat avec la commande : <​code>​cd sphinx4-1.0beta6-src/​sphinx4-1.0beta6/​lib/</​code>​   * Déplacez vous dans le dossier adéquat avec la commande : <​code>​cd sphinx4-1.0beta6-src/​sphinx4-1.0beta6/​lib/</​code>​
-  * Lancez ​le script ​d'installation de la jsapi avec la commande dans un [[terminal]]: <​code>​sh jsapi.sh</​code>​+  * Rendez ​le script ''jsapi.sh'' ​[[:​tutoriel:​script_shell#​executer_un_script|exécutable]] 
 +  * Lancez le script ''​jsapi.sh''​ avec la commande ​: <​code>​sh jsapi.sh</​code>​
  
-appuyer sur <​espace>​ pour faire défiler le texte de la licence, puis répondre '​y'​ à la question '​Accept (y/​n)?:'​ - Si l'on obtient l'​erreur suivante, c'est qu'il faut installer le paquet sharutils (cf ci-dessus): +appuyer sur <​espace>​ pour faire défiler le texte de la licence, puis répondre ​''y'' à la question ​''​Accept (y/n)?:'' - Si l'on obtient l'​erreur suivante, c'est qu'il faut installer le paquet sharutils (cf Pré-requis): <​code>​jsapi.sh: 257: jsapi.sh: uudecode: not found</​code>​
- +
-  ​jsapi.sh: 257: jsapi.sh: uudecode: not found+
  
 =====Configuration===== =====Configuration=====
Ligne 34: Ligne 32:
 Première étape: tester un code d'​exemple présent dans le paquet. La reconnaissance vocale sera en anglais. Nous allons compiler un des programmes d'​exemple ("​hello world"​) depuis eclipse. Première étape: tester un code d'​exemple présent dans le paquet. La reconnaissance vocale sera en anglais. Nous allons compiler un des programmes d'​exemple ("​hello world"​) depuis eclipse.
  
-  * Démarrer ​eclipse, soit depuis le bureau, soit en tapant la commande '​eclipse'​ dans un terminal. Si c'est le premier démarrage d'​eclipse,​ celui-ci demande de choisir un répertoire "​workspace"​ où il stockera les projets. Accepter la réponse par défaut (/​home/​VOTRELOGIN/​workspace),​ et cocher la case "Use this as default"​. +  * Démarrez ​eclipse, soit depuis le bureau, soit en tapant la commande '​eclipse'​ dans un terminal. Si c'est le premier démarrage d'​eclipse,​ celui-ci demande de choisir un répertoire "​workspace"​ où il stockera les projets. Accepter la réponse par défaut (/​home/​VOTRELOGIN/​workspace),​ et cocher la case "Use this as default"​. 
-  * Dans l'​écran d'​accueil d'​eclipse, ​cliquer ​sur "workbench" ​(flèche en haut à droite). +  * Dans l'​écran d'​accueil d'​eclipse, ​cliquez ​sur //workbench// (flèche en haut à droite). 
-  * Créer ​un nouveau projet: sélectionner ​"Fichier -> Nouveau -> Projet", puis dans la boîte de dialogue choisir ​"​projet ​java", puis cliquer sur "​suivant"​ +  * Créez ​un nouveau projet: sélectionner ​//Fichier -> Nouveau -> Projet//, puis dans la boîte de dialogue choisir ​//​Projet ​java//, puis cliquer sur //​Suivant//,​ 
-  * Comme nom de projet, choisir ​"helloworld" ​et cliquer sur suivant +  * Comme nom de projet, choisir ​//helloworld// et cliquer sur suivant, 
-  * Passer ​la dernière boîte de dialogue en cliquant sur "​terminer"​, et si eclipse le demande, accepter d'​activer la "​perspective java"​. +  * Passez ​la dernière boîte de dialogue en cliquant sur //​Terminer//​, et si eclipse le demande, accepter d'​activer la "​perspective java"​. 
-  * Importer ​le répertoire contenant l'​exemple "​helloworld":​ dans le menu "Fichier -> Importer""​General ​-> File System". Cliquer sur "​parcourir"​, et sélectionner le répertoire ​"sphinx-4.1.0/​src/​apps/​edu/​cmu/​sphinx/​demo/​helloworld". Une fois le répertoire sélectionné cocher tous les fichiers qui s'​affichent,​ puis cliquer sur "​Terminer"​. +  * Importez ​le répertoire contenant l'​exemple "​helloworld":​ dans le menu //Fichier -> Importer////​Général ​-> File System//. Cliquer sur //​Parcourir//​, et sélectionner le répertoire ​**sphinx-4.1.0/​src/​apps/​edu/​cmu/​sphinx/​demo/​helloworld**. Une fois le répertoire sélectionné cocher tous les fichiers qui s'​affichent,​ puis cliquer sur "​Terminer"​. 
-  * Charger les .jar: clic droit sur le projet "​helloworld"​ dans l'​arborescence qui apparaît à gauche. +  * Charger les .jar: clic droit sur le projet "​helloworld"​ dans l'​arborescence qui apparaît à gauche. Dans le menu contextuelchoisissez //​Configurer ​le buildpath//, puis dans la boîte de dialogue qui s'​ouvre "Java build path", onglet "​libraries"​ puis "​external jar". Sélectionner le répertoire sphinx-4.1.0/​lib Une liste des jar apparaît, il faut tous les sélectionner et valider. Ensuite, ​re-cliquez ​sur "​external jar" et aller chercher ​**sphinx4-1.0beta6/​src/​jsapi2/​org.jvoicexml.jsapi2.jse.sphinx4/​3rdparty/​sphinx4/​lib/​sphinx4.jar**, ainsi que "​./​sphinx4-1.0beta6/​src/​jsapi2/​org.jvoicexml.jsapi2.jse.sphinx4/​3rdparty/​sphinx4/​lib/​WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar"​
- +
-Dans le menu, choisir "​configurer ​le buildpath", puis dans la boîte de dialogue qui s'​ouvre "Java build path", onglet "​libraries"​ puis "​external jar". Sélectionner le répertoire sphinx-4.1.0/​lib Une liste des jar apparaît, il faut tous les sélectionner et valider. Ensuite, ​recliquer ​sur "​external jar" et aller chercher ​"sphinx4-1.0beta6/​src/​jsapi2/​org.jvoicexml.jsapi2.jse.sphinx4/​3rdparty/​sphinx4/​lib/​sphinx4.jar", ainsi que "​./​sphinx4-1.0beta6/​src/​jsapi2/​org.jvoicexml.jsapi2.jse.sphinx4/​3rdparty/​sphinx4/​lib/​WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar"​+
  
-  * Changer la déclaration du package "​helloworld":​ eclipse indique une erreur à la ligne 3 du fichier (une ampoule avec une croix sur fond rouge). Pour voir ce dont il s'​agit,​ laisser la souris au-dessus de la ligne 3 du fichier, une ligne de diagnostic, à propos de la position du package. Parmi les solutions ("​quickfixes"​) proposées en dessous, choisir "​déplacer helloworld.java dans edu.cmu.sphinx.demo.helloworld"​.+  * Changer la déclaration du package "​helloworld" ​(.java ?): eclipse indique une erreur à la ligne 3 du fichier (une ampoule avec une croix sur fond rouge). Pour voir ce dont il s'​agit,​ laisser la souris au-dessus de la ligne 3 du fichier, une ligne de diagnostic, à propos de la position du package. Parmi les solutions ("​quickfixes"​) proposées en dessous, choisir "​déplacer helloworld.java dans edu.cmu.sphinx.demo.helloworld"​.
   * Charger les ressources. À ce stade-là, il ne doit plus y avoir d'​erreurs dans la marge de "​helloworld.java"​. On peut donc lancer l'​application avec le bouton "​run"​ (dans la barre d'​outils). Choisir "as java application"​. On obtient l'​erreur suivante:   * Charger les ressources. À ce stade-là, il ne doit plus y avoir d'​erreurs dans la marge de "​helloworld.java"​. On peut donc lancer l'​application avec le bouton "​run"​ (dans la barre d'​outils). Choisir "as java application"​. On obtient l'​erreur suivante:
 <​code>​Exception in thread "​main"​ java.lang.NullPointerException</​code>​ <​code>​Exception in thread "​main"​ java.lang.NullPointerException</​code>​
Ligne 61: Ligne 57:
 à partir d'ici, pas vérifié à partir d'ici, pas vérifié
  
-Dans le fichier de configuration,​ trouver la section concernant le dictionnaire. L'un des items de cette section indique le chemin du dictionnaire (commence par /ressource...) Il faut remplacer ce chemin par la position où nous avons importé le dictionnaire de notre projet, par exemple ressource:/​edu/​sphinx/​.../​helloworld/​dict Faire de même avec la grammaire et le dictionnaire de filler.+Dans le fichier de configuration,​ trouver la section concernant le dictionnaire. L'un des items de cette section indique le chemin du dictionnaire (commence par /resource...) Il faut remplacer ce chemin par la position où nous avons importé le dictionnaire de notre projet, par exemple ressource:/​edu/​sphinx/​.../​helloworld/​dict Faire de même avec la grammaire et le dictionnaire de filler.
  
 On peut maintenant tester le helloworld en cliquant sur Debug (flèche verte). Si la qualité de la reconnaissance est mauvaise, c'est normal. On peut maintenant tester le helloworld en cliquant sur Debug (flèche verte). Si la qualité de la reconnaissance est mauvaise, c'est normal.
Ligne 69: Ligne 65:
 Modifier le "​helloworld"​ anglais pour l'​adapter au français. Pour cela, il faut récupérer les ressources (grammaire, dictionnaire et modèle acoustique),​ et modifier le fichier de configuration pour que ces nouvelles ressources soient prises en compte. Modifier le "​helloworld"​ anglais pour l'​adapter au français. Pour cela, il faut récupérer les ressources (grammaire, dictionnaire et modèle acoustique),​ et modifier le fichier de configuration pour que ces nouvelles ressources soient prises en compte.
  
-Dictionnaire:​ récupérer le fichier french62K.dic ​à l'​url ​https://​code.google.com/​p/​voicecmdr/​source/​browse/​branches/​workflow/​src/​sphinx4/​french/​etc/​frenchWords62K.dic,​ l'​importer dans le projet eclipse, puis modifier le chemin du dictionnaire dans la section "​dictionnary"​ du fichier configuration.xml,​+Dictionnaire:​ récupérer le fichier french62K.dic ​[[https://​code.google.com/​p/​voicecmdr/​source/​browse/​branches/​workflow/​src/​sphinx4/​french/​etc/​frenchWords62K.dic|ici]], l'​importer dans le projet eclipse, puis modifier le chemin du dictionnaire dans la section "​dictionnary"​ du fichier configuration.xml,​
 Grammaire: il faut créer une grammaire, sur le modèle de celle qui existe en anglais, l'​importer dans le projet eclipse, puis modifier le chemin pour qu'​elle soit prise en compte, Grammaire: il faut créer une grammaire, sur le modèle de celle qui existe en anglais, l'​importer dans le projet eclipse, puis modifier le chemin pour qu'​elle soit prise en compte,
-Modèle acoustique: il faut l'​importer dans le projet eclipse, puis le pointer depuis le fichier de configuration. On le récupère à l'​url ​https://​voicecmdr.googlecode.com/​svn/​branches/​workflow/​src/​sphinx4/​french/​model_architecture/​french_f0.5725.mdef +Modèle acoustique: il faut l'​importer dans le projet eclipse, puis le pointer depuis le fichier de configuration. On le récupère à cette [[https://​voicecmdr.googlecode.com/​svn/​branches/​workflow/​src/​sphinx4/​french/​model_architecture/​french_f0.5725.mdef|adresse]] 
-le fichier dmphttps://​voicecmdr.googlecode.com/​svn/​branches/​workflow/​src/​sphinx4/​french/​etc/​french3g62K.DMP+le fichier dmp [[https://​voicecmdr.googlecode.com/​svn/​branches/​workflow/​src/​sphinx4/​french/​etc/​french3g62K.DMP|ici]].
  
 =====Voir aussi===== =====Voir aussi=====
  • cmu_sphinx.txt
  • Dernière modification: Le 25/07/2016, 15:48
  • par 88.183.205.55