Si tu as le temps partage tes modifs avec nous autres (celle qui ne sont pas spécifiques à ton système) je suis sûr que l'on en tirera tous un avantage
Nouvelle version:
Possibilité de changer de fenêtre enfin fonctionnelle
suppression définitive de yad.
GoogleV2t
J'ai peut-être trouvé une amélioration pour l'enregistrement avec sox:
sox -t alsa default ./recording.flac silence 1 0.1 5% 1 1.0 5%
Ce qui permet de lancer et couper l'enregistrement entre deux période 0.1 s de silence. Ce qui devrait amléliorer je pense la reconnaissance par google et qui ouvre la voie (^_^) à la possibilité de ne plus lancer en boucle l'enregistrement. Le principe serait le suivant on lance la commande d'acquisistion qui ne fait rien si on ne parle pas. En parallèle on lance un script qui se charge de répartir les commandes.
Comment détecter le moment ou l'on peut charger l’information ?
Cela ne me semble pas très difficile il suffit de tester si le fichier voix.flac existe ie tester si vous avez arrêter de parler. Ensuite GOOGLE se chargera du reste et lancera la commande. Une fois achevé on supprime le fichier audio. J’espère que l'explication est claire.
Voilà, ce que devient le script racine.sh:
#!/bin/bash
AFFICHAGE (){
echo "$1" | osd_cat --font='-b&h-lucida-medium-r-normal-*-24-*-*-*-p-*-iso10646-1' --color=green --pos=top --align=right --offset=50 --indent=50
}
sox -t alsa default tmp.flac silence 1 0.1 5% 1 1.0 5% & AFFICHAGE "Acquisition...";
sox tmp.flac -r 16000 fichier.flac ;
TEXTE=`wget -q -U "Mozilla/5.0" --post-file fichier.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=fr&client=chromium" | sed 's/^.*\[{.*:"\(.*\)",".*$/\1/'` ;
AFFICHAGE "Vous avez dit: $TEXTE" "1" & echo "CMD=$TEXTE" > $HOME/Bureau/commande.txt
# rm fichier.flac
rm tmp.flac
exit
Ça marche et comme ça le script se met en "pause" (il n'enregistre pas) tant que vous ne parlez pas. Dès que vous arrêtez de parler le script se lance comme avant. Et voilà, cela à été plus facile que je ne le pensais. Le script ne se lance plus toutes les 2 secondes pour enregistrer du vide.
Edit: Après quelques tests sur mon pc, cette méthode s'avère trop sensible à la config matérielle, en effet après avoir modifié l'amplification de mon micro google ne parvient plus à comprendre ce que je dis. Ah c'est dommage