Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/10/2014, à 11:45

Compte supprimé

Pocketvox

Bonjour à tous

Je suis le développeur du projet Google2ubuntu, projet qui visait à développer
un système de reconnaissance vocale utilisant l'api web speech recognition de Google pour contrôler son pc.

Google ayant il y a peu changer son api (v1 > v2), je me suis lancer dans un projet
de reconnaissance vocale hors ligne cette fois ci qui reposerait sur des librairies open source.

L'objectif principal du projet est de fournir une librairie permettant; aux développeurs ou à ceux qui souhaitent bénéficier de la reconnaissance vocale sur sa plateforme linux; de rapidement déployer une solution pour contrôler son ordinateur.

Le projet est principalement développer en C, mais il dispose d'une api en Python. Il repose sur l'emploi de plusieurs librairies du projet GNOME telles que GStreamer, GLib, GObject, Gtk, ... et d'autres Pocketsphinx, Espeak, Xlib. J'utilise les outils autotools pour construire le projet.

J'ai posté deux vidéos de démonstrations:
pocketvox démonstration
pocketvox keyword demonstration

Le projet est disponible sur Github
et une communauté a été ouverte sur Google+.

Pour l'instant je suis bien seul sur le projet, pourtant il y a plein de chose à apprendre notamment en programmation C. Il y a pas mal de choses envisageables pour satisfaire l'appétit de chacun comme :

  • Permettre une meilleure gestion des modules et notamment un ajout dynamique (Pour l'instant les modules peuvent être ajoutés avant le démarrage)

  • Créer une fenêtre pour gérer le profil

  • Étendre le support au javascript (gobject-introspection)

  • Modifier le pipeline pour avoir une entrée tcp/udp afin d'avoir une structure client/Serveur

  • Créer une petite application android avec Gstreamer pour créer un pipeline communiquant en streaming avec le pipeline

  • Développer des modules en python

  • Internationaliser la librairie

  • créer une page de présentation (via github+jekyll) mais j'y connais rien là il y a peut-être plus simple

  • packager la librairie pour la distribution

J'espère qu'il y aura des volontaires, bien sur tout est bénévole mais beaucoup d'enseignements à en retirer.

Dernière modification par benoitfra (Le 17/10/2014, à 11:56)

#2 Le 31/10/2014, à 19:45

Compte supprimé

Re : Pocketvox

Re

Je continue mon projet (seul et c'est bien dommage) et j'ai apporté pas mal de nouveautés.

  • Pocketvox peut maintenant être utilisée comme une application

  • Pocketvox installe un outil de configuration écrit en GTK

  • L'utilisateur peut maintenant choisir le type de source (Default, Alsa)

  • Il peut aussi envoyer des commandes via TCP en choisissant un hote et un port

  • Il est possible de configurer plusieurs autres paramètres comme les notifications

  • Le tout est traduit en français et est prêt pour d'autre tradution

En plus de tout cela, Pocketvox c'est aussi:

  • Une librairie de controle vocale utilisant Pocketsphinx

  • Une librairie de dévellopement écrit en C

  • Une API en python

N'hésitez à venir m'aider à améliorer le projet

#3 Le 08/11/2014, à 13:10

Compte supprimé

Re : Pocketvox

La première release a été publiée, il y quelques jours.

Pocketvox a même son petit article sur le site de CMUSphinx

#4 Le 23/11/2014, à 11:18

PPdM

Re : Pocketvox

Salut
Il n'y a rien en français ?


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#5 Le 23/11/2014, à 11:36

Compte supprimé

Re : Pocketvox

Tu parle des artilcles ? non, je n'ai rien vu en français

#6 Le 23/11/2014, à 12:05

PPdM

Re : Pocketvox

Non je parle du soft


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#7 Le 23/11/2014, à 12:10

Compte supprimé

Re : Pocketvox

Si il est internationalisé et dispo en français

Dernière modification par benoitfra (Le 23/11/2014, à 12:11)

#8 Le 23/11/2014, à 13:07

lucas8100

Re : Pocketvox

d'abord bravo pour cette application qui manquait énormément a ubuntu.
j'ai installé l'application
maintenant j'ai quelques petits pb
j'ai trouvé ici le frenchWords62K.dic qui doit etre le dictionnaire et le french3g62K.lm.dmp.bz2 que j'ai extrait et je ne sait pas si c'est le modèle acoustique ou celui de langage?
pourrait-tu faire un récapitulatif de tout ça (des liens pour trouver facilement...)
et poster le dictionnaire ouverture que l'on voit dans ta video (dans modules)
je n'ai rien dans chose the espeak voice (est-ce normal?)

merci beaucoup pour ce travail qui mériterait plusieurs posts


Lenovo thinkpad edge E330: Windows 8

Hors ligne

#9 Le 23/11/2014, à 13:51

Compte supprimé

Re : Pocketvox

Ok comme je dois normalement quitter ce forum mais que personne ne m'a encore aidé à  supprimer mon profil je vais faire un post spécial installation. Juste après

#10 Le 23/11/2014, à 14:58

Compte supprimé

Re : Pocketvox

INSTALLATION DE POCKETVOX

La procédure suivante permet d'installer pocketvox et toutes les dépendances
y compris les fichiers nécéssaires comme les modèle acoustique et de langage et le dictionnaire en français fournit par CMUSphinx.

#Télécharger toutes les dépendances des dépots
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libglib2.0-0 libgirepository-1.0.1 libgirepository1.0-dev libgstreamer-plugins-base0.10-0 libgstreamer-plugins-bad0.10-0 gir1.2-gstreamer-0.10 gir1.2-appindicator3-0.1 libappindicator3-1 libappindicator3-dev libespeak-dev espeak-data libespeak1 libnotify-dev gir1.2-gtk-3.0 libgtk-3-0 gobject-introspection gtk-doc-tools libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libgstreamer0.10-0 gstreamer0.10-alsa python-dev python-pip bison

#Télécharger les dépendances de CMUSphinx
cd ~/Téléchargements
wget -O sphinxbase-0.8.tar.gz http://sourceforge.net/projects/cmusphinx/files/sphinxbase/0.8/sphinxbase-0.8.tar.gz/download
wget -O pocketsphinx-0.8.tar.gz http://sourceforge.net/projects/cmusphinx/files/pocketsphinx/0.8/pocketsphinx-0.8.tar.gz/download
wget -O cmuclmtk-0.7.tar.gz http://sourceforge.net/projects/cmusphinx/files/cmuclmtk/0.7/cmuclmtk-0.7.tar.gz/download

#dezipper les archives
tar xvfz sphinxbase-0.8.tar.gz
tar xvfz pocketsphinx-0.8.tar.gz
tar xvfz cmuclmtk-0.7.tar.gz

#installer les dépendances de CMUSphinx
cd sphinxbase-0.8
./autogen.sh
./configure
make 
sudo make install

cd ../pocketsphinx-0.8
#Vous êtes français pensez à lire la procéure spéciale ci-dessous
export LD_LIBRARY_PATH=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure
make
sudo make install

cd ../cmuclmtk-0.7
./autogen.sh
make
sudo make install

#Télécharger les fichiers nécéssaires lm, dict, hmm
#acoustic model: hmm
#dictionnary : dic
#langage model: lm.dmp
cd ~/Téléchargements
mkdir sphinx
cd sphinx
wget -O lium_french_f0.tar.gz http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French%20F0%20Broadcast%20News%20Acoustic%20Model/lium_french_f0.tar.gz/download
wget -O french3g62K.lm.dmp.bz2 http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French%20Language%20Model/french3g62K.lm.dmp.bz2/download
wget -O frenchWords62K.dic http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French%20Language%20Model/frenchWords62K.dic/download

tar xvfz lium_french_f0.tar.gz
tar yxf french3g62K.lm.dmp.bz2

#installer pocketvox
cd ..
wget -O pocketVox.zip https://github.com/benoitfragit/pocketVox/archive/master.zip
unzip pocketVox.zip
cd pocketVox-master
#export environment variable
. ./utils/setup.sh
#build
./autogen.sh --enable-gtk-doc
make
make dist
sudo make install

Les utilisateurs français ont deux petites modifications à faire pour pouvoir utiliser les fichiers fournis par CMUSphinx et notamment le langage modèle.  Je m'explique par défaut les plugins gstpocketsphinx et gstvader (que vous pouvez trouver dans le dossier pocketsphinx) utilisent une fréquence d'échantillonage de 8KHz (fixée en dure dans le code) or le langage modèle français a été construit pour fonctionner de manière optimal en 16KHz. Si vous ne faite pas cette étape alors pocketsphinx ne voudra pas fontionner et vous dira que la fréquence max de votre modèle dépasse la moitié de la fréquence d'échantillonage (Shannon appréciera). Donc, il faut rapidement modifier les deux plugins avant de les compiler.

Pour ce faire ouvrez les 2 fichiers

cd pocketsphinx-0.8/src/gst-plugin
mousepad gstpocketsphinx.c &
mousepad gstvader.c &

Modifier les 8000 en 16000 aux lignes 107 et 126 du premier fichier.
Pour le second fichier, faite la même modification à la ligne 77.

Ensuite vous pouvez compilez Pocketsphinx et poursuivre la procédure

Dernière modification par benoitfra (Le 23/11/2014, à 15:43)

#11 Le 07/12/2014, à 18:45

voxdemonix

Re : Pocketvox

Ce projet pourrait interesser la communauté S.a.r.a.h (jarvis/yuri), s'il permet de se passer de google/microsoft/apple. Beaucoup de linuxien voudraient tenter l'aventure de l'internet 3.0 sans passer par des api proprio ou big brotherienne smile Si ton projet respecte ces notions tu trouvera peut-être de l'aide auprès de cette communauté. (un peu de pub sur linuxfr pourrait aussi être bénéfique).
Perso ça m'intéresserait énormément pour tester Sarah en tout linux.

Dernière modification par voxdemonix (Le 07/12/2014, à 19:13)

Hors ligne