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


 
AccueilAccueil  GalerieGalerie  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 Serveur OJN Alfinium... une petite pierre en plus

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
alfinium
Lapin nain
Lapin nain


Nbr de messages : 18

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Mar 23 Aoû 2011 - 14:00

Merci lgnap, je viens de compiler toutes les sources que j'ai utilisés dans un fichier pour que si l'envie te dis, comme tu me le proposais, tu puisses voir pour faire un client/serveur.

donc voici le package: http://alfinium.dyndns.org/download/sphinx4_nabaztag.tar.gz

la petite explication qui va avec, et qui pourrait intérésser les autres qui voudrait faire des tests...

Le package a été fait sous linux, et fonctionne aussi sous Windows (je viens de tester)...
Une fois décompressé, vous verrez le répertoire sphinx4_nabzatag, il contient 2 répertoires:

- sphinx4 --> contenant tout ce qu'il faut pour faire les tests directs (ligne de commande, wav de test et dictionnaires)
- sphinx4.build --> contenant tout ce qu'il faut pour recompiler le fichier WavFile.jar qui est la base du programme java (il suffit d'utiliser le build.sh pour recompiler le WavFile.java et de recopier le WavFiler.jar généré vers l'autre répertoire sphinx4 pour le tester.

Pour ceux qui voudraient essayer et qui auraient des erreurs... il peut se passer 2 choses:

- Le fichier ne serait pas au bon format et pour se faire il faudrait le convertir :
Citation :
Et ceci grâce à la magnifique commande sox (sous linux): sox record_20110816_231257.wav -e signed-integer meteo.wav (par exemple)
- Ensuite ne cherchez pas à dire une phrase complète, pour le moment la reconnaissance vocale est limitée à seulement à une liste de mots, si vous souhaitez tester des mots précis:

- Allez dans sphinx4_nabaztag/sphinx4/grammaires/mygrammaire.gram et ajouter votre mot
- Puis dans sphinx4_nabaztag/sphinx4/dictionnaires/mondico.dic pour rajouter votre mot et son phoneme (le découpage phonétique du mot), il se peut qu'il soit déjà contenu dans le fichier myfrenchWords62Kbis.dic

Pour le moment nous travaillons avec un fichier de grammaire basique, à savoir uniquement avec les mots en dure, il faut le retravailler pour qu'il comprenne la structure des phrases
(si ça branche certaines personnes: http://cmusphinx.sourceforge.net/sphinx4/#bnf_grammars et http://cmusphinx.sourceforge.net/sphinx4/javadoc/edu/cmu/sphinx/jsgf/JSGFGrammar.html)

lgnap, je te laisse le bébé si tu vois comment developper un client/serveur robuste

Bon courage

Revenir en haut Aller en bas
lgnap
Bronze Nabz
Bronze Nabz


Localisation : Belgique
Nabaztag : Toog (v2) avec Marie sur l'avatar
Nbr de messages : 205
Carottes : 2253

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Mar 23 Aoû 2011 - 14:34

Développer le client-serveur j'te laisserai faire^^
J'ai d'autres projets : - SQLite - Client mail pour OJN avant moi ;-)
La reconnaissance vocale n'est pas prioritaire à mes yeux.

Je ne retrouve pas le client-serveur mais je devrais te le retrouver ce soir :-)
Revenir en haut Aller en bas
http://lgnap.helpcomputer.org
alfinium
Lapin nain
Lapin nain


Localisation : Bouligny
Nabaztag : Flora
Nbr de messages : 18
Carottes : 2045

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Mar 23 Aoû 2011 - 14:42

Oui si tu retrouves les sources, je suis preneur Wink
Revenir en haut Aller en bas
lgnap
Bronze Nabz
Bronze Nabz


Localisation : Belgique
Nabaztag : Toog (v2) avec Marie sur l'avatar
Nbr de messages : 205
Carottes : 2253

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Mar 23 Aoû 2011 - 21:52

Chose promise, chose due, je ne t'ai pas oublié :

http://nabz.helpcomputer.eu/ClientServeurBase64/

un tit pdf sur comment l'utiliser (c'était destiné à un prof) et code + exe (jar) pour faire tourner tout ça.
Comme vous pouvez voir dans le pdf sérieux coup de pouce de @doudoune

Edit : et je viens d'ajouter un fichier : enonce-protocole.pdf qui donnait l'énoncé du travail mais surtout le protocole implémenté ;-)
Revenir en haut Aller en bas
http://lgnap.helpcomputer.org
alfinium
Lapin nain
Lapin nain


Localisation : Bouligny
Nabaztag : Flora
Nbr de messages : 18
Carottes : 2045

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Mer 24 Aoû 2011 - 8:12

Merci beaucoup, je vais regarder ça
Revenir en haut Aller en bas
lgnap
Bronze Nabz
Bronze Nabz


Localisation : Belgique
Nabaztag : Toog (v2) avec Marie sur l'avatar
Nbr de messages : 205
Carottes : 2253

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Ven 26 Aoû 2011 - 21:11

Comment ça va avec mon serveur?
N'hésite pas si tu as une question hein !?
Revenir en haut Aller en bas
http://lgnap.helpcomputer.org
alfinium
Lapin nain
Lapin nain


Localisation : Bouligny
Nabaztag : Flora
Nbr de messages : 18
Carottes : 2045

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Lun 29 Aoû 2011 - 10:55

lgnap a écrit:
Comment ça va avec mon serveur?
N'hésite pas si tu as une question hein !?

je fais un petit up, pour le moment j'ai pas eu le temps de me pencher sur ton code, désolé, j'ai vite fini un "daemon local" sous linux qui prends tous les fichiers audios qui arrivent dans un répertoire et qui les traites les un dérrières les autres.

J'ai fait des tests, une fois que la partie "recognizer" est chargé, il ne faut que 2 secondes pour faire la reconnaissance:
extrait de mes logs:
29/08/2011 10:44:38 - Check du repertoire: /home/sys/sphinx4_nabaztag/sphinx4_server/wav_dir/
29/08/2011 10:44:38 - Traitement du fichier record_20110816_231257.wav
29/08/2011 10:44:40 - Fichier résultat: record_20110816_231257.txt
29/08/2011 10:44:40 - Traitement du fichier record_20110816_234208.wav
29/08/2011 10:44:42 - Fichier résultat: record_20110816_234208.txt

Donc c'est en bonne voie...

Maintenant pour mettre ça en pratique le plus vite possible il faut que je cherche comment envoyer un texte en tts directement au lapin (je vais essayer de regarder dans le forum pour trouver la manière la plus propre, api ???)
Revenir en haut Aller en bas
RedoX
Platinum Nabz
Platinum Nabz


Localisation : France
Nbr de messages : 1186
Carottes : 3757

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Lun 29 Aoû 2011 - 11:32

alfinium a écrit:
Maintenant pour mettre ça en pratique le plus vite possible il faut que je cherche comment envoyer un texte en tts directement au lapin (je vais essayer de regarder dans le forum pour trouver la manière la plus propre, api ???)

API yellownabzsmile

'fin, si tu connais le token et le serial du lapin... Sinon...Faut développer un plugin pour OJN, ca s'ra l'plus propre j'pense...
Revenir en haut Aller en bas
http://wiki.openjabnab.fr/
alfinium
Lapin nain
Lapin nain


Localisation : Bouligny
Nabaztag : Flora
Nbr de messages : 18
Carottes : 2045

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Lun 29 Aoû 2011 - 11:49

Hum bah je me doute que c'est pas très propre mais dans le fichier dump.log j'ai vu qu'on pouvait récupérer le serial et le token:

28/08/2011 10:28:04 - HTTP Request - /vl/record.jsp?sn=XXXXXXXXXXXX&v=xxxxx&h=4&m=0

N'étant pas un kador en programmation, je vais voir comment passer via l'api...

Et si tout se passe bien d'ici quelques jours je mettrai en test une fonctionnalité...
Revenir en haut Aller en bas
RedoX
Platinum Nabz
Platinum Nabz


Localisation : France
Nbr de messages : 1186
Carottes : 3757

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Lun 29 Aoû 2011 - 11:51

Euh... t'as pas le token là... J'parle du Token VApi qu'on peut trouver dans l'admin.

(Et encore, s'tu veux utiliser l'API avec sn/token, il te faut ma version Git pour l'instant (mais ton serveur devient incompatible avec le NabzController de Wizz))
Revenir en haut Aller en bas
http://wiki.openjabnab.fr/
alfinium
Lapin nain
Lapin nain


Localisation : Bouligny
Nabaztag : Flora
Nbr de messages : 18
Carottes : 2045

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Lun 29 Aoû 2011 - 12:09

Ah pardon... au temps pour moi...

Bon bah euh.... je vais regarder ça de plus près.....
Revenir en haut Aller en bas
poupou
Bronze Nabz
Bronze Nabz


Localisation : Paris
Nabaztag : Roxxor (V2)
Nbr de messages : 177
Carottes : 2499

MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   Mer 28 Sep 2011 - 19:24

J'up tout ca car j'ai un peut regarder du coter C++
C'est pas super compliquer mais comme je suis nul nabzshy
Voila ce que j'ai fait:
plugin_record.cpp:
Code:


#include <QDateTime>
#include <QStringList>
#include <memory>
#include "plugin_record.h"
#include "bunny.h"
#include "bunnymanager.h"
#include "log.h"
#include "settings.h"
#include "plugin_vocal.h"

Q_EXPORT_PLUGIN2(plugin_record, PluginRecord)

PluginRecord::PluginRecord():PluginInterface("record", "Manage Record requests", SystemPlugin)
{
   std::auto_ptr<QDir> dir(GetLocalHTTPFolder());
   if(dir.get())
   {
      recordFolder = *dir;
   }
}

bool PluginRecord::HttpRequestHandle(HTTPRequest & request)
{
   QString uri = request.GetURI();
   if (uri.startsWith("/vl/record.jsp"))
   {
      QString serialnumber = request.GetArg("sn");
      QString filename ="record_"+serialnumber+"_"+QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss")+".wav";
      QString filepath = recordFolder.absoluteFilePath(filename);
      QFile wavFile( filepath );
      if(wavFile.open(QFile::WriteOnly)) {
         wavFile.write(request.GetPostRaw());
         Bunny * b = BunnyManager::GetBunny(this, serialnumber.toAscii());
         b->SetGlobalSetting("LastRecord", filename);
            PluginVocal(filepath, request.GetArg("sn"));
      } else {
         LogError("Impossible to write record file");
      }
      return true;
   }
   return false;
}
plugin_vocal.cpp :
Code:
#include <QDateTime>
#include <QStringList>
#include <memory>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include "plugin_vocal.h"
#include "bunny.h"
#include "bunnymanager.h"
#include "log.h"
#include "settings.h"
#include <string>

using namespace std;

Q_EXPORT_PLUGIN2(plugin_Vocal, PluginVocal)

PluginVocal::PluginVocal(QString pathToWav, QString mac) {
    Qstring toShell = "java -mx312m -jar ./plugins/system/vocal/jars/WavFile.jar " + pathToWav + " gram_commandes_french_f0_8k16b.xml resultat.txt";
    system(toShell.toString);
    ifstream result;
    result.open("./plugins/system/vocal/jars/resultat.txt");
    String output;
    if (result.is_open()) {
    while (!result.eof()) {
    result >> output;
        }
    }
    result.close();
    if (std::string::npos != output.find("meteo")) {
    //meteo(mac);
    }
}

PluginVocal::PluginVocal():PluginInterface("Vocal", "Manage voice decoding", SystemPlugin)
{

}
Bon bien sur y a le plugin_vocal.h mais y a rien d'interresant dedans !
Et puis ce code marche pas, parceque j'ai passez 5 minutes dessus, enfin y a l'idée.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Serveur OJN Alfinium... une petite pierre en plus   

Revenir en haut Aller en bas
 
Serveur OJN Alfinium... une petite pierre en plus
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Serveur OJN Alfinium... une petite pierre en plus
» Pierre d'ame
» [Résolu] Arme Dragon ==} Pt rouille Pierre
» Une nouvelle nini sur le serveur qui voudrait bien intégrer votre guilde :)
» [HELP] Petite rouille-pierre

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) :: Les Nabaztags sont sauvés ! Les solutions... :: [OJN] OpenJabNab-
Sauter vers: