• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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-Hotword (v2) - whole-new-built

Scheduled Pinned Locked Moved System
21 Posts 5 Posters 7.0k 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.
  • ? Offline
    A Former User
    last edited by May 19, 2019, 1:43 PM

    MMM-Hotword

    MMM-Hotword is a hotword detector using snowboy.
    You can use this module to wake another voice assistant or to give a command to other module.

    Screenshot

    screenshot

    UPDATES

    2.0.0 (2019-05-19)

    • Whole new build-up
    • Some annoying dependencies are removed.
    • Installer is provided. (installer/install.sh)
    • Personal model trainer is provided. (trainer/trainer.sh)
    • Continuous recording after hotword detection is supported (Now you can say like “Computer, volume up” without pausing between Computer and volume up)
      • This feature could be used with MMM-AssistantMk2 ver3.x(Not yet released, but will arrive soon)
      • Or you can use this feature with other AI or Speech-To-Text program.
    • Simple standalone commands could be available. (Without any Assistant or Speech-To-Text, you can make own voice commands with this module standalone.). Commands could be combined sequence (You can make “volume-louder” with voice models “volume” and “louder”)
    • More universal models are added. (computer, subex, hey extreme and more.)
    • Hotword detected could be displayed on screen of MM.

    Download

    [card:eouia/MMM-Hotword]

    Last Tested; (2019-05-19)

    • MagicMirror : v2.7.1
    • Tested Environment :
      • Raspbian Stretch (Raspbian 3B+) / node v8.16.0 / npm v6.4.1
      • TinkerOS (TinkerBoard)
      • Ubuntu 18.04 (NVIDIA Jetson Nano)
      • OSX 10.14.4 (Apple MacBookPro) / node v11.12.0 / npm v6.7.0
    S 1 Reply Last reply Jul 16, 2019, 11:06 AM Reply Quote 3
    • ? Offline
      A Former User
      last edited by May 19, 2019, 1:52 PM

      Now you don’t need MMM-AssistantMk2 to make a simple command to handle MM. (But if you want, it’s your choice.) Standalone MMM-Hotword can control MM with your voice simply.

      1 Reply Last reply Reply Quote 1
      • L Offline
        Lowis
        last edited by May 25, 2019, 8:17 AM

        Hi @Sean installed without problems. Great rebuild of MMM-Hotword !

        1 Reply Last reply Reply Quote 0
        • S Offline
          smarthome @Guest
          last edited by smarthome Jul 17, 2019, 3:01 AM Jul 16, 2019, 11:06 AM

          @Sean Tks for your great work job.
          I use hotword to do a lot of thing with smart mirror. But still have a problem bellow:
          I’d like to setup a lock function that hide all modun bellow a background screen and waitting only 1 hotword to show it again
          Everything seem OK. But when locked, other hotword to interactive with modules still effect in background and lock function can’t prevent this
          My question is How to temporary disable all hotword until it unlocks again? Tks!

          ? 1 Reply Last reply Jul 16, 2019, 11:12 AM Reply Quote 0
          • ? Offline
            A Former User @smarthome
            last edited by Jul 16, 2019, 11:12 AM

            @smarthome
            Well, hiding/revealing mechanism is only to call hide/show methods of target modules. During its hiding, what to be done or not will be the responsibility of that target module itself. If some module should be not working during hiding, it is the business of that module.

            S 1 Reply Last reply Jul 17, 2019, 3:11 AM Reply Quote 0
            • S Offline
              smarthome @Guest
              last edited by Jul 17, 2019, 3:11 AM

              @Sean

              Is there any “while…do” structure for using “hotword”, if have, we can do this lock function that temporary disable hotword

              for example, the hotword to work with MMM Assistant MK2 is “google”

              the hotword to lock is “lock_now”, the hotword to unlock is “hello123”

              hotword lock detect procedure is background running

              The structure is:

              while  
              {
              (("hotword lock detect procedure" )not equal to "lock_now" ) && ("hotword lock detect procedure" )not equal to "unlock_now" ) 
              }
              do
              {
              - setup hotword "google" to interactive  MMM Assistant MK2 
              }
              
              ? 1 Reply Last reply Jul 17, 2019, 7:07 AM Reply Quote 0
              • ? Offline
                A Former User @smarthome
                last edited by A Former User Jul 17, 2019, 7:09 AM Jul 17, 2019, 7:07 AM

                @smarthome
                In some modules of mine (MMM-Clap and MMM-GroveGestures…) have commandsMode or commandSet for different command sets by condition, but not this. I think it could be considerable for your needs. But anyway, I’m quite busy nowadays, so cannot support it immediately.

                S 1 Reply Last reply Jul 18, 2019, 7:56 AM Reply Quote 0
                • S Offline
                  smarthome @Guest
                  last edited by smarthome Jul 18, 2019, 8:17 AM Jul 18, 2019, 7:56 AM

                  @Sean
                  Can I send double notificationExec to 2 Module with ony 1 hotword
                  1st to MMM Page-Selector
                  2nd to Assistant MK2 speaks about this action

                  "open_news": {
                  notificationExec: {	
                  notification: "PAGE_SELECT",
                  payload:1
                  notification: "ASSISTANT_SAY",
                  payload:"Open News page"
                  restart:true,			
                  				},
                  

                  Also combine

                  "open_news": {
                  				notificationExec: {			
                  					notification: {"PAGE_SELECT","ASSISTANT_SAY"}
                  					payload:(1,"Open News page"}				
                  					},
                  				restart:true,			
                  				},
                  

                  But in real test, only ASSISTANT_SAY can be executed

                  How can I do that for both?

                  Tks!

                  ? 1 Reply Last reply Jul 18, 2019, 8:13 AM Reply Quote 0
                  • ? Offline
                    A Former User @smarthome
                    last edited by A Former User Jul 18, 2019, 8:20 AM Jul 18, 2019, 8:13 AM

                    @smarthome
                    With only notificationExec of MMM-Hotword, you can send only one notification.
                    There are 2 solutions.

                    1. Use MMM-NotificationTrigger, it can fire several notifications at a time by one trigger.
                    2. You can use moduleExec to call inner methods directly.
                    moduleExec: {
                      module: [],
                      exec: (module) => {
                        if (module.name == "MMM-Page-Selector") {
                          module.notificationRecieved("PAGE_SELECT", 1)
                        }
                        if (module.name == "MMM-AssistantMk2") {
                          module.notificationRecieved("ASSISTANT_SAY", "Open News Page")
                        }
                      }
                    }
                    

                    (not tested code, but you can catch the concept. You can use sendNotification from sender module instead using notificationReceived of target module)

                    PS AMK2 has some TTS-like feature(ASSISTANT_SAY) but I recommend you to use dedicated TTS modules like MMM-TTS or MMM-GoogleTTS.

                    S 1 Reply Last reply Jul 18, 2019, 9:11 AM Reply Quote 0
                    • S Offline
                      smarthome @Guest
                      last edited by smarthome Jul 18, 2019, 9:13 AM Jul 18, 2019, 9:11 AM

                      @Sean
                      1/Could you give me the code in MMM Notification Trigger

                      2/Your code with ModuleExec didn’t work

                      3/I’m considering to use MMM TTS/Google TTS, but woud like to l try the simple solution first

                      ? 1 Reply Last reply Jul 18, 2019, 9:18 AM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 1 / 3
                      • 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