Wake Word Delay

Dear Community/Devs/Friends,

i’m very new to the Rhasspy-Community and switched over from SNIPS on my RPI4.

Setup:

Raspberry Pi 4
Rhasspy running as a docker image with docker compose
PS3 Eye Camera
German profile
porcupine with wakeword blueberry

After some unsuccessful tries on rhasspy 2.4 and then 2.5-pre (pyaudio overflow stuff and so on) i wanted to give this project another try. And it seems to work “stable” with some minor hiccups…

After searching this plattform and github for any issues i didnt find anyone with the same problem:


Wakeword detection works, but it seems that i have to make some noise before i actually can say the wakeword.

Examples:
Entering a silent room saying “blueberry” doesn’t wake the system up.
saying “hey blueberry” or “blueberry blueberry” wakes the system up.

If there is a silence over ~1sec the system seems to go in some kind of sleep?
hermes/audioServer/J4-K4/audioFrame shows me a constant stream of input, so i doubt that…

the other idea is, that my sensitivity or my mic gain is just to low and it doesnt recognize the beginning if i start talking. also there could be to much background noise

any suggestions what my problem could be?

LG Jay

Nobody experienced something like that? Hmm…

Does your microphone uses AGC (automatic gain control)? If so, try disabling it…

Thanks for you answer.

I’m using an PS3 Eye Camera Microphone. I don’t know of any integrated AGC. But i think many people here use it so does anyone know?

I also cant find any informations in the web about AGC on this mic.

My alsa asound.conf looks like this:

pcm.array {
  type hw
  card CameraB409241
}

pcm.array_gain {
  type softvol
  slave {
    pcm "array"
  }
  control {
    name "Mic Gain"
    count 2
  }
  min_dB -10.0
  max_dB 5.0
}

pcm.cap {
  type plug
  slave {
    pcm "array_gain"
    channels 4
  }
  route_policy sum
}

Hi @nYce
First, I would try to record your voice from Rhasspy container manually
HowTo: Don't understand how to be heard by Rhasspy

It’s important to this from docker (not host), because it may have different ALSA conf

Do you hear your voice well? Is it loud enough?

hm… my intents get understood.

like i say, if i clap in my hand and say blueberry, my wakeword gets recogniced. or if i say “hey blueberry” or there is any noise and i say blueberry it works. it also works if i say “blubb blueberry”

All my intents after the wakeword are understood, so i think it has something to do with some kind of sleep/wakeup or auto gain that is wrong if there is silence before the wakeword.

Maybe the beginning of my wakeword is being sucked up by some “open mic”-"algorithm that just wakes the wakeword-engine up if there is anything incoming from the mic? (similar to effects on teamspeak/discord on auto-activate)

okay, i investigated a little bit more:

  1. i tried a matrix-voice module now…
    A) over ALSA directly connected with the Pi
    B) over ESP/MQTT with https://github.com/Romkabouter/Matrix-Voice-ESP32-MQTT-Audio-Streamer

  2. If i record my voice with arecord, there is nothing cut off in the beginning.

  3. If i use the raven record samples method with the webinterface my .wavs are all cut off… so if i say “hey babe” i just get “babe” in the wav.