MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MM and Kalliope: make Kalliope speaking

    Scheduled Pinned Locked Moved Solved Troubleshooting
    14 Posts 4 Posters 4.2k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ? Offline
      A Former User
      last edited by A Former User

      @NPX78
      After reading your question again, I have a little confusing.
      As far as I know, Kalliope has its own TTS feature using pico2wave. And there be more options to use other TTS solution(including Google TTS). So I couldn’t understand why other MM TTS module is needed.

      N 1 Reply Last reply Reply Quote 0
      • N Offline
        NPX78 @Guest
        last edited by

        @sean hello Sean.
        Using the TTS of Kalliope could be the better solution.
        But how can I call this fonctionnalité from a MM module

        Thank you for your time and explanations

        Regars

        Nicolas

        ? 1 Reply Last reply Reply Quote 0
        • ? Offline
          A Former User @NPX78
          last edited by A Former User

          @npx78
          I have no experience with Kalliope so I’m not sure…
          I think this is showing what you needs - https://kalliope-project.github.io/kalliope/rest_api/#run-a-synapse-from-an-order
          So, by just calling Kalliope API with curl to run your reply synapse from your module after it’s job, couldn’t be done?

          N 1 Reply Last reply Reply Quote 0
          • N Offline
            NPX78 @Guest
            last edited by

            @sean Very good idea. Thank you.

            I look for it this evening.

            Currently : call the API REST with a synapse “repeat afer me …” : OK
            I have some problem to call the curl into javascript module.

            I use the XMLHttpRequest, but I have a beautiful: “400 (BAD REQUEST)” :)

            After a night, my brain would be better :).

            I will give you some news tomorrow.

            1 Reply Last reply Reply Quote 0
            • N Offline
              NPX78
              last edited by NPX78

              Hello everybody

              Good night for my brain :) .
              I solved my problem.

              I will put the solution this evening (and will turn this post to solve)

              Thanh you a lot to everybody in particular Sean.

              Regards

              Nicolas

              1 Reply Last reply Reply Quote 0
              • N Offline
                NPX78
                last edited by

                :::

                Spoiler Text

                :::

                Hello

                So my solution.

                :::

                Kalliope Side :

                :::

                //-- settings.yml file
                
                # ---------------------------
                # Rest API
                # ---------------------------
                rest_api:
                  active: True
                  port: 5000
                  password_protected: False
                  login: admin
                  password: secret
                  allowed_cors_origin: "*" 
                
                

                active:True allows using the Rest API
                password_protected: False allows anonymous connections
                allowed_cors_origin: allows connections from other sites. This option is mandatory because the MM site is localhost:8080 and kalliope 127.0.0.1:5000

                Concerning the brain.yml file

                  - name: "repeat"
                    signals:
                      - order: "repeat after me {{sentence}}"
                    neurons:
                      - say:
                          message: "{{sentence}}"
                
                

                This synapse allows Kalliope repeat a sentence.

                :::

                Magic Mirror side :

                :::

                The following lines could be inserted in a module file

                //-- Create the Request object.
                const Http   = new XMLHttpRequest();
                
                //-- Url to call fo our synapse.
                const url    = 'http://localhost:5000/synapses/start/id/repeat';
                
                //-- Build our data to send as parameters of our request.
                var sent     = 'This is the text I want Kalliope repeat';    //-- You can modify it
                var data     = {"parameters" : {'sentence':sent}};
                var dataJson = JSON.stringify(data);
                
                //-- Launch the request.                
                Http.open("POST",url);
                Http.setRequestHeader("Content-type","application/json");
                Http.send(dataJson);
                
                

                I hope to be clear :)
                I mark the post as Solved.

                Thank you a lot for your time and ideas.

                Regards

                Nicolas

                S 1 Reply Last reply Reply Quote 1
                • S Offline
                  sdetweil @NPX78
                  last edited by

                  @npx78 very cool… thank you for sharing and helping others…

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • 1
                  • 2
                  • 2 / 2
                  • First post
                    Last post
                  Enjoying MagicMirror? Please consider a donation!
                  MagicMirror created by Michael Teeuw.
                  Forum managed by Sam, technical setup by Karsten.
                  This forum is using NodeBB as its core | Contributors
                  Contact | Privacy Policy