<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MMM-Hotword (v2) - whole-new-built]]></title><description><![CDATA[<h2>MMM-Hotword</h2>
<p dir="auto">MMM-Hotword is a hotword detector using snowboy.<br />
You can use this module to wake another voice assistant or to give a command to other module.</p>
<h3>Screenshot</h3>
<p dir="auto"><img src="https://github.com/eouia/MMM-Hotword/raw/master/resources/screenshot.png" alt="screenshot" class=" img-fluid img-markdown" /></p>
<h3>UPDATES</h3>
<p dir="auto"><strong>2.0.0 (2019-05-19)</strong></p>
<ul>
<li>Whole new build-up</li>
<li>Some annoying dependencies are removed.</li>
<li>Installer is provided. (<code>installer/install.sh</code>)</li>
<li>Personal model trainer is provided. (<code>trainer/trainer.sh</code>)</li>
<li>Continuous recording after hotword detection is supported (Now you can say like “Computer, volume up” without pausing between <code>Computer</code> and <code>volume up</code>)
<ul>
<li>This feature could be used with <code>MMM-AssistantMk2 ver3.x</code>(Not yet released, but will arrive soon)</li>
<li>Or you can use this feature with other AI or Speech-To-Text program.</li>
</ul>
</li>
<li>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”)</li>
<li>More universal models are added. (<code>computer</code>, <code>subex</code>, <code>hey extreme</code> and more.)</li>
<li>Hotword detected could be displayed on screen of MM.</li>
</ul>
<h2>Download</h2>
<p dir="auto">[card:eouia/MMM-Hotword]</p>
<h3>Last Tested; (2019-05-19)</h3>
<ul>
<li>MagicMirror : v2.7.1</li>
<li>Tested Environment :
<ul>
<li>Raspbian Stretch (Raspbian 3B+) / node v8.16.0 / npm v6.4.1</li>
<li>TinkerOS (TinkerBoard)</li>
<li>Ubuntu 18.04 (NVIDIA Jetson Nano)</li>
<li>OSX 10.14.4 (Apple MacBookPro) / node v11.12.0 / npm v6.7.0</li>
</ul>
</li>
</ul>
]]></description><link>https://forum.magicmirror.builders/topic/10470/mmm-hotword-v2-whole-new-built</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 15:13:08 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/10470.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 May 2019 13:43:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Mon, 16 Mar 2020 20:04:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/bronno" aria-label="Profile: Bronno">@<bdi>Bronno</bdi></a><br />
And by such a reason, Even though I made these modules, I don’t use Hotword. I thought that was fun, but looks a bit ridiculous. In front of mirror, saying “smart mirror” looks somewhat self-contious excessed. :D<br />
Instead, I use generally gesture or finger snap. It looks more cool. ( I think)</p>
]]></description><link>https://forum.magicmirror.builders/post/70662</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/70662</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Mon, 16 Mar 2020 20:04:28 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Mon, 16 Mar 2020 19:59:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/bronno" aria-label="Profile: Bronno">@<bdi>Bronno</bdi></a></p>
<p dir="auto">Frankly says, not many options. There is always possibility of confusing with other sound sources(even noise)<br />
Not surprisingly, real commercial products like google home also misbehavior sometimes. Nobody is saying g of google, but google home be activated.<br />
However, not so may times. Because;</p>
<ul>
<li>their detector is more dedicated to their own special pattern, which is result of advanced engineering and tech by google, amazon, apple,… ours are not such a level.</li>
<li>they use arrayed mic with phonetic/acoustic science. So they can determine direction, distance and dimension of each sound sources. So they can KNOW what is real voice from human in the room, not noise, not music, not too far, and even not the sound from speaker itself at that moment.</li>
</ul>
<p dir="auto">Those are why they can detect precisely.</p>
]]></description><link>https://forum.magicmirror.builders/post/70660</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/70660</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Mon, 16 Mar 2020 19:59:50 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Mon, 16 Mar 2020 19:41:06 GMT]]></title><description><![CDATA[<p dir="auto">mmm-hotword is working well for me. I created it with first with the website Snowboy, later to make it better with <a href="http://trainer.sh" target="_blank" rel="noopener noreferrer nofollow ugc">trainer.sh</a>. Sensity 0.5, later 0.9. With my voice it is working well, but for any noice from my wife, youtube movie, mmm-screencash, clocksound etc Google Assistant is activated many times. Also when nothing is said - only some “noise”. The file that is created (when it is Not the hot word) is only a small part of a word/ some sound - but it creates a connection with GA. Any idea how I can make it better?</p>
]]></description><link>https://forum.magicmirror.builders/post/70659</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/70659</guid><dc:creator><![CDATA[Bronno]]></dc:creator><pubDate>Mon, 16 Mar 2020 19:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 09 Jan 2020 09:36:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guongthongminh" aria-label="Profile: guongthongminh">@<bdi>guongthongminh</bdi></a><br />
Well, you don’t need to use <code>MMM-NotificationTrigger</code>. I can’t understand why you use that. MMM-Hotword itself has the feature of emitting notification(You’re already using.)</p>
<pre><code class="language-js">{
  fire: "HOTWORD_RESUME",
},
{
  fire: "HOTWORD_PAUSE",
}
</code></pre>
<p dir="auto">It doesn’t make any sense at all. This means “HOTWORD_RESUME” and “HOTWORD_PAUSE” at a same time. Why this part be needed? This would make your MMM-Hotword being paused.</p>
]]></description><link>https://forum.magicmirror.builders/post/67727</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/67727</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Thu, 09 Jan 2020 09:36:29 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 09 Jan 2020 04:00:38 GMT]]></title><description><![CDATA[<p dir="auto">@Sean<br />
I have built two hot words like this to call each page. I call the first page works, but by the time I call the second page is not working? Please point out the error and help me!<br />
<img src="https://www.upsieutoc.com/images/2020/01/09/hoi09.jpg" alt="alt text" class=" img-fluid img-markdown" /><br />
<img src="https://www.upsieutoc.com/images/2020/01/09/hoi10.jpg" alt="alt text" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.magicmirror.builders/post/67726</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/67726</guid><dc:creator><![CDATA[guongthongminh]]></dc:creator><pubDate>Thu, 09 Jan 2020 04:00:38 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Fri, 19 Jul 2019 07:14:16 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/smarthome" aria-label="Profile: smarthome">@<bdi>smarthome</bdi></a><br />
Did you use <code>trainer.sh</code> of the module to make your pmdl? or made it on snowboy website? pmdl is somewhat sensitive so, if you made it on another platform (e.g. your desktop pc) or other device(e.g different mic with your RPI’s), it might not work.<br />
Anyway, How do you figure out `only noise?</p>
]]></description><link>https://forum.magicmirror.builders/post/59150</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59150</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Fri, 19 Jul 2019 07:14:16 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Fri, 19 Jul 2019 02:55:34 GMT]]></title><description><![CDATA[<p dir="auto">@Sean</p>
<p dir="auto">I created some hotwords by myself on <a href="https://snowboy.kitt.ai/" target="_blank" rel="noopener noreferrer nofollow ugc">https://snowboy.kitt.ai/</a> under .pmdl extension, then save to model folder in MMM Hotword<br />
After configure MMM-Hotword in MMM config file to use these hotwords, MMM-Hotword auto detect hotwords and do the action, why no input voice signal to mic, only noise…<br />
I tried to incrase hotword from  1 word to 2 words, one to multiple syllables, but cant not stop this issuse<br />
I’ve check the configuration, everthing is normal.<br />
What’s happen? How to fix that?</p>
<p dir="auto">Tks!</p>
]]></description><link>https://forum.magicmirror.builders/post/59148</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59148</guid><dc:creator><![CDATA[smarthome]]></dc:creator><pubDate>Fri, 19 Jul 2019 02:55:34 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 18 Jul 2019 14:29:17 GMT]]></title><description><![CDATA[<p dir="auto">@Sean<br />
Finally, it worked, many thank for your help!</p>
]]></description><link>https://forum.magicmirror.builders/post/59126</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59126</guid><dc:creator><![CDATA[smarthome]]></dc:creator><pubDate>Thu, 18 Jul 2019 14:29:17 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 18 Jul 2019 13:50:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/smarthome" aria-label="Profile: smarthome">@<bdi>smarthome</bdi></a><br />
Well, check the log. and tell me whether suspicious logs be there.</p>
<pre><code class="language-js">  fire: "PAGE_SELECT",
  payload: (pl) =&gt; {return 1}
</code></pre>
<p dir="auto">is equivalent to <code>.sendNotification("PAGE_SELECT", 1)</code>. whatever <code>pl</code> would come, it will be transfomed(or modified, whatever you want to call) and the fired notification would have <code>1</code> as payload.</p>
]]></description><link>https://forum.magicmirror.builders/post/59125</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59125</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Thu, 18 Jul 2019 13:50:14 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 18 Jul 2019 13:23:42 GMT]]></title><description><![CDATA[<p dir="auto">@Sean<br />
Your notification code didn’t work.  Nothing happen :(<br />
Could you check it again, pls</p>
<pre><code>payload: (payload) =&gt; { //OPTIONAL. transform received payload to what your target module wants.
</code></pre>
<p dir="auto">You mean that: MMM Notification transform only, can not modify the payload then transform?</p>
]]></description><link>https://forum.magicmirror.builders/post/59124</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59124</guid><dc:creator><![CDATA[smarthome]]></dc:creator><pubDate>Thu, 18 Jul 2019 13:23:42 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 18 Jul 2019 09:18:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/smarthome" aria-label="Profile: smarthome">@<bdi>smarthome</bdi></a></p>
<pre><code class="language-js">{
  module: "MMM-NotificationTrigger",
  config: {
    triggers:[
      {
        trigger: "PAGE_SELECT_1",
        fires: [
          {
            fire: "PAGE_SELECT",
            payload: (pl) =&gt; {return 1}
          },
          {
            fire: "ASSISTANT_SAY",
            payload: (pl) =&gt; {return "ASSISTANT_SAY"}
          }
        ]
      }
    ]
  }
},
</code></pre>
<p dir="auto"><code>PAGE_SELECT_1</code> from notificationExec of Hotword.</p>
]]></description><link>https://forum.magicmirror.builders/post/59115</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59115</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Thu, 18 Jul 2019 09:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 18 Jul 2019 09:13:36 GMT]]></title><description><![CDATA[<p dir="auto">@Sean<br />
1/Could you give me the code in MMM Notification Trigger</p>
<p dir="auto">2/Your code with ModuleExec didn’t work</p>
<p dir="auto">3/I’m considering to use MMM TTS/Google TTS, but woud like to l try the simple solution first</p>
]]></description><link>https://forum.magicmirror.builders/post/59114</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59114</guid><dc:creator><![CDATA[smarthome]]></dc:creator><pubDate>Thu, 18 Jul 2019 09:13:36 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 18 Jul 2019 08:20:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/smarthome" aria-label="Profile: smarthome">@<bdi>smarthome</bdi></a><br />
With only <code>notificationExec</code> of MMM-Hotword, you can send only one notification.<br />
There are 2 solutions.</p>
<ol>
<li>Use <code>MMM-NotificationTrigger</code>, it can fire several notifications at a time by one trigger.</li>
<li>You can use <code>moduleExec</code> to call inner methods directly.</li>
</ol>
<pre><code class="language-js">moduleExec: {
  module: [],
  exec: (module) =&gt; {
    if (module.name == "MMM-Page-Selector") {
      module.notificationRecieved("PAGE_SELECT", 1)
    }
    if (module.name == "MMM-AssistantMk2") {
      module.notificationRecieved("ASSISTANT_SAY", "Open News Page")
    }
  }
}
</code></pre>
<p dir="auto">(not tested code, but you can catch the concept. You can use <code>sendNotification</code> from sender module instead using <code>notificationReceived</code> of target module)</p>
<p dir="auto"><strong>PS</strong> AMK2 has some TTS-like feature(ASSISTANT_SAY) but I recommend you to use dedicated TTS modules like MMM-TTS or MMM-GoogleTTS.</p>
]]></description><link>https://forum.magicmirror.builders/post/59112</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59112</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Thu, 18 Jul 2019 08:20:36 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Thu, 18 Jul 2019 08:17:33 GMT]]></title><description><![CDATA[<p dir="auto">@Sean<br />
Can I send double notificationExec to 2 Module with ony 1 hotword<br />
1st to MMM Page-Selector<br />
2nd to Assistant MK2 speaks about this action</p>
<pre><code>"open_news": {
notificationExec: {	
notification: "PAGE_SELECT",
payload:1
notification: "ASSISTANT_SAY",
payload:"Open News page"
restart:true,			
				},
</code></pre>
<p dir="auto">Also combine</p>
<pre><code>"open_news": {
				notificationExec: {			
					notification: {"PAGE_SELECT","ASSISTANT_SAY"}
					payload:(1,"Open News page"}				
					},
				restart:true,			
				},
</code></pre>
<p dir="auto">But in real test, only ASSISTANT_SAY can be executed</p>
<p dir="auto">How can I do that for both?</p>
<p dir="auto">Tks!</p>
]]></description><link>https://forum.magicmirror.builders/post/59110</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59110</guid><dc:creator><![CDATA[smarthome]]></dc:creator><pubDate>Thu, 18 Jul 2019 08:17:33 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Wed, 17 Jul 2019 07:09:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/smarthome" aria-label="Profile: smarthome">@<bdi>smarthome</bdi></a><br />
In some modules of mine (MMM-Clap and MMM-GroveGestures…) have <code>commandsMode or commandSet</code> 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.</p>
]]></description><link>https://forum.magicmirror.builders/post/59053</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59053</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Wed, 17 Jul 2019 07:09:15 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Wed, 17 Jul 2019 03:11:45 GMT]]></title><description><![CDATA[<p dir="auto">@Sean</p>
<p dir="auto">Is there any “while…do” structure for using “hotword”, if have, we can do this lock function that temporary disable hotword</p>
<p dir="auto">for example, the hotword to work with MMM Assistant MK2 is “google”</p>
<p dir="auto">the hotword to lock is “lock_now”, the hotword to  unlock is “hello123”</p>
<p dir="auto">hotword lock detect procedure is background running</p>
<p dir="auto">The structure is:</p>
<pre><code>while  
{
(("hotword lock detect procedure" )not equal to "lock_now" ) &amp;&amp; ("hotword lock detect procedure" )not equal to "unlock_now" ) 
}
do
{
- setup hotword "google" to interactive  MMM Assistant MK2 
}
</code></pre>
]]></description><link>https://forum.magicmirror.builders/post/59050</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59050</guid><dc:creator><![CDATA[smarthome]]></dc:creator><pubDate>Wed, 17 Jul 2019 03:11:45 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Tue, 16 Jul 2019 11:12:44 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/smarthome" aria-label="Profile: smarthome">@<bdi>smarthome</bdi></a><br />
Well, hiding/revealing mechanism is only to call <code>hide/show</code> 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.</p>
]]></description><link>https://forum.magicmirror.builders/post/59014</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59014</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Tue, 16 Jul 2019 11:12:44 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Wed, 17 Jul 2019 03:01:06 GMT]]></title><description><![CDATA[<p dir="auto">@Sean Tks for your great work job.<br />
I use hotword to do a lot of thing with smart mirror. But still have a problem bellow:<br />
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<br />
Everything seem OK. But when locked, other hotword to interactive with modules still effect in background and lock function can’t prevent this<br />
My question is How to temporary disable all  hotword until it unlocks again? Tks!</p>
]]></description><link>https://forum.magicmirror.builders/post/59010</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/59010</guid><dc:creator><![CDATA[smarthome]]></dc:creator><pubDate>Wed, 17 Jul 2019 03:01:06 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Sat, 25 May 2019 08:17:06 GMT]]></title><description><![CDATA[<p dir="auto">Hi @Sean installed without problems. Great rebuild of MMM-Hotword !</p>
]]></description><link>https://forum.magicmirror.builders/post/57408</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/57408</guid><dc:creator><![CDATA[Lowis]]></dc:creator><pubDate>Sat, 25 May 2019 08:17:06 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Hotword (v2) - whole-new-built on Sun, 19 May 2019 13:52:50 GMT]]></title><description><![CDATA[<p dir="auto">Now you don’t need <code>MMM-AssistantMk2</code> to make a simple command to handle MM. (But if you want, it’s your choice.) Standalone <code>MMM-Hotword</code> can control MM with your voice simply.</p>
]]></description><link>https://forum.magicmirror.builders/post/57182</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/57182</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Sun, 19 May 2019 13:52:50 GMT</pubDate></item></channel></rss>