Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#126 Le 11/02/2012, à 16:14

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

Dans les exemples dont je dispose, je ne trouve pas

Tu as le choix, soit un filechooserDialog (voir ExDialog), ou un filechooserButton (voir exTexte)

A toi de voir ce que tu préféres (je trouve plus zolie un filechooserButton). Par contre, comme tu vas mettre un callback sur le filechooserButton, des que ton interface s'affichera, ce callback sera appelé, donc ca peut etre genant (ceci concerne la derniere version, celle que tu devrais utiliser, la version venant git, branche dev). Pour y palier, il faut utiliser un fichier de config (voir --auto-config), comme ca, aucun signal n'est émis avant (mais cela peut ne pas etre gênant selon ton utilisation). Enfin, tu verras à l'usage, observe bien le retour en console, ca t'en dira bcp sur le fonctionnement du bordel wink


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#127 Le 11/02/2012, à 18:16

benoitfra

Re : [Script] reconnaissance vocale avec google

Bon, j’arrête l'interface pour l'instant trop long à mettre en place pour une si petite chose qu'est ce script
Je ne sais pas même pas si ça interesse les gens, voir même si il y'en a qui utilise mon script.

Dernière modification par benoitfra (Le 11/02/2012, à 18:38)

Hors ligne

#128 Le 12/02/2012, à 01:29

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

benoitfra a écrit :

Bon, j’arrête l'interface pour l'instant trop long à mettre en place pour une si petite chose qu'est ce script
Je ne sais pas même pas si ça interesse les gens, voir même si il y'en a qui utilise mon script.

Tu as fait le plus dur pourtant smile
Pour l'instant ce n'est qu'un script, mais je pense qu'il y a un gros potentiel, c'est une bonne idée. C'est pour ca que je t'ai parlé de g2s, ca te permettra d'avoir un gui qui fait exactement ce que tu veux, ce que tu as besoin. (si un gui est bien pensé, c'est la moitié de code en moins wink)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#129 Le 12/02/2012, à 10:09

benoitfra

Re : [Script] reconnaissance vocale avec google

Je continue mais bien plus doucement. Je me sus jeté sur l'interface graphique. Je vais la reprendre du début pour qu'elle soit moins lourde à mettre en place.

Hors ligne

#130 Le 12/02/2012, à 12:07

benoitfra

Re : [Script] reconnaissance vocale avec google

Bon voilà, ça avance doucement...
J'ai fait ma première appli graphique, c'est pas grand chose, elle sert pour l'outil de test
Outil de test en g2s

Dernière modification par benoitfra (Le 12/02/2012, à 12:23)

Hors ligne

#131 Le 12/02/2012, à 13:47

n3o51

Re : [Script] reconnaissance vocale avec google

Salut , impossible a dl pour regarder.Aussi des que ton projet sera avancé comme tu le souhaite pense a mettre a jour ton autre poste qui parle du projet.Car comme je te l'es déja dit tu as peut de chance niveau visibilité ici .Je sais que zenitor et g2s ce sont fait connaitre dans le forum dev et prog.Passe un bon dimanche, et Anz alors les ballades smile


Welcome to the real world
________________________________

Hors ligne

#132 Le 12/02/2012, à 14:40

benoitfra

Re : [Script] reconnaissance vocale avec google

Ok, je mettrai à jour l'autre post.
Ce qu'il me reste à faire:
Interface graphique installation
interface graphique configuration (en cours)
modifier le script test afin de demander à l'utilisateur d'intégrer les nouveaux mots aux scripts (peut être en rajoutant un sed '/""/ a\""\'
Enfin, tout rendre disponible via l'applet.
Réviser mon cours de traitement du sign...

Par contre j'ai une petite question:
Voilà, pour faire tourner mon applet j'ai besoin d'un glade2script.py, si maintenant, dant l'applet je crée un lien (item menu) qui lance l'outil de test ou de configuration, eux aussi on besoin de G2S, dois je faire appel à un autre script glade2script;py ou celui utiliser par l'applet peut il être utilisé ?

Autre question, je travail sur l'interface graphique pour l'outil de config, ça marche quasiment bien.
Sauf que j'ai mis des entry avec un signal (changed) et un callback sur (on_entry) et quand je rentre quelque chose dans l'entry j'ai ceci
GMAIL=t
GMAIL=te
GMAIL=tes
GMAIL=test

Or justement, ce qui m'intéresse c'est juste la dernière ligne. Comment faire?

Dernière modification par benoitfra (Le 12/02/2012, à 16:24)

Hors ligne

#133 Le 12/02/2012, à 17:18

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

n3o51 a écrit :

et Anz alors les ballades

... j'en reviens juste, et vais surement repartir d'ici peu ... Ah les femmes, heureusement qu'elles sont là pour nous descktocher du pc ...

benoitfra a écrit :

dois je faire appel à un autre script glade2script;py ou celui utiliser par l'applet peut il être utilisé ?

Ca dépends de ce que tu veux .... Le plus simple, mets tout tes gui dans le meme glade, et tu n'as besoin d'appeler qu'une seule fois glade2script, enuite, show et hide tes window selon l'utilisation. A savoir, chaque echo CMD@@ est envoyé dans g2s, donc meme tes scripts enfants, leurs echo seront également envoyé dans g2s, vu qu'on est dans le même environnement.
J'avais pensé ajouter la possibilité d'indiquer plusieurs glade, mais je trouve l'intêret reduit, vu qu'on peut mettre autant de window qu'on veut dans un glade, par contre, c'est sur, ca peut faire des glades plutot lourd (mais habituellement, un GUI n'as qu'une seule fenetre générale bien conçu, voir un ou deux popup en plus, donc un seul glade suffit)

benoitfra a écrit :

Or justement, ce qui m'intéresse c'est juste la dernière ligne. Comment faire?

Ben le principe, dans ta fonction _entry, tu charges ta variable, et lorsque l'user clic sur 'enregistrer' ou 'quitter' tu as ta variable disponible, pour enregistrer ou non les modifications. Enfin, c'est le principe habituel pour changer une config, l'user fait ses modifs et il clic pour enregistrer les modifications ...
Il faudra de toute façon une action user pour savoir qd il a fini, soit un bouton, ou alors il devra enfoncer <entrée> pour que tu puisses récupérer ce signal (signal activate). Mais il y a peut etre d'autres signaux que tu pourrait utiliser, par exemple sur le focus de l'entry, c'est à toi de voir, tu est libre ...

_entry1() {
 var_entry1=$@
} 

_button_enregistrer() {
 echo $var_entry1 > fichier.config
}

A savoir, je ne sais pas comment tu gères tes mots/actions, mais la possibilité de sauvegarder la config avec g2s pourrait t'etre utilse ? Voir --load-config et CONFIG@@** pour les commandes. Ca te permet de stocker des variables dans un fichier texte, et de les avoir chargés dans l'environnement dès le démarrage (comme ci tu sourcais un fichier de config). Mais en utilisant --auto-config, tu peux modifier des widgets avant l'affichage, remplir des entry, la taille de la fenetre, son emplacement, etc,etc.

Une autre chose, il y a un plugin mplayer, il pourrait t'etre aussi utilise. Il te permettra d'agir facilement sur le lecteur (toutes le commandes et propriétés du mode slave son accessible facilement  http://www.mplayerhq.hu/DOCS/tech/slave.txt )


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#134 Le 12/02/2012, à 17:28

benoitfra

Re : [Script] reconnaissance vocale avec google

Merci beaucoups pour ces précisions.
Je me rends maintenant compte que j'ai commis une erreur deux fichiers glade différents.
Je vais devoir tour refaire

Hors ligne

#135 Le 12/02/2012, à 17:35

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

benoitfra a écrit :

Merci beaucoups pour ces précisions.
Je me rends maintenant compte que j'ai commis une erreur deux fichiers glade différents.
Je vais devoir tour refaire

Tu ouvres les deux glade dans la meme instance de glade, et tu peux copier coller d'un projet à l'autre wink


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#136 Le 12/02/2012, à 17:41

benoitfra

Re : [Script] reconnaissance vocale avec google

CooL.........merci.
Faut que je regarde si il n'y pas de conflit entre les noms des widget (window1/window1)
Comment faire pour au clic sur un bouton montrer une autre fenêtre:
_bouton(){
echo "Set@window1.hide()" #j'ai pas encore utilisé hide
echo "Set@window2.show()"
}
Ça marche comme ça

Hors ligne

#137 Le 12/02/2012, à 17:47

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

Oui

SET@window1.hide()
SET@window2.show()

Tu peux aussi utiliser un callback directement, on_hide et on_show sur le signal du bouton.
Tu as souvent une commande g2s/gtk et un callback qui font la même chose, ca permet plus de souplesse !


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#138 Le 12/02/2012, à 18:35

benoitfra

Re : [Script] reconnaissance vocale avec google

Pour utiliser directement un callback on hide ou on show dois je précisé dans le champ "donnée utilisateur" le nom de la fenêtre à masquer ?

Sinon, j'ai regroupé les deux interfaces et maintenant je tente de rassembler les deux scripts.
Pour charger le text des entry je charge un fichier de config au début du script, je trouve ça assez simple.

Hors ligne

#139 Le 12/02/2012, à 18:55

benoitfra

Re : [Script] reconnaissance vocale avec google

Bon j'ai besoin d'un petit peu d'aide, j'ai tout fait
concaténer les deux scritpts
modifier le glade, pour y insérer les deux anciens

Oui mais voilà, l'interface principale marche mais quand je clique sur le bouton tester qui doit m'amener vers la seconde interface et cacher l'ancienne, ça ne fonctionne pas.

Voici le lien de téléchargmenet:
google2voice

Et voici le retour console au moment du clique sur "tester":

=> [[ PY ]] => :: FIFO write :: _tester clicked
=> [[ PY ]] => DEBUG=> in bash NOT GET _tester clicked
=> [[ PY ]] => Set@window2.hide()
=> [[ PY ]] => Set@window1.show()

j"ai le même problème dans l'autre sens quand j'essaye de switcher d'une fenêtre à l'autre.

=> [[ PY ]] => :: FIFO write :: _quittest clicked
=> [[ PY ]] => DEBUG=> in bash NOT GET _quittest clicked
=> [[ PY ]] => rec: aucun processus trouvé
=> [[ PY ]] => Set@window1.hide()
=> [[ PY ]] => Set@window2.show()

Dernière modification par benoitfra (Le 12/02/2012, à 19:26)

Hors ligne

#140 Le 12/02/2012, à 19:56

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

Pour utiliser directement un callback on hide ou on show dois je précisé dans le champ "donnée utilisateur" le nom de la fenêtre à masquer ?

Ben voilà, tu as compris le principe ... par contre c'est on_hide, ne pas oublié le _

Pour charger le text des entry je charge un fichier de config au début du script, je trouve ça assez simple.

C'est pas compliqué, c'est vrai, mais en passant par auto-config, tu ne dois rien faire (a part bien sur créer une fois le fichier de config). C'est Hizoka qui aime ce genre d'utilitaire ... Il est partisant du moindre effort (c'est grace à lui qu'il y a autant de fonctions et callbacks, c'est monsieur plus  ... smile )

Et voici le retour console au moment du clique sur "tester":

Attention a la casse ! Set n'est pas SET. Les commandes g2s sont en majuscules, les arguments et les pygtk en minuscule.


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#141 Le 12/02/2012, à 20:04

benoitfra

Re : [Script] reconnaissance vocale avec google

Ah merci ça marche nikel.
Il ne me reste plus qu'à intégrer le tout à ton applet et au script en lui même afin de n'avoir plus qu'un seul glade et script.
Quand, j'ai fini je poste le tout.

Hors ligne

#142 Le 12/02/2012, à 21:50

benoitfra

Re : [Script] reconnaissance vocale avec google

Et voilà, une nouvelle version avec l'interface j'ai encore des trucs à modifier si cela intéresse des gens :
J'ai rajouté l'accès à certains dossier utilisateur
l'interface graphique (ça été dur)
google2voice

Encore un petit bug, quand je quitte vocalement, le script s’arrête mais pas l'interface graphique et l'applet semble ne pas s’arrêter. Je ne sais pas d'où cela viens. Tout le reste semble fonctionner

Ensuite, il y a encore des mofifs à faire, rajouter une combobox (je crois que ça s’appelle comme
ça) pour l'interface de test, ajouter également la possibilité de rajouter les nouveaux mots.
Je n'ai pas non plus encore créer les variables qui correspondent à l'interface de configuration.
Faire en sorte que l'icone de l'applet soit changer (je n'y arrive pas)
Modifier l'icône dans l'interface de test pour montrer à l'utilisateur qu'il peut parler.
Bon ça fait déjà beaucoup, vivement les vacances j'aurai le temps.


EDIT: je crois qu'il est possible de récupérer le clipboard et de faire des notification via g2S ?
Si oui, ça me permettrai de réduire les dépendances (j'enleverai xosd_cat et xclip et zenity)

Dernière modification par benoitfra (Le 12/02/2012, à 22:07)

Hors ligne

#143 Le 13/02/2012, à 01:31

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

j'ai encore des trucs à modifier si cela intéresse des gens

Fais les choses pour toi, car si tu attends des retours, tu risques d'attendre un peu smile
Si tu te fais ton soft au petits oignons, propre et tout, forcement que ca intéressera du monde, ca peut être sympa de lancer qqles commandes pas la voix. Perso, j'ai pas de micro, donc c'est réglé ...

Encore un petit bug, quand je quitte vocalement, le script s’arrête mais pas l'interface graphique et l'applet semble ne pas s’arrêter. Je ne sais pas d'où cela viens. Tout le reste semble fonctionner

Tu as bien renseigner la commande EXIT@@ avant que ton script ne quitte ?
Car si ton script quitte et que l'interface reste ouverte, c'est que g2s n'a eu aucune commande pour quitter.

Faire en sorte que l'icone de l'applet soit changer (je n'y arrive pas)

Ca doit etre:

SET@app_indic_name.set_icon_full('gtk-yes','AttentionIcon')

Où gtk-yes est un nom d'icone du theme, ou si tu as renseigné le dossier supplémentaire d'icone (dernier argument de la commande APPINIDCATOR), le nom de l'image de ce dossier.
AttentionIcon est un id quelconque ... mais unique smile

Modifier l'icône dans l'interface de test pour montrer à l'utilisateur qu'il peut parler.

Tu parle de quelle icone, celle qui apparait dans la taskbar (où sont affiché les fenetres ouvertent)?

SET@window1.set_icon_from_file('filepath')

Ou pour une image quelconque, soit via la commande IMG, ou

SET@_image1.set_from_file('filepath')

je crois qu'il est possible de récupérer le clipboard et de faire des notification via g2S ?

Oui c'est possible, pour la notification, il faut libnotify et, python-notify sous gtk2, sous gtk3, les gir1.2* correspondants.
A savoir que les notifications ne fonctionnent pas nickel, le timer ne fonctionne pas (bug de la lib). Mais tu peux faire ta propre notification, c'est pas dur, juste un popup avec ce que tu veux dedans ...!

Pour le clipboard, il faut indiquer l'option --clipboard, et juste CLIP@@GET (la fonction 'clipboard' sera appelé) ou CLIP@@SET@@value.

Dernière modification par AnsuzPeorth (Le 13/02/2012, à 01:33)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#144 Le 13/02/2012, à 02:06

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

re,
Bon, j'ai essayé par curiosité smile

Ca ne quitte pas, que ce soit via bouton ou menuitem, c'est sox qui fou la merde.
As tu lancé cette commende en arrière plan, il le faut, sinon elle garde la main sur l'execution du script, donc la boucle de fin (la g2s) n'est pas libre pour envoyer d'autres commandes. En général, il ne faut aucune commande bloquantes, sinon aucunes action ne sera possible, normal, ta commande garde la main !
Il ne faut pas oublier de tuer sox également !

Sinon, tu codes en C, php ou JS d'habitude, car tu ajoutes des {} de partout ?

EDIT: Ta boucle d'exécution doit etre dans une fonction est être lancé en arrière plan, sinon aucune action venant de ton gui ne sera executé. Il faut tjrs garder à l'esprit que la boucle de fin (la g2s) doit rester libre, c'est de là que viennent les commandes provenant du GUI.

Dernière modification par AnsuzPeorth (Le 13/02/2012, à 02:49)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#145 Le 13/02/2012, à 07:23

benoitfra

Re : [Script] reconnaissance vocale avec google

Merci, pour ces précisions, je me disais bien que ma boucle while génait la boucle while de fin
.Je vais voir comment lancer ma boucle en arrière plan ( je n sais pas comment on fait)

Sinon, les {} viennent du C,

EDIT j'ai essayé de mettre ma boucle while dans une fonction, puis j'ai fais ub bg..
mais pour l'instant ça marche pas.

Dernière modification par benoitfra (Le 13/02/2012, à 07:43)

Hors ligne

#146 Le 13/02/2012, à 14:39

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

Pour lancer une fonction en arrière plan, il faut utiliser &:

MyFunction() {
  blalbla
  blablabla
}
MyFunction &

Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#147 Le 13/02/2012, à 19:59

benoitfra

Re : [Script] reconnaissance vocale avec google

Salut AnzusPeorth, j'ai essayé ça n'a pas marché, mais ce n'est pas grave...
J'ai supprimé ma boucle "while" à cause de laquelle les "commandes "  n'atteignaient jamais ta boucle while et donc  rendait inopérante la connexion avec l'interface graphique. De toute façon, quand j'utilise le script je le fais par commande, je ne fais pas de dictée continue.
J'ai donc intégré la reconnaissance vocale au menu et je crois peut-être que je me trompe qu'il est possible de définir des raccourcis pour les éléments du menu (?)

Je suis en train d'intégrer les variables créées pour g2s dans le script.
ʟà au moins tout marche et je nˈai pas de problème.
Par contre je nˈarrive pas à chaŋger les images, pendant exécution du script.
Par exemple dans la fenêtre window1 (interface de config) jˈutilise cette commande ː

echo 'SET@_image2.set_from_file(ˈicons_B')'

ceci pour signaler à lˈutilisateur quˈil doit parler.
ʍalgré que lˈimage icon_B.pŋg soit dans le dossier du script ça ne marche pas.
idem je nˈarrive pas à chaŋer les icons pour le menu.
Je vais retourner voir les exemples

Dernière modification par benoitfra (Le 13/02/2012, à 20:00)

Hors ligne

#148 Le 14/02/2012, à 00:19

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

je crois peut-être que je me trompe qu'il est possible de définir des raccourcis pour les éléments du menu (?)

J'ai pas mis en place cela ... dsl. Mais tu peux très bien utiliser les raccourci normaux, y lancer un script qui écrit dans le FIFO pour appeler la fonction voulue (je regarderais qd j'ai le temps pour ces raccourcis)

Pour les images, tu as 3 sortes avec gtk.
Les icon stock (defaut gtk) et les icon name (ceux du theme), c'est 2 se nomment sans extension (gtk-yes)
Il y a ensuite les image, provenant d'un fichier, là il faut indiquer le chemin relatif ou absolu de l'image.

echo "SET@_image2.set_from_file(ˈicons_B.png')"

Attention aux " et '

idem je nˈarrive pas à chaŋer les icons pour le menu.

Ca se change dans le glade ça.


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#149 Le 14/02/2012, à 07:38

benoitfra

Re : [Script] reconnaissance vocale avec google

Merci, beaucoup ça marche pour l'image.
Je e penche sur la boite de
liste déroulante et sur tes exemples ce midi

Hors ligne

#150 Le 14/02/2012, à 15:04

AnsuzPeorth

Re : [Script] reconnaissance vocale avec google

benoitfra a écrit :

Merci, beaucoup ça marche pour l'image.
Je e penche sur la boite de
liste déroulante et sur tes exemples ce midi

Pour les combo, c'est facile, il faut indiquer l'option --combobox
pour une simple liste

--combobox='@@_myCombo@@col'

Pour une avec image

--combobox='@@_myCombo@@col|IMG'

Ensuite, dans ton script, tu charges les combo (tu peux aussi le faire depuis la ligne de commande, a la suite de l'option --combobox, mais c'est moins propre ...), avec COMBO@@END@@value

Voir doc pour toutes les commandes COMBO@@***

Si tu est sous gtk2, n'utilise pas les commandes pytgk *_text, elles n'existent plus pour gtk3 (comme get_active_text, append_text, etc,etc), passe par les commande COMBO, ou sinon, par set_active, get_active, etc,etc ... (voir doc gtk et non plus pygtk, pour facilité le passage à gtk3)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

Haut de page ↑