Howto mute the microphone when noise in room (false wake up detection)

I think i would recommend you to use the http api rather than mqtt to toggle it back on.
Maybe this is a little bit faster (i do it this way)
just call rhasspyip/api/listen-for-wake and in the payload you have on and off
https://rhasspy.readthedocs.io/en/latest/reference/#:~:text=in%20recognized%20intent-,/api/listen-for-wake,-POST%20"on"%20to

but jeah it doesn’t work with any app :confused:

As rolyan repeatedly points out, the cheaper multi-mic sound card hardware gives no benefit without the DSP programming, But … they are sold as development boards, not as end-user products.

I have noticed here that some people are using Jabra, reSpeaker USB and other high-end conferencing mics which already have the DSP programming built-in - and so I expect are much better for Voice Assistant. But they are too expensive for me to put around the house :frowning_face: But even these high-end multi-mic units with all the DSP are for a specific niche market - meeting room / audio conference, which assumes one person speaking at a time and external/background noise is minimised.

But if more than one person is speaking (or there is a TV or background noise) how can the DSP beamforming know which sound to focus on ? Thinking more about it, it will take an awful lot more AI to be able to isolate individual voices from the background … and I don’t see that in the foreseeable future… not in my price range anyhow :wink:

… so, if no mic can cope well with a noisy environment, what is the alternative ? To turn the mic off when it is noisy.

Well, I disabled my node-RED sequence from post #19. From memory I think it was because (a) I can’t pause live TV, and (b) increasing the responsiveness of the sequence meant checking more frequently, which ended up taking up all the CPU time.

Instead I have gone with the “big red button” approach; currently implemented as two sequences from two buttons on my Home Assistant dashboard.


These use the same nodes as before, with addition of nodes which I found worked on my nVidia ShieldTV to pause and play (for streamed content) and mute and un-mute (for live TV content).

Now I just have to decide between buying a tablet to dedicate as a HA control panel on the coffee table (max functionality, but expensive); an Aeotec, Sonoff or similar smart button; or wiring up a switch and programming my livingroom RasPi rhasspy satellite (cheap, but for me most difficult).

Hi !

Finaly, i’ve used a MagicCube to control the mute and unmute (via mqtt message).
The left rotation mute, and, to remember this, i switch on the light on my ZStick.
And the right rotation does the unmute and switch off the light on the ZStick.

1 Like

Personally, I find it quite humorous when Rhasspy listens in on my TV and when I’m having Teams meetings with my colleagues and the (unfortunately chosen) wake word of “computer” is mentioned.
It’s always an interesting gamble trying to predict how the system will interpret the next few seconds of speech and what it will come up with! :smiley:

Thankfully, my HA system does not have control of anything critical so there can never be any real damage from these eavesdropping activations.

Thanks for the interesting discussion though. I have a simple button here on my coffee table which can turn the lights in my living room on and off. (It’s a much faster interface than telling HA to do it via Rhasspy.) With a quick reprint of the case and the addition of an extra button, it should be simple to add a “stop listening” button to the device. I probably also need to make the button aware of whether Rhasspy is currently deaf or listening so that it can control an LED to clearly show the current state. Otherwise I’ll look like a right fool shouting “computer”, “Computer!”, “COMPUTER!!!”. :rofl:

The high-end conferencing mics are not that great for this purpose as there is no link up with KWS so they just beamform to the strongest signal.
They are good conference mics but that design is not so great in this application as some might think.
If you have a streaming KWS you can sample a beamform envelope to apply to the current command sentence, but often the mics work standalone and lack the api to link to KWS even if it was part of the framework.
So really your just paying a price for hardware AEC of audio out, as the NS is usually for simple static noise whilst usually in a domestic scenario the noise is dynamic media, AKA TV, Radio or HiFi.