MM and Kalliope: make Kalliope speaking



  • @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.



  • 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



  • Hello

    So my solution.

    //-- 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.

    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



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