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

VoiceControl module

Scheduled Pinned Locked Moved Utilities
79 Posts 27 Posters 98.4k Views 29 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.
  • D Offline
    DevilRev
    last edited by Jan 1, 2017, 8:26 PM

    So, I found out that there is a sensitivity setting which can be changed in one of the snowboy configs permanently but it can also be controlled for each hotword individually.

    It would be a great feature if we could set a sensitivity for each hotword in the normal config file, if you find the time i would be really thankful for this addition.

    G 1 Reply Last reply Jun 2, 2017, 2:57 PM Reply Quote 0
    • M Offline
      Medo
      last edited by Medo Jan 5, 2017, 9:43 PM Jan 5, 2017, 9:36 PM

      Searching for endless hours now, but no solution in sight…

      Im trying to trigger the mm-music-player module with this voicecontrol module (i say “MUSIK ON” and the mm-music-player starts a certain mp3 file). But no luck…

      My microfone can record audio (tested with arecord …) …

      (note: i had to change my “sudo nano /usr/share/alsa/alsa.conf” and the entries “defaults.ctl.card 1” and “defaults.pcm.card 1” from “0” to “1” to get my USB microphone working/recording)

      …and my mp3 soundfile can be played (tested with “omxplayer -o hdmi …”) - and also if i click on the mm-music-player-module…

      pm2 logs mm (after a reboot) shows this:

      [STREAMING] Now streaming realtime logs for [mm] process
      0|mm | ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
      0|mm | ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
      0|mm | ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
      0|mm | ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
      0|mm | ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
      0|mm | Cannot connect to server socket err = No such file or directory
      0|mm | Cannot connect to server request channel
      0|mm | jack server is not running or cannot be started
      0|mm | Expression ‘paInvalidSampleRate’ failed in ‘src/hostapi/alsa/pa_linux_alsa.c’, line: 2048
      0|mm | Expression ‘PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )’ failed in ‘src/hostapi/alsa/pa_linux_alsa.c’, line: 2719
      0|mm | Expression ‘PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )’ failed in ‘src/hostapi/alsa/pa_linux_alsa.c’, line: 2843
      0|mm | Traceback (most recent call last):
      0|mm | File “./modules/voicecontrol/snowboy/kws-multiple.py”, line 34, in
      0|mm | detector = snowboydecoder.HotwordDetector(models, sensitivity=sensitivity)
      0|mm | File “/home/pi/MagicMirror/modules/voicecontrol/snowboy/snowboydecoder.py”, line 115, in init
      0|mm | stream_callback=audio_callback)
      0|mm | File “/usr/lib/python2.7/dist-packages/pyaudio.py”, line 747, in open
      0|mm | stream = Stream(self, *args, **kwargs)
      0|mm | File “/usr/lib/python2.7/dist-packages/pyaudio.py”, line 442, in init
      0|mm | self._stream = pa.open(**arguments)
      0|mm | IOError: [Errno Invalid sample rate] -9997

      I…

      • installed the voicecontrol and mm-music-player
      • double checked the code
      • changed the mp3 file with another
      • implemented the code like “GinSeng” stated some lines above.
      • created the hotwords over at snowboy and copied them to “/MagicMirror”, “voicecontrol” and “mm-music-player” directories
      • …
        But im not able to find the problem…

      Any suggestions?

      Thanks a lot for your help…

      J 1 Reply Last reply Dec 6, 2017, 9:36 PM Reply Quote 0
      • T Offline
        thereisnotry87
        last edited by yawns Feb 9, 2017, 6:56 AM Feb 8, 2017, 3:17 PM

        Hello guys, it seems I have the same problem as @frodrd00 and @Medo and cannot properly run the voicecontrol module. In my case I want to use the camera module which works together with the mentioned one. I’ve checked the voicemodule.js to match with its corresponding declaration in config.js and everything looks fine.

        **config.js**
        {
            	module: 'voicecontrol',
            	position: 'bottom_left',
            	config: {
                	models: [
                    	{
                        	keyword: "Show Camera",
                        	description: "Say 'Show Camera' to display camera",
                        	file: "ShowCamera.pmdl",
                        	message: "SHOW_CAMERA"
                    	},
                    	{
                        	keyword: "Hide Camera",
                        	description: "Say 'Hide Camera' to hide camera",
                        	file: "HideCamera.pmdl",
                        	message: "HIDE_CAMERA"
                    	},
                    	{
                        	keyword: "Selfie",
                        	description: "Say 'Selfie' when camera is visible",
                        	file: "Selfie.pmdl",
                        	message: "SELFIE"
                    },
                	]
            	}
        },
        

        voicecontrol.js

        models: [
        	{
        		keyword: "Show Camera",
        		description: "Say 'Show Camera' to display camera",
        		file: "ShowCamera.pmdl",
        		message: "SHOW_CAMERA"
        	},
        	{
        		keyword: "Hide Camera",
        		description: "Say 'Hide Camera' to hide camera",
        		file: "HideCamera.pmdl",
        		message: "HIDE_CAMERA"
        	},
        	{
        		keyword: "Selfie",
        		description: "Say 'Selfie' when camera is visible",
        		file: "Selfie.pmdl",
        		message: "SELFIE"
        	},
        ]
        

        How did you manage this problem?

        ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
        ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
        
        ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
        
        ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
        
        ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
        Cannot connect to server socket err = No such file or directory
        Cannot connect to server request channel
        jack server is not running or cannot be started
        

        Thanks a lot in advance ))

        S 1 Reply Last reply Feb 9, 2017, 2:56 AM Reply Quote 0
        • S Offline
          shashank @thereisnotry87
          last edited by yawns Feb 9, 2017, 6:51 AM Feb 9, 2017, 2:56 AM

          @thereisnotry87 hi, no need to mention voicecontrol commands in config.js file, just mention only as below , make sure you have installed

          sudo apt-get install python-pyaudio python3-pyaudio sox
          

          and
          copy all pmdl files in MM root folder

          {
          module: 'voicecontrol',
          	    position: 'top_left',
          	config: {
                      }
          },
          

          go to /usr/share/alsa/alsa.conf and change 0 to 1 in below parameters

          defaults.ctl.card 1
          defaults.pcm.card 1,
          

          this worked for me.

          1 Reply Last reply Reply Quote 1
          • S Offline
            shramik49
            last edited by Mar 20, 2017, 8:07 AM

            hi,
            i am having difficulty in adding voicecontrol module on my magic mirror.
            i want to use voicecontrol to use camera.
            so can someone help me with the steps to follow?

            1 Reply Last reply Reply Quote 0
            • P Offline
              pepemujica
              last edited by Apr 9, 2017, 5:51 PM

              Hi! is it possible with this module to hide/show different modules or even switch profile with profile switcher?

              Kind regards

              1 Reply Last reply Reply Quote 0
              • D Offline
                disakos
                last edited by Apr 16, 2017, 6:49 AM

                Hello Guys , @alexyak .
                I;m running this module and hot word detection is working ok, i used my own keyword and send notfication to other modules. I can see in console.log .

                MMM-temp-ds18b20 received a module notification: LUSTRO from sender: voicecontrol
                

                In all my modules. but i’m unable to run for example script … I tried to modify node_helper.js

                /* Magic Mirror
                 * Module: voicecontrol
                 *
                 * By Alex Yaknin
                 * MIT Licensed.
                 */
                
                const NodeHelper = require('node_helper');
                const exec = require('child_process').exec;
                
                module.exports = NodeHelper.create({
                    start: function () {
                        this.started = false;
                
                    },
                
                    socketNotificationReceived: function(notification, payload) {
                                if (notification === "CONNECT") {
                                        this.startRecognition(payload);
                                        return;
                                }
                                if (notification === "LUSTRO"’) {
                                        exec("/opt/vc/bin/tvservice -o", null);
                                //      this.autosleep();
                              }
                        },
                
                

                but it is not working … ;)

                1 Reply Last reply Reply Quote 0
                • romainR Offline
                  romain
                  last edited by Apr 18, 2017, 12:33 PM

                  Hello everybody, I try to use this voicecontrol module AND mmm-alexa in the same time (mmm-alexa need to be trigger by a notification. That where voicecontrol is interesting at the moment) but because both the module use the mic, it doesn’t work.
                  If I put only one module at the time no problem. Both of them in the same time, voice control doesn’t work.
                  How can I use the same mic for two different module ?

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    disakos
                    last edited by Apr 18, 2017, 1:55 PM

                    @romain , do you use voicecontrol module to run some scripts ? If so please let me know how to do it … ;) my module is detecting my voice … but i’m unable to run something … ;)

                    romainR 1 Reply Last reply Apr 18, 2017, 2:36 PM Reply Quote 0
                    • romainR Offline
                      romain @disakos
                      last edited by romain Apr 18, 2017, 2:36 PM Apr 18, 2017, 2:36 PM

                      @disakos I didn’t use it to run script, I wanted it specificaly for mmm-alexa. However I did check that the other module received the notification It send.
                      I did that by writing my own useless module that only print the notification it received.
                      You need in your main file a

                      notificationReceived: function(notification, payload, sender){
                         //Whatever you want to do
                      },
                      

                      This is different to “socketNotificationReceived” , socket notification receive only deal with your node helper file. But “notificationReceived” catch notification send from a module to another.

                      With that in mind, you can add the notificationReceived thing to the module you want to control with the voicecontrol module or add whatever you need to it if it already exist

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 6
                      • 7
                      • 8
                      • 6 / 8
                      • 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