#301 Le 01/03/2012, à 19:26
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
tu es peut être le seul autre utilisateur merci à toi d'avoir tenu jusqu'au bout malgré les probèmes, bug et autres
#302 Le 02/03/2012, à 15:53
- n3o51
Re : [Script] reconnaissance vocale avec google
De rien merci a toi pour ce script bon il reste quelque bug notamment quand on sort de la pause je crois faut que je vérifie mais ça bug quand je clique sur le bouton pause et que je clique sur lancer ou acquisition ensuite.Mais ce script serviras pour quelqu'un est donc est une bonne base pour moi quand j'aurais le temps de nouveau pour refaire des petits script comme ça.
Welcome to the real world
________________________________
Hors ligne
#303 Le 04/03/2012, à 10:59
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
Au passage et pour ceux que ça intéresse, j'ai modifié le démarrage pour que la fenêtre de config ne s'affiche qu'au premier démarrage.
Ensuite, sur mon pc j''ai ajouté un espeak+mbrola pour apporté à mon script de la voix;
Pour le tts, j'utilise espeak+mbrola
Voici une vidéo de démo:
google2voice can talk now
Je ne l'ai pas encore mis partout, je regarde ou ceci peut être interéssant ???
#304 Le 04/03/2012, à 11:16
- n3o51
Re : [Script] reconnaissance vocale avec google
Pour moi je trouve interressant car la personne qui va l'utilisé a besoin des notification vocale et non visuel
Welcome to the real world
________________________________
Hors ligne
#305 Le 04/03/2012, à 11:35
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
ok, je vais le rajouter, je croi que espeak est installé par défaut, par contre pour Mbrola je ne sais pas si l'installation se fait correctement par défaut.
Quand je l'installe sur mon pc, je dois placer manuellement la voix fr1 dans /usr/share/mbrola/voices pour que cela fonctionne correctement.
Sinon, je suis en train de tester, j'ai mis cette fonction dans la fonction affichage ça marche bien et comme ça j'ai les notifications sonore et visuelles
Dernière modification par benoitfra (Le 04/03/2012, à 11:39)
#306 Le 04/03/2012, à 11:40
- n3o51
Re : [Script] reconnaissance vocale avec google
je suis dans le meme cas que toi , j'ai du moi aussi placer les voix dans /usr/share/...
Welcome to the real world
________________________________
Hors ligne
#307 Le 04/03/2012, à 11:41
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
ok, je suis pas tout seul donc
#308 Le 04/03/2012, à 13:09
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
Je modifife l'installeur et je poste la nouvelle version
C'est bon, nouvelle archive prête regarder ma signature en bas du messaage
Dernière modification par benoitfra (Le 04/03/2012, à 13:19)
#309 Le 04/03/2012, à 13:36
- n3o51
Re : [Script] reconnaissance vocale avec google
merci
Welcome to the real world
________________________________
Hors ligne
#310 Le 04/03/2012, à 14:40
- AnsuzPeorth
Re : [Script] reconnaissance vocale avec google
Bjr,
Je vois que tu t'en es bien sorti avec g2s finalement !
Alors, une fois passé le premier pas, c'est pas si dure ?
Sinon, pour rendre le tout plus rapide, tu n"as pas regardé pour utiliser le spectre ? Au moins le rms, voir si ca ferait !
Il faudrait voir si il est possible de differencier les sons via le rms. Pour ca, il suffit de charger un son avec audacity, regarder le graph si c'est exploitable (voir surtout si 2 sons monosyllabe sont bien differents !)
En utilisant le rms, ca sera plus simple que le spectre complet, mais bcp moins précis.
Qqles liens pour le spectre:
http://hoegners.de/Maxi/micro/
http://spek-project.org/
http://macdevcenter.com/pub/a/python/20 … cally.html
http://www.ar.media.kyoto-u.ac.jp/membe … llapi.html
Pour les matheux:
https://ccrma.stanford.edu/~jos/mdft/
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#311 Le 04/03/2012, à 15:00
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
Effectivmenent glade2script n'est pas trop compliqué quand on s'y penche un peu.
J'ai encore des problèmes mais le plus génant c'est la fonction CLIP@@GET (avec --clipboard dans le script lanceur) je fais un echo "CLIP@GET" après j'essaye d'assigner à une variable PAPIER le contenue mais pas possible, j'ai du oublier qqchose
Concernant, les liens je vais tout regarder....Mais comme ça avant de commencer à lire:
La comparaison des spectres nécéssite un modèle, donc je dois fournir avec le script plein de fichier audio et pour connaitre quelle commande lancer; on fait une boucle for en mode C dan laquelle on
compare le fichier audio juste acquit à chaque fichier.
Est ce correct ?
Dernière modification par benoitfra (Le 04/03/2012, à 15:04)
#312 Le 04/03/2012, à 15:13
- AnsuzPeorth
Re : [Script] reconnaissance vocale avec google
Effectivmenent glade2script n'est pas trop compliqué quand on s'y penche un peu.
J'ai encore des problèmes mais le plus génant c'est la fonction CLIP@@GET (avec --clipboard dans le script lanceur) je fais un echo "CLIP@GET" après j'essaye d'assigner à une variable PAPIER le contenue mais pas possible, j'ai du oublier qqchose
La fonction 'clipboard' est appelé avec le contenu du clip en argument.
Concernant, les liens je vais tout regarer....Mais comme ça avant de commencer à lire:
La comparaison des spectrers nécéssite un modèle, donc je dois fournir avec le script plein de fichier flac et pour connaitre quelle commande lancer on fait une boucle for en mode C
Est ce correct ?
Ben je voyais plutot une configuration personnelle. Il faudra, je pense, étalonner avec la voix de l'user ? Enregistrer chaque son nécessaires, les foutre dans une bdd. C'est fait une fois pour toute.
Ensuite, une simple comparaison, enfin simple, c'est vide dit, il faudra réfléchir à l'algo ... !
C'est pour ca que je demandais de regarder via audacious si le rms est utilisable (plus simple, moins de données a traiter).
Les autres liens c'est pour te donner une idée de ce qui est possible, surtout via gstreamer, tu pourras acquerir le son, récupérer le rms ou le spectre complet. Mais il est aussi possible de traiter les données en python, sans gst ... Enfin, à voir !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#313 Le 04/03/2012, à 15:55
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
Merci pour le clipboard je reteste ce soir pour virer xclip
ensuite j'ai consulté tes liens et j'ai fais des recherche complémentaire et j'ai trouvé ça:
http://projets-gmi.univ-avignon.fr/proj … apport.pdf
#314 Le 04/03/2012, à 16:43
- AnsuzPeorth
Re : [Script] reconnaissance vocale avec google
Intéressant, dommage qu'il n'y ai pas l'archives du site en question, avec les outils ... Mais ca permet de voir une approche.
A ce que j'ai pu lire, il utilise GmusicId pour la comparaison, j'ai rien trouvé à ce sujet sur le web !
Sinon, il part du rms, ce que je pensais, mais grosse conversion en aval !
Tu as regardé si le rms est exploitable ? Juste comparer 2 fichiers avec audacity par exemple, voir si les graphes sont assez different sur un mot presque identique ?
C'est un truc interessant à faire, mais je pense qu'un bon niveau en math soit nécessaire ... C'est pas mon cas
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#315 Le 04/03/2012, à 16:44
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
sinon j'ai testé le premier lien que tu mas donné (micro.py, example.py) il me retourne en terminal plein de chiffre (raw data ??,) après traitement (en bash ) on peut obtenir qqchose de correct. Voilà ce que ça retourne:
retour après avoir dit <comment ça va>
Peut on exploiter directement ces données ? un peu de math, on moyennise
EDIT: j'ai rien trouvé non plus sur gmusicld
pour le rms ( est le root mean square ???) c'est de l'audio donc je préfère demander.
j'installe audacity et je regarde les graphes. Après comment faire ça ???
Arg audacity bug à mort sur ubuntu 11.10
Dernière modification par benoitfra (Le 04/03/2012, à 17:08)
#316 Le 04/03/2012, à 17:16
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
Après, il y a un truc à savoir y a t-il pour un temps d'enregistrement donné, le même nombre de ligne dans le retour de example.py, cela peut-il différer selon que l'on change de mot.
Après si il y a un nombre de ligne fixe, il suffit de :
#317 Le 04/03/2012, à 17:24
- AnsuzPeorth
Re : [Script] reconnaissance vocale avec google
Peut on exploiter directement ces données ?
Ben je pense, on stocke dans une bdd tous ces chiffres, il suffit ensuite de comparer ! A voir si il y a des diff selon le fond sonore, si on voit bien une diff pour des mots se ressemblant ?
Je vois le truc comme ça, a l'installation de ton soft, l'user étalonne tous les mots nécessaires, tu fou le resultat dans une bdd, ensuite, pour chaque mots à traiter, une simple comparaison, c'est là que les maths entrent en jeu, il faudra, je pense, pouvoir accepter une petit marge d'erreur ...
j'installe audacity et je regarde les graphes. Après comment faire ça ???
Si ca le fait avec audacity, c'est hyper simple de récup le rms, que ce soit via gstreamer ou en pure python. Mais ici, comme gst est utilisé pour l'acquisition, ca fera une dependance en moins, et surtout bcp plus réactif !
Après, il y a un truc à savoir y a t-il pour un temps d'enregistrement donné
Dans cet exemple, c'est pour une seconde, mais on peux modifier le script pour qu'il s'arrete qd silence. Ce script sert surtout d'exemple, voir si on peut exploiter cette voie.
le même nombre de ligne dans le retour de example.py, cela peut-il différer selon que l'on change de mot.
Ben il faut un modele pour chaque mot, qu'on compare simplement !
Il faut faire des tests, la je peux pas t'aider, j'ai pas de micro !
Mais essais plusieurs fois pour le meme mot, par exemple 'haut' à comparer à 'bas', plusieurs fois, voir si c'est exploitable.
En tout cas, ca gagnerais en temps de réaction !
Après si il y a un nombre de ligne fixe, il suffit de :
lol, bien sur, il n'y a ka
PS: dommage pour audacity, ca aurait plus simple à comparer qu'une suite de chiffre !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#318 Le 04/03/2012, à 17:34
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
merci, je fais les test pour différent mot et je regarde.
dommage pour audacity
Une marge d'erreur...
#319 Le 04/03/2012, à 17:41
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
J'ai modifié le script python pour qu'il nous donne la "moyenne quadratique", par contre j'ai supposé qu'il y avait 500 lignes (500h ???)
#!/usr/bin/env python
import micro, time, struct
from math import *
start=time.time()
micro.record()
y = 0
z = 0
while time.time()<start+1.0:
data = micro.read(1000,1)
for i in struct.unpack( '500h' , data):
y+=i**2
z=sqrt(y/500)
print z
micro.stop()
micro.loop.quit()
Dernière modification par benoitfra (Le 04/03/2012, à 17:42)
#320 Le 04/03/2012, à 18:09
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
à priori, il a 511 lignes et non pas 500, et le nombre ne change pas
Bon bah ensuite, comme j'aurai pas le temps le faire (fin des vacs :{ ), ce qu'il faut faire:
pour chaque mot acquérir 5/6 fois le mot faire une moyenne pour chaque
enregistrer le tout dans un fichier
intégrer les fonctions comme celles de google2voice. Ça je ne sais pas faire ( du python, je connais pas )
Si il y a un repreneur/quelqu'un qui veut poursuivre/un autre qui veut aider.............
Dernière modification par benoitfra (Le 04/03/2012, à 18:53)
#321 Le 06/03/2012, à 13:01
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
Je suis en train de me mettre au python. Histoire d'avoir le minimum pourcontinuer le truc.
J'explque vite fait ce que je compte faire:
Définir un niveau de bruit ie enregistrement sans parler, puis retirer tout donnée dons la valeur estt compris dans l'intervalle définit.
Puis, prendre le premier "pic" comme "référence" et calculer la hauteur des autres pics vis à vis de celui ci.
On obtient ainsi un tableau (je ne sais pas encore le traité en python) qui contient des chiffres comme:
(1,0.7,0.3...0.3)
Pour la omparaison, on enregistre dans un/des fichiers les donées relatifs aux mots.
On calcul l'erreur entre le son provenant de l'entrée micro et les mots préenregistrés.
Je ne sais pas si ça peut marcher mais ça me semble faisable, en python, il nest pas encore question d'attribuer des actions aux mots détectés, juste de voir si ça marche pour quelques mots.
#322 Le 07/03/2012, à 13:30
- AnsuzPeorth
Re : [Script] reconnaissance vocale avec google
par contre j'ai supposé qu'il y avait 500 lignes (500h ???)
Non, 500h équivaut à 1 000 bytes.
Je suis en train de me mettre au python. Histoire d'avoir le minimum pourcontinuer le truc.
Très bonne iniative
Je te donne un petit script, qui récup le RMS, à modifier selon:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import audioop, wave
wave_in = wave.open('/home/moi/Téléchargements/sa1-maeb0.wav','r')
nb_frames = wave_in.getnframes()
part = nb_frames/500 # on divise par 500, pour avoir 500 partie de n frames, à modifier selon
while True:
fragment = wave_in.readframes(part)
if fragment == "": break
avg = (audioop.rms(fragment, 2) / 100) / 4
print avg # on peut charger une liste ici, ou ecrire dans un fichier, par la suite, une bdd ?!
Mail moi, je te donnerais d'autres trucs ... (ansuzpeorth AT gmail DOT com)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#323 Le 07/03/2012, à 19:10
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
Merci Ansuz je test avec un fichier wav.
Je t'envoie un mail pour savoir, j'ai une petite requête vis à vis du fichier que l'on ouvre en lecture dans ton scritpt
#324 Le 07/03/2012, à 21:45
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
J'ai besoin de savoir comment supprimer des elements d'une liste (del remove):
max_bruit=max(*donnee)
min_bruit=min(*donnee)
for j in range(len(donnee)):
if min_bruit<=donnee[j]<=max_bruit:
del donnee[j]
Cette manip ne marche pas, rien n'est supprimé, mais quand j'essaye avec une boucle for ça foire.
Faut que j'arrete de polluer ce fil...
Dernière modification par benoitfra (Le 07/03/2012, à 21:46)
#325 Le 08/03/2012, à 20:22
- Compte supprimé
Re : [Script] reconnaissance vocale avec google
un prédécésseur, vue ce que je suis en train de lire ça me parait difficile
http://www.siteduzero.com/forum-83-7350 … micro.html