VoiceControl module



  • @gismo2006

    Hey Gismo, i would really appreciate that 🙂 Thank you.
    Maybe you can also help me with the pdml files. I’m not sure if i copied them into the right folder ( example: sudo mv machmusik.pdml / root).

    Greets GinSeng



  • Hi, sorry but yesterday here was a big … (in German we say “chaos”) 🙂 So I haven’t any time. But today I will have free time to help you.

    Anhand dem Namen deiner Pmdl File schließe ich du bist auch deutsch. Ich schreibe dich später an, und erklär dir mein vorgehen. Das ist für mich, auf deutsch doch einfacher als auf englisch. 🙂



  • @gismo2006

    ger: Kein Problem 🙂 Ja bin auch deutsch. Okay wäre super und auch einfacher für mich 😃

    eng: No Problem 🙂 Yep also german. That would be great and also easier for me



  • I want to say a big thank your @gismo2006 for helping me at the voice control via message. I want to share my solution and gismos help just in case someones also struggles with this.

    1. It is important to record your voice with the raspberry pi and the connected microphone ( Was my first mistake i record them at my laptop with the internal microphone)
    2. Copy the .pdml files in the home/pi/MagicMirror folder and just in case also in the voicecontroll module.
    3. Copy the name of the pdml files and don’t write them manually in the config.js

    Again a big thank you at @gismo2006 for the help and @alexyak for the module :).

    Greetings GinSeng



  • Hi, sorry at the moment I haven’t got any free time. So I have read your post first now. Because you post your solution, I think it work. You don’t have to thank me, I am happy I can help. Like other helps me if I have a problem.

    Maybe we should write the following, too.

    You shouldn’t use some words that are to simple, like Play or Stop. At my experience this words will be to simple and your mirror will not regonize the correct order and will do every order at the same time. Because the system can not decide which order you have speak out.

    Greets gismo



  • Hi, I have a problem with the module. The microphone and speaker work well. I do not understand why this happens. The error log:

    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
    Expression ‘paInvalidSampleRate’ failed in ‘src/hostapi/alsa/pa_linux_alsa.c’, line: 2048
    Expression ‘PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )’ failed in ‘src/hostapi/alsa/pa_linux_alsa.c’, line: 2719
    Expression ‘PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )’ failed in ‘src/hostapi/alsa/pa_linux_alsa.c’, line: 2843
    Traceback (most recent call last):
    File “./modules/voicecontrol/snowboy/kws-multiple.py”, line 34, in
    detector = snowboydecoder.HotwordDetector(models, sensitivity=sensitivity)
    File “/home/pi/MagicMirror/modules/voicecontrol/snowboy/snowboydecoder.py”, line 115, in init
    stream_callback=audio_callback)
    File “/usr/lib/python2.7/dist-packages/pyaudio.py”, line 747, in open
    stream = Stream(self, *args, **kwargs)
    File “/usr/lib/python2.7/dist-packages/pyaudio.py”, line 442, in init
    self._stream = pa.open(**arguments)
    IOError: [Errno Invalid sample rate] -9997
    connected



  • Is it possible to use this VoiceControl to hide iFrame and show iFrame



  • Hallo @GinSeng

    könntest Du mir viell. auf Deutsch weiterhelfen?

    Irgendwie will meine Musik nicht starten und mein Englisch ist nicht das beste 😞

    VG



  • Hi,
    I was about to try this voice control modul to start/stop my music.
    But I can’t uploade or record files to snowboy at the moment, maybe it is partly down…

    But in the meantime I was triying to understand how to correctly install everything, but I think I’m not getting it.

    Can somebody maybe put everything in correct order.
    Where do I put the codes, what do I have to change in the mm-music-player module, where do I have to put the node_helper.js (what does it do), and so on…

    In this topic there are several questions and also answers, but I would be great to put in in order and make a summary.

    Thanks



  • @Jeff
    Lets see if i can make a complete list for you.
    Step 1. cd in your MagicMirror/module folder then git clone the modul ( https://github.com/alexyak/voicecontrol.git )
    Step 2. cd in the voice module and install dependencies ( sudo apt-get install python-pyaudio python3-pyaudio sox )
    Step 3. Create snowboy files and copy them into the ( im not sure which works i copied them in 3 placed) 1. voice control module 2. mm-music-player module and MagicMirror folder
    Step 4. cd into your mm-music-player and sudo nano mm-music-player.js add following lines after this lines:
    start: function() {
    Log.info("Starting module: " + this.name);
    },

    ->> Add this
    notificationReceived: function(notification, payload, sender) {
    if (notification === “PLAY”){
    var playButton = document.getElementById(‘play-button’);
    playButton.click();

    if (notification === “STOP”){
    var pauseButton = document.getElementById(‘pause-button’);
    pauseButton.click();

    then go down to

        playButton.className = "play";
        playButton.innerHTML = '<i></i>'; 
    

    playButton.id = ‘play-button’;

        pauseButton.className = "pause";
        pauseButton.innerHTML = '<i></i>'; 
    

    pauseButton.id = ‘pause-button’;

    Then cd in your MagicMirror config and sudo nano config.js

    and add the following lines

    {
    module: ‘voicecontrol’,
    position: ‘bottom_right’,
    config: {
    models: [
    {
    keyword: “play music”, // keyword
    description:
    file: “yourfile.pmdl”,
    message: “PLAY”,
    },
    {
    keyword: “stopmusic”, // keyword
    description:
    file: “yourfile.pmdl”,
    message: “STOP”
    },

    This should be all.
    If it doesn’t work, feel free to write me a PM.
    greez GinSeng