Problemas con Rhasspy en Vehículos

Buenos días, estoy realizando unas pruebas con Rhasspy en el camión y con el camión apagado, solo contacto funciona perfectamente, pero en el momento que arranco, si que me reconoce la wake word, pero se queda siempre en escucha no recoge la orden, sabéis a que se debe?

Please translate, the majority does not speak english

I think you meant that the majority does speak English.

Sorry, yes haha. :rofl:
Does not speak spanish and does speak english mixed up

Google version for those that can’t be bothered.
Good morning, I’m doing some tests with Rhasspy in the truck and with the truck turned off, only contact works perfectly, but the moment I start, it does recognize the wake word, but it always listens, it does not pick up the order, you know for what is this?

Good morning and sorry for writing in Spanish, and thanks to greg_dickson for the translation.
Do you know if the engine of the truck can make noise through the microphone and leave it cancelled? the activation word recognizes it, but then it does not close, it seems that it stays listening in an infinite loop.

Yes, the problem is most ikely that the noise is too loud, causing no silence detection.

There are some options in the Speech to Text section under Voice Command Settings that you might try changing. Try adjusting “Max/Current Energy Ratio Threshold” between 10 and 100 until performance improves. Unfortunately, turning off the truck may then cause issues :confused:

Thank you very much synesthesiam, I will try to adjust the power ratio threshold as you say and I will let you know the result, on the other hand, what do you mean when you turn off the truck it may cause problems? when regulating the Thresholds it may not work in the same way?
With an active noise cancelling microphone, it could solve the problem?

If I understand that this is the problem … the curious thing is that if you hear the order, because if I stop the truck seconds after I say it, it is executed instantly.

I would say yes indeed :slight_smile:

For software-based automatic gain control (agc), I’ve had some success with the speex plugin for ALSA (sudo apt-get install libasound2-plugins) and this is my $HOME/.asoundrc file:

#pcm default to allow auto software plughw converion
pcm.!default {
  type asym
  playback.pcm "play"
  capture.pcm "agc"

#pcm is plughw so auto software conversion can take place
#pcm hw: is direct and faster but likely will not support sampling rate {
  type plug
  slave {
    pcm "plughw:CARD=<OUTPUT>,DEV=0"

#pcm is plughw so auto software conversion can take place
#pcm hw: is direct and faster but likely will not support sampling rate
pcm.cap {
  type plug
  slave {
    pcm "plughw:CARD=<INPUT>,DEV=0"

pcm.agc {
 type speex
 slave.pcm "cap"
 agc on
 agc_level 8000
 denoise on

#will use lower load but poorer linear resampling otherwise
defaults.pcm.rate_converter "speexrate"

Replace <OUTPUT> with your speaker device and <INPUT> with your microphone device. You can see these by running arecord -L

The “Max/Current Energy Ratio Threshold” gets its maximum energy value from the audio stream, but it never goes any lower. So it’ll get set to a high value while your truck is running, but won’t lower after you turn it off.

I should probably have some kind of delay where the maximum is slowly brought down over time if the current signal energy since lowered.

1 Like

Active noise cancellation works really well.
Years ago I had and Sena headset on my motorbike and when I called people they didn’t even know I was riding. They could hear me more clearly than I could hear them. And that was old tech.
Maybe a small simple headset
( that has it built in but does not block the driver hearing the outside like in the sena helmet set )
for the driver would be a simple solution.

1 Like