Partage
  • Partager sur Facebook
  • Partager sur Twitter

[NodeJS] NOVA : Un assistant vocal personnalisable

Prototype déjà réalisé

    8 mai 2020 à 10:19:34

    Bonjour à toutes et à tous,

    À propos de moi

    Je m’appelle Antoine, j'ai 26 ans et suis passionné d'informatique depuis plusieurs années et plus précisément de développement web. Je développe depuis quelque temps un assistant vocal nommé NOVA. Je suis actuellement le développeur principal de cet assistant. Je développe en Vue.JS pour le front, et en Node.JS pour le back.

    Le projet

    Genèse

    Cela fait au moins 4 ans que je développe des simili assistants. Mais je développe une version stable depuis quelques mois. Je cherche à développer cet assistant car je ne suis pas satisfait des capacités de personnalisation offertes par les solutions sur le marché (Google Home, Alexa, etc.).

    Généralités et avancement

    Le but de cet assistant et de permettre aux petits bidouilleurs d'obtenir un "Alexa" ou "Google Home" like, entièrement personnalisables et respectant le plus possible vos données personnelles.

    Actuellement l'assistant est capable de lancer de la musique, d'interagir avec vos appareils connectés à la maison, de papoter avec vous, de vous retourner son IP, vous raconter une blague, etc...

    Je n'utilise pas de traitement neuronal pour la compréhension de texte. Je n'apprécie pas sa précision et son incapacité à extraire des variables des phrases.

    Objectifs

    Mon objectif est de stabiliser, et d'enrichir l'assistant. Que cela soit en ajoutant des skills ou en rendant plus ergonomiques les interfaces.

    Je ne cherche pas à créer un produit destiné au grand public et je ne l'imagine pas commercialisé un jour. Celui-ci m'est utile au quotidien et je souhaite proposer aux développeurs d'en disposer et de l'améliorer s'ils le souhaitent.

    Pour info, ce projet est présent sur GitHub.

    Le projet et son originalité

    J'ai remarqué qu'il existait un assistant vocal nommé Gladys (PS : chapeau bas Pierre-Gilles), mais celui-ci a comme vocation de gérer les communications avec les appareils connectés en direct, gérer les scènes, etc. Je ne souhaite pas pousser aussi loin cet outil. Je dispose actuellement d'une box Jeedom, celle-ci me permet d'interagir avec mes équipements domotique via des appels WEB (NOVA traduit donc vos ordres en requêtes WEB, car elle sait que pour allumer la lumière du salon, il faut requêter vers Jeedom à l'ID 26).

    Recrutement

    Je suis actuellement à la recherche de personnes motivées pour m'aider à avancer sur ce projet open source.

    Je suppose que toute aide est la bienvenue, je recherche particulièrement :

    • Un développeur front (j'utilise Vue.JS).
    • Un développeur Node.JS pour développer le backend ou des modules (appelés "skills").

    Ce projet en plus de me passionner m'a beaucoup appris.

    N'hésitez pas à venir papoter sur Discord (j'y serais plus actif qu'ici).

    Au plaisir de vous revoir,

    HeyHeyChicken :)

    -
    Edité par HeyHeyChicken 13 mai 2020 à 12:40:15

    • Partager sur Facebook
    • Partager sur Twitter
      11 mai 2020 à 11:40:48

      Super projet ;) ça peut etre cool

      Je pense que beaucoup de personnes n'aime pas trop que google ou amazon gère leur domotique, l'open source serait une bonne solution.

      Ça serait sympa que tu intègres les autres features que proposes les assistants vocaux comme jouer la musique des plateformes de sreaming, les features avec les listes de courses, les agendas. 

      Le liens du discord est invalide :)

      -
      Edité par ConstantGILLET1 11 mai 2020 à 15:13:53

      • Partager sur Facebook
      • Partager sur Twitter
        12 mai 2020 à 12:36:18

        Salut ConstantGILLET1 :),

        ConstantGILLET1 a écrit:

        Je pense que beaucoup de personnes n'aime pas trop que google ou amazon gère leur domotique, l'open source serait une bonne solution.

        Malheureusement, les outils "n'espionnant" pas les utilisateurs s'adressent surtout à un public de développeurs. Pour ce qui est du grand public, cette sécurité se traduit généralement par un prix plus élevé (et le public préfère payer moins cher).

        ConstantGILLET1 a écrit:

        Ça serait sympa que tu intègres les autres features que proposes les assistants vocaux comme jouer la musique des plateformes de sreaming, les features avec les listes de courses, les agendas.  

        NOVA est capable de jouer de la musique sur Spotify et sera bientôt capable de jouer de la radio, mais j'avoue manquer de petites mains (d'où ma venue sur ce forum).

        ConstantGILLET1 a écrit:

        Le liens du discord est invalide :)

        Merci pour ton retour, j'ai mis à jour le lien vers le Discord.

        Je travaille actuellement à faire fonctionner NOVA sur Raspbian (la détection du mot clé me pose quelques petits problèmes :euh:)

        N'hésite pas à me faire un petit coucou sur le Discord :magicien:




        -
        Edité par HeyHeyChicken 14 mai 2020 à 12:31:18

        • Partager sur Facebook
        • Partager sur Twitter
          13 mai 2020 à 1:43:32

          HeyHeyChicken a écrit:

          Salut ConstantGILLET1 :),

          ConstantGILLET1 a écrit:

          Je pense que beaucoup de personnes n'aime pas trop que google ou amazon gère leur domotique, l'open source serait une bonne solution.

          Malheureusement, les outils "n'espionnant" pas les utilisateurs s'adressent surtout à un public de développeurs. Pour ce qui est du grand public, cette sécurité se traduit généralement par un prix plus élevé (et le public préfère payer moins cher).

          ConstantGILLET1 a écrit:

          Ça serait sympa que tu intègres les autres features que proposes les assistants vocaux comme jouer la musique des plateformes de sreaming, les features avec les listes de courses, les agendas.  

          NOVA sera bientôt capable de jouer de la radio et de la musique sur Spotify, mais j'avoue manquer de petites mains (d'où ma venue sur ce forum).

          ConstantGILLET1 a écrit:

          Le liens du discord est invalide :)

          Merci pour ton retour, j'ai mis à jour le lien vers le Discord.

          Je travaille actuellement à faire fonctionner NOVA sur Raspbian (la détection du mot clé me pose quelques petits problèmes :euh:)

          N'hésite pas à me faire un petit coucou sur le Discord :magicien:




          -
          Edité par HeyHeyChicken il y a environ 8 heures

          Ok je passe sur discord ;)

          • Partager sur Facebook
          • Partager sur Twitter
            13 mai 2020 à 11:41:35

            Bonjour,

            Beau projet !

            Je développe depuis des années un système de smart home qui outre les fonctions de domotique avec des appareils connectés, gère aussi photothèque, audiothèque, vidéothèque, ... un chat, etc etc ...

            Ma plateforme est Linux (Fedora) avec côté serveur en php (Symfony) et côté client du simple bootstrap et jquery plus quelques autres biblio js.

            Une de mes règles : n'utiliser aucun service des GAFA ...

            J'ai développé un assistant en mode texte qui se base sur l'IA avec php ai-ml. Je serai intéressé pour participer au développement de l'assistant vocal si celui-ci travaille en local.

            A+

            • Partager sur Facebook
            • Partager sur Twitter
              13 mai 2020 à 12:39:39

              Salut monkey3d :),

              monkey3d a écrit:

              Je développe depuis des années un système de smart home qui outre les fonctions de domotique avec des appareils connectés, gère aussi photothèque, audiothèque, vidéothèque, ... un chat, etc etc ...

              Ma plateforme est Linux (Fedora) avec côté serveur en php (Symfony) et côté client du simple bootstrap et jquery plus quelques autres biblio js.


              Impressionnant ! Est ce que ton système te permet de caster tes vidéos, photos etc. sur une ChromeCast à la demande ?

              monkey3d a écrit:

              Une de mes règles : n'utiliser aucun service des GAFA ...


              Alors ca, c'est à toi de voir. En fait NOVA ne fonctionne pas nativement avec un module vocal de Speech To Text, mais avec une interface de chat.

              J'ai déjà créé un module STT utilisant Web Web Speech API. Donc nous ne sommes pas hors ligne (cela fonctionne aussi sur Chromium alors je ne sais pas ce que ca donne côté confidentialité). Rien ne t'empêche de développer ou d'utiliser un module pour la méthode de détection de ton choix.

              De toute façon, aujourd'hui, j'utilise SnowBoy pour détecter le HotWord en local (ne fonctionne pas sous Windows, je suis en train de le tester sous Raspberry, mais il fonctionne sous Mac).

              monkey3d a écrit:

              J'ai développé un assistant en mode texte qui se base sur l'IA avec php ai-ml. Je serai intéressé pour participer au développement de l'assistant vocal si celui-ci travaille en local.


              Je serais ravi d'en discuter avec toi sur Discord :D

              -
              Edité par HeyHeyChicken 13 mai 2020 à 12:43:23

              • Partager sur Facebook
              • Partager sur Twitter
                13 mai 2020 à 13:54:13

                Est ce que ton système te permet de caster tes vidéos, photos etc. sur une ChromeCast à la demande ?

                Non. Mais en fait je n'ai pas essayé. Comme toutes mes fonctions sont dans un portail web j'y accède à partir de n'importe que PC avec navigateur. Avec quelques restrictions quand je suis hors LAN.

                Web Speech API ... Google donc pour moi c'est incompatible avec mes options de ne pas utiliser de service GAFA. Ce qui reste un obstacle majeur pour la reconnaissance vocale, j'en conviens. Par contre la synthèse vocale fonctionne en local. Et donc l'assistant sait répondre vocalement.

                Pour le HotWord, c'est intégré en local avec le développement à base d'AI qui permet de reconnaître des phrases (analyse syntaxique, classification, etc) et donc d'y répondre et/ou activer des services locaux.

                Mon développement fonctionne aussi sur Raspberry vu que Fedora a une version Server sur ARM.

                Pour info, j'ai aussi développé un moteur de règles from scratch pour gérer, entre autres, les scénarii domotique.

                Actuellement, je développe un module de gestion des "courses" : éviter d'avoir des denrées ayant date dépassée, suggestion de réappro automatique, suggestion de menu, etc.

                A l'occasion je viendrai sur Discord.

                A+



                • Partager sur Facebook
                • Partager sur Twitter
                  1 juin 2020 à 10:23:11

                  Salut,

                  Il se trouve que je suis intégrateur domotique, est-ce que l'un de vous à déjà intégrer des équipements à votre système ? Je parles d'équipement audio/vidéo principalement, je peux peut-être aider !

                  ps: petit clin d'oeil à monkey3d ;) ca ma fait sourire de voir que tu pars sur une solution web/php!

                  -
                  Edité par xoxotf 1 juin 2020 à 10:34:46

                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 juin 2020 à 10:33:01

                    @xoxotf : pourquoi  le sourire ?

                    A+

                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 juin 2020 à 10:38:00

                      Rien de spécial, je me suis dit "forcément pour quelqu'un qui vadrouille sur le forum php" :p
                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 juin 2020 à 10:44:16

                        C'est plus la conséquence que la cause. Mon idée qui remonte à quelques années déjà c'était d'avoir un système qui soit opérable d'un peu n'importe où et sur device banalisé ... d'où architecture web ... java ne me plaisait pas trop alors j'ai testé le php ... puis comme le projet grossissait j'ai migré vers Symfony 2.x ... node.js n'existait pas ...

                        désolé pour le troll.

                        A+

                        -
                        Edité par monkey3d 1 juin 2020 à 10:44:52

                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 juin 2020 à 10:51:45

                          C'est un projet à usage perso. ? Est-ce que tu contrôles tes équipements uniquement en IP ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 juin 2020 à 10:58:05

                            Oui projet totalement perso. J'ai hésité à le mettre sur une forge et j'ai renoncé pour ne pas être trop sollicité.

                            Si tu parles des équipements domotiques, je fais principalement de l'IP : j'ai intégré un projet OpenSource comme MySensors, des volets Somfy et la gamme Sonoff entre autres.

                            A+

                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 juin 2020 à 11:23:22

                              Ok sympa ;)

                              Tu as déjà regardé du côté des contrôleurs IR/RS ? Du genre GlobalCache avec sa gamme iTach, c'est accessible et ca te permet de faire du contrôle infrarouge ou sérial via un protocole IP. Après si tu es plus dans une optique DIY je peux comprendre :D

                              Je suis moi-même entrain de développer un système complet d'intégration à base de MQTT sur mon temps libre, j'ai eu de bons retours lors de mes essais. J'accompagne ça avec le développement d'une app cross-platform, donc bon je prends mon temps aussi..

                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 juin 2020 à 11:31:53

                                Ah mais bien-sûr j'ai du MQTT (broker mosquitto) .... que j'utilise pour les Sonoff et MySensors ... j'ai développé un daemon en php qui vient lire les topics et traite derrière.

                                Je note des IR/RS mais pour l'instant pas trop l'utilité.

                                A+

                                -
                                Edité par monkey3d 1 juin 2020 à 11:32:04

                                • Partager sur Facebook
                                • Partager sur Twitter

                                [NodeJS] NOVA : Un assistant vocal personnalisable

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                • Editeur
                                • Markdown