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-AssistantMk2

    Scheduled Pinned Locked Moved System
    421 Posts 61 Posters 559.7k Views 57 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 @teitlebot
      last edited by

      @teitlebot
      I don’t know how you do your code. I have no second sight. Show your work to examine.

      1 Reply Last reply Reply Quote 0
      • E Offline
        Egnos
        last edited by Egnos

        Hi @Sean.
        I have some questions to ask you:

        • I installed AssistantMK2 and Hotword successfully but the only way to wake up the assistant is to say “snowboy”. The hot word “smartmirror” and “jarvis” do not work. Can you help me? (my config.js below…)

        • When I ask for a song on youtube I can not stop the song anymore. The assistant does not listen to me. To talk to the assistant I have to wait for the end of the song. How do I solve?

        • When the assistant begins to speak, he cuts the first words, is it possible to solve?

        • The videos on youtube are reproduced in full screen. Is it possible to reproduce them in a small box (example: bottom right …)?

        Thanks you for your great work and patience! :winking_face:

        /* Magic Mirror Config Sample
         *
         * By Michael Teeuw http://michaelteeuw.nl
         * MIT Licensed.
         *
         * For more information how you can configurate this file
         * See https://github.com/MichMich/MagicMirror#configuration
         *
         */
        
        var config = {
        	address: "localhost", // Address to listen on, can be:
        	                      // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
        	                      // - another specific IPv4/6 to listen on a specific interface
        	                      // - "", "0.0.0.0", "::" to listen on any interface
        	                      // Default, when address config is left out, is "localhost"
        	port: 8080,
        	ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
        	                                                       // or add a specific IPv4 of 192.168.1.5 :
        	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
        	                                                       // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
        	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
        
        	language: "en",
        	timeFormat: 24,
        	units: "metric",
        
        	modules: [
        		{
        		  module: "MMM-AssistantMk2",
        		  position: "top_right",
        		  config: {
        		    /*useWelcomeMessage: "brief today",*/
        		    deviceLocation: {
        					coordinates: { // set the latitude and longitude of the device to get localized information like weather or time. (ref. mygeoposition.com)
        					latitude: 45.200049, // -90.0 - +90.0
        					longitude: 7.568917, // -180.0 - +180.0					
                  }
                },
        			profiles: {
        				"default" : { // profile name.
        				profileFile: "default.json", // profile file name.
        				lang: "it-IT",
        				//currently available (estimation, not all tested):
        				//  de-DE, en-AU, en-CA, en-GB, en-US, en-IN
        				// fr-CA, fr-FR, it-IT, ja-JP, es-ES, es-MX, ko-KR, pt-BR
        				// https://developers.google.com/assistant/sdk/reference/rpc/languages
        				}
                },
        			record: { // Full values are in `FOR EXPERTS` section.
        				recordProgram: "arecord",  // Defaults to "arecord" - also supports "rec" and "sox"
        				device: "plughw:1"        // recording device (e.g.: "plughw:1")
              },
        			play: { // Full values are in `FOR EXPERTS` section.
        				playProgram: "mpg321", // recommended.
        			},
        			notifications: {
                ASSISTANT_ACTIVATED: "HOTWORD_PAUSE",
                ASSISTANT_DEACTIVATED: "HOTWORD_RESUME",
              },        
             
        				}
            },
        		{
            module: "MMM-Hotword",
            config: {
              record: {
                recordProgram : "arecord",  
                device        : "plughw:1",
              },
              autostart:true,
              onDetected: {
                notification: function (payload) {
                  return "ASSISTANT_ACTIVATE"
                },
                payload: function (payload){
                  return {
                    profile: payload.hotword
                  }
                }
              },
            },
          },	
        	
        {
          module: 'MMM-Hotword',
          config: {
            snowboy: [
          {
            hotwords: "smartmirror", //this will be sent to other module for distinguishing which hotword is detected.
            file: "resources/models/smart_mirror.umdl",
            sensitivity: '0.5',
          },
          {
            hotwords: "snowboy",
            file: "resources/models/snowboy.umdl",
            sensitivity: '0.5',
          },
          {
            file: 'resources/models/jarvis.umdl',
            sensitivity: '0.8,0.80',
            hotwords: ['jarvis','jarvis'] //Kitt.ai changed their Jarvis UMDL, it has 2 models in one file. So weird.
            //anyway, you can give different name for each. ['jarvis_1', 'jarvis_2']. Even though I think this is useless.
          }
            ],
            record: {
              sampleRate    : 16000,      // audio sample rate
              threshold     : 0.5,        // silence threshold (rec only)
              thresholdStart: null,       // silence threshold to start recording, overrides threshold (rec only)
              thresholdEnd  : null,       // silence threshold to end recording, overrides threshold (rec only)
              silence       : 1.0,        // seconds of silence before ending
              verbose       : true,      // log info to the console. Use this when you want to check mic working or not.
              recordProgram : 'arecord',  // Defaults to 'arecord' - also supports 'rec' and 'sox'
              device        : 'plughw:1'        // recording device (e.g.: 'plughw:1')
            },
            autostart: true,              // if 'false', this module will wait for 'HOTWORD_RESUME' notification to start hotwords detection at the beginning.
            autorestart: false,          // You can set this 'true' when you want this module to go back to listening mode automatically again after hotword is detected. But use this carefully when your other modules are using microphone or speaker.
        
            // customizable notification trigger
            notifications: {
              PAUSE: "HOTWORD_PAUSE",
              RESUME: "HOTWORD_RESUME",
              LISTENING : "HOTWORD_LISTENING",
              SLEEPING : "HOTWORD_SLEEPING",
              ERROR : "HOTWORD_ERROR",
            },
            onDetected: {
              notification: (payload) => {
                return "HOTWORD_DETECTED"
              },
              payload: (payload) => {
                return payload
              }
            },
          }
        },
        
        /*		{
                module: 'MMM-pages',
                config: {
                        modules:
                            [[ "weatherforecast", "newsfeed"],
                             [ "calendar", "compliments" ]],
                        excludes: ["clock", "currentweather", "MMM-page-indicator", "MMM-AssistantMk2"],
        				}
        		},
        		{
                module: 'MMM-page-indicator',
                position: 'bottom_bar',
                config: {
                    pages: 3,
        			}
        		},
        */		{
        			module: "alert",
        		},
        		{
        			module: "updatenotification",
        			position: "top_bar"
        		},
        		{
        			module: "clock",
        			position: "top_left"
        		},
        		{
        			module: "calendar",
        			header: "US Holidays",
        			position: "top_left",
        			config: {
        				calendars: [
        					{
        						symbol: "calendar-check-o ",
        						url: "webcal://www.calendarlabs.com/templates/ical/US-Holidays.ics"
        					}
        				]
        			}
        		},
        		{
        			module: "compliments",
        			position: "lower_third"
        		},
        		{
        			module: "currentweather",
        			position: "top_right",
        			config: {
        				location: "New York",
        				locationID: "",  //ID from http://bulk.openweathermap.org/sample/; unzip the gz file and find your city
        				appid: "YOUR_OPENWEATHER_API_KEY"
        			}
        		},
        		{
        			module: "weatherforecast",
        			position: "top_right",
        			header: "Weather Forecast",
        			config: {
        				location: "New York",
        				locationID: "5128581",  //ID from http://www.openweathermap.org/help/city_list.txt
        				appid: "YOUR_OPENWEATHER_API_KEY"
        			}
        		},
        		{
        			module: "newsfeed",
        			position: "bottom_bar",
        			config: {
        				feeds: [
        					{
        						title: "La Stampa",
        						url: "https://www.lastampa.it/rss.xml"
        					}
        				],
        				showSourceTitle: true,
        				showPublishDate: true
        			}
        		},
        	]
        
        };
        
        /*************** DO NOT EDIT THE LINE BELOW ***************/
        if (typeof module !== "undefined") {module.exports = config;}
        
        

        My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

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

          @egnos

          I installed AssistantMK2 and Hotword successfully but the only way to wake up the assistant is to say “snowboy”. The hot word “smartmirror” and “jarvis” do not work. Can you help me? (my config.js below…)

          Adjust sensitivity.

          When I ask for a song on youtube I can not stop the song anymore. The assistant does not listen to me. To talk to the assistant I have to wait for the end of the song. How do I solve?

          set pauseOnYoutube:false. You can activate hotword during videoplaying and it will stop the video. Anyway, there is a risk that your video sounds could also activate hotword.

          When the assistant begins to speak, he cuts the first words, is it possible to solve?

          I think you are using HDMI as output. HDMI could have that symptom. Use other output.

          The videos on youtube are reproduced in full screen. Is it possible to reproduce them in a small box (example: bottom right …)?

          Redefine CSS selector #ASSISTANT_YOUTUBE in css/custom.css.

          E R 2 Replies Last reply Reply Quote 0
          • E Offline
            Egnos @Guest
            last edited by Egnos

            @sean said in MMM-AssistantMk2:

            Adjust sensitivity.

            The sensitivity of the microphone?
            If yes, how do you do it?

            @sean said in MMM-AssistantMk2:

            Redefine CSS selector #ASSISTANT_YOUTUBE in css/custom.css.

            Where should I make this modify?

            Thanks a lot!

            My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

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

              @egnos

              {
                  hotwords: "smartmirror", 
                  file: "resources/models/smart_mirror.umdl",
                  sensitivity: '0.5', // < - SENSITIVITY
                },
              

              Where should I make this modify?

              css/custom.css

              1 Reply Last reply Reply Quote 1
              • T Offline
                teitlebot @jomwells
                last edited by

                @jomwells @Sean
                I seem to have always had this problem where after a reboot I sometimes need to manually change the hardware number of my usb mic. I saw @jomwells wrote a fix by changing the .asoundrc file but for some reason my system always changes the asoundrc back after any changes I make.
                I wonder if you have any ideas of a fix for me?

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

                  @teitlebot
                  As far as I know, there be alias for device instead cardno. But not sure. I’m not familiar with these things.

                  1 Reply Last reply Reply Quote 0
                  • E Offline
                    Egnos
                    last edited by

                    Sorry @Sean I’m new in the MagicMirror environment and I do not know all the components.
                    Where can I find information on what is needed and how to customize the “custom.css” file?
                    What do you mean:

                    Redefine CSS selector #ASSISTANT_YOUTUBE in css/custom.css.

                    MagicMirror use the “custom.css” or “main.css”?

                    Thanks

                    My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

                    bheplerB ? 2 Replies Last reply Reply Quote 0
                    • bheplerB Offline
                      bhepler Module Developer @Egnos
                      last edited by bhepler

                      @egnos It uses both. Changes you make to custom.css will 1) be included in the mirror’s display and 2) persist if you update when new mirror code is released.

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

                        @egnos
                        There are 3 endpoints of CSS applied.

                        • CSS of module itself(modules/SOMEMODULE/SOMEMODULE.css) : It is predefined CSS for module by it’s developer.
                        • main magicmirror css (css/main.css) : This is common CSS for Mirror itself and basic default module CSS.
                        • custom css (css/custom.css) : When you need to modify some CSS rules over SOMEMODULE.css and main.css, You can redefine or override that CSS rules here.

                        By example;
                        #ASSISTANT_YOUTUBE is defined in modules/MMM-AssistantMk2/MMM-AssistantMk2.js like this;

                        #ASSISTANT_YOUTUBE {
                          width:100%;
                          height:100%;
                          border:none;
                          display:none;
                          position:fixed;
                          top:0;
                          left:0;
                          background-color:rgba(0,0,0,0.5);
                          z-index:99999;
                        }
                        

                        When you want to modify some CSS rules - smaller size -, you can override those rules in your css/custom.css instead modify MMM-AssisntantMk2.js directly.

                        #ASSISTANT_YOUTUBE {
                          width: 50%;
                          height:50%;
                          top: 25%;
                          left: 25%;
                        }
                        
                        1 Reply Last reply Reply Quote 1
                        • 1
                        • 2
                        • 22
                        • 23
                        • 24
                        • 25
                        • 26
                        • 42
                        • 43
                        • 24 / 43
                        • 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