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.

    MMM-TTS

    Scheduled Pinned Locked Moved Utilities
    text-to-speech
    19 Posts 4 Posters 14.1k Views 5 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.
    • cowboysdudeC Offline
      cowboysdude Module Developer
      last edited by

      You two are amazing! It’s people like you that bring this type of technology and make it reachable by far more people that just couldn’t afford to pay HUGE amounts of money to just buy a mirror that works…

      Thanks for ALL your hard work and patience with those of us who are neither py or js developers!

      A 1 Reply Last reply Reply Quote 0
      • A Offline
        alexyak @cowboysdude
        last edited by

        @cowboysdude thank you.

        1 Reply Last reply Reply Quote 1
        • A Offline
          alexyak @strawberry 3.141
          last edited by

          @strawberry-3.141 I could start looking at the module for voice rec. if you don’t mind.

          1 Reply Last reply Reply Quote 1
          • D Offline
            davericher @strawberry 3.141
            last edited by

            @strawberry-3.141 Not to be a debbie downer, but does electron not expose Chromes built in multi voice text to speech api?

            https://developers.google.com/web/updates/2014/01/Web-apps-that-talk-Introduction-to-the-Speech-Synthesis-API

            strawberry 3.141S 1 Reply Last reply Reply Quote 0
            • strawberry 3.141S Offline
              strawberry 3.141 Project Sponsor Module Developer @davericher
              last edited by

              @davericher should be, but that wouldn’t work for people with serveronly mode

              Please create a github issue if you need help, so I can keep track

              D 1 Reply Last reply Reply Quote 0
              • D Offline
                davericher @strawberry 3.141
                last edited by

                @strawberry-3.141 True, but it would work for every connected client

                strawberry 3.141S 1 Reply Last reply Reply Quote 0
                • strawberry 3.141S Offline
                  strawberry 3.141 Project Sponsor Module Developer @davericher
                  last edited by

                  @davericher if you like you can create a pr to let the user decide via config if he wants to use festival or speech synthesis :)

                  Please create a github issue if you need help, so I can keep track

                  1 Reply Last reply Reply Quote 1
                  • cowboysdudeC Offline
                    cowboysdude Module Developer
                    last edited by

                    Question…this is what I"m trying to do…

                    else if (/(HIDE)/g.test(data) && /(CLOCK)/g.test(data)) {
                              this.hide(0, {lockString: 'MMM-voice'});
                              this.sendNotification('MMM-TTS', 'Hiding Clock');
                            }  else if (/(SHOW)/g.test(data) && /(CLOCK)/g.test(data)) {
                              this.show(0, {lockString: 'MMM-voice'});
                            this.sendNotification('MMM-TTS', 'Showing clock');
                            }  
                    

                    It works buttttttttttttttt the 1st time you fire it off it doesn’t stop LOL

                    “Showing clock”…“showing clock”…“showing clock”…

                    Same for Hiding clock

                    Apparently I’m not using it correctly hahahhahhahhaha

                    SO which is the correct way?

                    strawberry 3.141S 1 Reply Last reply Reply Quote 0
                    • strawberry 3.141S Offline
                      strawberry 3.141 Project Sponsor Module Developer @cowboysdude
                      last edited by

                      @cowboysdude where did you put that code piece?

                      Please create a github issue if you need help, so I can keep track

                      cowboysdudeC 1 Reply Last reply Reply Quote 0
                      • cowboysdudeC Offline
                        cowboysdude Module Developer @strawberry 3.141
                        last edited by

                        @strawberry-3.141

                        checkCommands(data) {
                                if (/(HELP)/g.test(data)) {
                                    if (/(CLOSE)/g.test(data) || (this.help && !/(OPEN)/g.test(data))) {
                                        this.help = false;
                                        this.interval = this.createInterval();
                                    } else if (/(OPEN)/g.test(data) || (!this.help && !/(CLOSE)/g.test(data))) { 
                                        this.help = true;
                                        clearInterval(this.interval);
                                    }
                                } else if (/(HIDE)/g.test(data) && /(CLOCK)/g.test(data)) {
                                  this.hide(300, {lockString: 'MMM-voice'});
                                 //  if (this.hide){
                                 // this.sendNotification('MMM-TTS', 'Hiding Clock');
                                //   }
                                }  else if (/(SHOW)/g.test(data) && /(CLOCK)/g.test(data)) {
                                  this.show(300, {lockString: 'MMM-voice'});
                                //  this.sendNotification('MMM-TTS', 'Showing clock');
                                }  
                                
                            },
                        
                        strawberry 3.141S 1 Reply Last reply Reply Quote 0
                        • strawberry 3.141S Offline
                          strawberry 3.141 Project Sponsor Module Developer @cowboysdude
                          last edited by

                          @cowboysdude could it be that the output of tts is putting you in a loop because it is triggering the command again :D try to change the output of tts so it will not trigger any output and then see if it still occurs

                          Please create a github issue if you need help, so I can keep track

                          1 Reply Last reply Reply Quote 0
                          • cowboysdudeC Offline
                            cowboysdude Module Developer
                            last edited by

                            OK have no idea what that means but I didn’t change anything and now this is all I get…

                            Error: SIOD ERROR: unbound variable : voice_us1_mbrola

                            at Socket. (/home/cowboysdude/MagicMirror/modules/MMM-TTS/node_modules/say/index.js:83:14)
                            at Socket.g (events.js:286:16)
                            at emitOne (events.js:96:13)
                            at Socket.emit (events.js:188:7)
                            at readableAddChunk (_stream_readable.js:176:18)
                            at Socket.Readable.push (_stream_readable.js:134:10)
                            at Pipe.onread (net.js:543:20)
                            
                            strawberry 3.141S 1 Reply Last reply Reply Quote 0
                            • strawberry 3.141S Offline
                              strawberry 3.141 Project Sponsor Module Developer @cowboysdude
                              last edited by

                              @cowboysdude For me it sounds like the output of tts showing clock triggered the voice module to recognize the command again, so tts said showing clock again -> infinite loop

                              Not sure what this error is

                              Please create a github issue if you need help, so I can keep track

                              1 Reply Last reply Reply Quote 0
                              • cowboysdudeC Offline
                                cowboysdude Module Developer
                                last edited by cowboysdude

                                Thanks!!! I got it… can’t understand the jibberish it’s saying but I think TTS didn’t install properly…

                                FOR the record in simple form DO NOT use the same phrases in TTS that you use for sentences for voice…

                                if anyone needs examples please let me know I’ll be happy to help.

                                1 Reply Last reply Reply Quote 0

                                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                With your input, this post could be even better 💗

                                Register Login
                                • 1 / 1
                                • 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