alexylem / jarvis

Jarvis.sh is a simple configurable multi-lang assistant.
http://openjarvis.com
MIT License
800 stars 198 forks source link

Speaker Recognition #109

Open francoismartin opened 7 years ago

francoismartin commented 7 years ago

J'ai vu que Bing proposé une solution de Speaker Recognition mais j'ai également fouillé les issues de jasper et j'ai remarqué une issue qui parle justement de ce sujet.

Et il est proposé quelque chose d'open source, Piwho. De plus il est adapté pour le Pi, le point négatif est l'utilisation du java

ça peut être sympa d'avoir ce genre de feature aussi, qu'en pensez-vous ?

alexylem commented 7 years ago

Ca pourrait être vraiment intéressant. A voir aussi avec l'utilisation de la reconnaissance faciale discutée ici #56

physicien commented 7 years ago

Je pense aussi que ce serait un gros plus d'avoir ça, mais je me demande quel principe est appliqué pour la reconnaissance de la voix. Quelqu'un a une idée?

physicien commented 7 years ago

Pourquoi pas y aller avec ALIZE dans ce cas? C'est principalement en C++ et aucune trace de Java. Sinon, il y a aussi VoiceID.

francoismartin commented 7 years ago

@physicien Pourquoi pas oui. Faut tester lequels marche le mieux.

Si tu couple du vocal avec du speaker recognition couplé avec du machine learning qui fait les actions en fonction du contexte et des personnes, tu as une belle machine de guerre.

après l'AI (machine learning ou deep learning) c'est une autre histoire aussi.

physicien commented 7 years ago

Surtout vu les faibles ressources de la RP3. Je serais plus tenté d'aller vers ALIZE, car en C++ et plus récent. VoiceID est principalement en python, mais il manipule des outils en Java...

francoismartin commented 7 years ago

Après en version feignant il y a bing qui a aussi une techno (mais cloud) Speaker Recognition API

Mais Alize a l'air très bien aussi. Il doit même en exister d'autres encore je suis sûr.

physicien commented 7 years ago

Pas sûr que je voudrais donner la capacité à Bing de me reconnaître. De plus, ça commencerait à faire pas mal de trucs à envoyer en ligne, et on ne veut pas saturer le réseau et ralentir le tout non plus.

francoismartin commented 7 years ago

@physicien Ce n'est pas faux. Ou alors l'un d'entre nous fait une belle solution cloud qui regroupe tout ça et fonctionne avec jarvis en 2 sec 💃

Hors blague je suis d'accord avec toi.

francoismartin commented 7 years ago

le seul hic avec Alize c'est qu'il n'y a pas de communauté autour et que ce n'est plus maintenue.

physicien commented 7 years ago

Je n'ai rien trouvé de maintenue pour l'instant. C'est légèrement contrariant quand un problème «n'est plus dans l'air du temps» et que les gens ne codent plus rien. Le speaker recognition ça doit faire trop 2013... :rocket:

francoismartin commented 7 years ago

@physicien mais avec Amazon Echo la tendance revient mais pas pour le speaker recognition :D

Piwoh est une jeune projet mais c'est étonnant il utilise tout 💯

physicien commented 7 years ago

Après, faudrait établir une liste de priorités. On a plusieurs améliorations en chantier, mais plusieurs qui ne bougent plus depuis un moment. Pour donner quelques exemples, il y a l'utilisation d'un STT sur server perso et le Face recognition qu'il faudrait terminer un jour, et ce sont des améliorations assez importantes à mon avis. Le voice recognition est également intéressant, mais je me demande si on doit le commencer maintenant ou finir les autres modules avant.

francoismartin commented 7 years ago

Je n'ai pas vu de ticket pour la création d'un STT sur serveur perso, ça peut m'intéresser de travailler dessus également par contre le Face recognition je ne penses pas pouvoir aider.

Moi ce que j'aimerai c'est réussir à faire du speak reco, du STT sur serveur perso et améliorer la détection de la voix (et savoir quand il doit arrêter d'écouter). Et le point que je trouves le plus bloquant actuellement est le dernier

physicien commented 7 years ago

Pour le STT sur serveur perso, voir #9 et #25. Si je me souviens bien, on avait fermé #25 pour continuer sur #9 avec Kaldi. Aussi, il me semble que j'ai réussi à faire fonctionner Kaldi sur ma machine, et j'en étais rendu à entraîner le DNN en français.

alexylem commented 7 years ago

Oui beaucoup de gros chantiers en ce moment. Pour ma part je me focalise sur le store de commandes #52 et je vous laisse finir vos essais avec la reco faciale avant de voir ce qu'on intègre finalement (j'ai toujours mon proto python sous la main).

La reco du speaker ouvre de nouvelles possibilités pour la personnalisation dans avoir besoin d'une caméra:

Alex: Jarvis? # recognized Alex's voice
Jarvis: Oui?
Alex: Lis mes emails # recognized Alex's voice
Jarvis: Tu as 2 emails non lus
Nolwenn: Jarvis? # recognized Nolwenn's voice
Jarvis: Oui?
Nolwenn: Lis mes emails # recognized Nolwenn's voice
Jarvis: Tu n'as aucun email non lu
physicien commented 7 years ago

Je viens de tomber sur un code en python très à jour pour faire du speaker recognition, ppwwyyxx.

Sinon, pour la reco faciale, il faudrait bientôt faire un benchmark pour comparer ton proto python et ce qu'on a fait. Le code en C++ est actuellement fonctionnel. Il faut seulement, dans le cas où veut l'utiliser, convertir à l'utilisation de LBPH et debug le GUI (de toute façon, il faudrait le refaire pour l'intégrer à Jarvis).

francoismartin commented 7 years ago

Bien vu @physicien

Plus qu'à tester et a voir ce que ça donne. Moi personnellement je ne suis pas encore dans l'optique d'intégrer une caméra et de le coupler avec un reco faciale. Des que j'ai le temps je vais tester ta découverte @physicien

alexylem commented 7 years ago

Si qqun peut tester ppwwyyxx ca m'arrangerait bcp comme ca je continue à bosser sur le store. N'hésitez pas à tenter de le convertir en pur bash et je ferai le reste de l'intégration. ll faudra alors pouvoir gérer plusieurs "profils" dans Jarvis avec un fichier de commandes pour chaque.

physicien commented 7 years ago

Je viens aux nouvelles. Est-ce que quelqu'un a eu le temps de tester ppwwyyxx? Moi de mon côté, je suis un peu occupé et je suis moins "actif" dans les discussions, mais je continue de surveiller au jour le jour.

wikijm commented 7 years ago

Je viens de créer un ticket sur le repo de ppwwyyxx : https://github.com/ppwwyyxx/speaker-recognition/issues/25

On va voir s'ils mordent à l'hameçon et s'intéressent à notre projet 😄

wikijm commented 7 years ago

Apparement, Jasper intègre Piwho. Voir https://github.com/Adirockzz95/Piwho/blob/master/docs/jasper.rst

wikijm commented 7 years ago

Du coup j'ai aussi crée un ticket sur le repo de Piwho : https://github.com/Adirockzz95/Piwho/issues/2

wikijm commented 7 years ago

Réponse négative de la part de ppwwyyxx/speaaker-recognition :

Your project seems very interesting. You can take ideas from this project but unfortunately we're unlikely to devote time to it.

physicien commented 7 years ago

@wikijm Qu'est-ce qui semble le plus intéressant à ton avis, ppwwyyxx/speaker-recognition ou Piwho?

wikijm commented 7 years ago

De ce que j'ai pu voir, ppwwyyxx/speaker-recognition propose une interface graphique, ce qui pourrait être un plus, mais à mon sens loin d'être nécessaire.

Piwho a été fait pour tourner sur un Raspberry Pi, et à l'avantage d’être en python (ce qui me semble plus accessible en terme d'implémentation, après je ne suis pas Développeur de métier) et plus adapté à notre projet.

Je laisse volontiers des devs et intégrateurs donner leur avis 😉

wikijm commented 7 years ago

Piwho Installation : https://asciinema.org/a/5a3fb0hypfth6f4tcc4opetv1

wikijm commented 7 years ago

L'auteur de Piwho m'a répondu, mais très honnêtement, je suis perdu car aucun de mes tests n'est concluant. Est ce qu'une personne ayant des compétence en python pourrait s'y intéresser ?

alexylem commented 7 years ago

Je pourrais mais pas tout de suite

shahwahed commented 6 years ago

Hello, le speaker récognition me tente pas mal, vous avez une roadmap des chantier pour voir si je peux vous aider?

Haulier59 commented 6 years ago

Bonsoir. Grave je suis vraiment pour aussi. Je n'attend que ça 😍