No audio detection

Hello,
i’m new with rhasspy and voice assistant in general.
i have installed rhasspy as satellite on a raspberrry pi zero with respeaker 2 mic pi hat and server with docker .
audio output work , no input record but that work with arecord toto.wav / aplay toto.wav command line
I have a timeout message.
i have see a message on log that rhasspy could not access to the device (error 828 it seem to me)
bonjour,
en français au cas, mon anglais n’étant pas toujours trés top!
rhasspy et les assistant vocaux sont nouveaux pour moi ( je n’ai pas voulu passer du coté obscure avec google and co)
donc j’ai installé rhasspy en satellite sur un raspberry pi zero avec une carte respeaker 2 mic pi hat.
mon serveur tourne avec une image docker sur un serveur debian sous vmware.
la sortie audio fonctionne parfaitement, le text to speech fonctionne correctement par contre je n’arrive pas à enregister la voix alors que cela fonctionne correctement en ligne de commande avec arecord toto.wav / aplay toto.wav
j’ai un message timeout sur l’interface graphique et dans les logs du satellite il me semble avoir lu qu’il n’arrivait pas a acceder au periphique (error828) il me semble , je ne revois plus la ligne)
RHasspy server:
image docker on debian buster vm on vmware
speech to text = kaldi
intent recognition = fsticuffs
text to speech = picotts
rhasspy satellite:
raspberry pi zero + respeaker 2 mic pi har
raspbian lite
rhasspy install with *.deb package.
audio recording set to arecord with plughw:CARD=seeed2micvoicec,DEV=0 as device
wake word set to raven but i can"t record keyword.
intent recognition * text to speech and speech to text set to remote http

thank in advance for your help / merci d’avance pour votre aide!
Best regards / cordialement

Did you follow the instructions here?

Sometimes the asound.conf is not filled correctly so that could be a problem.
Have you treid recording your voice from the mic? (arecord -f cd -Dhw:1 | aplay -Dhw:1)
If that doesn’t work, can you post arecord -l please?

hello @No_one

thanks for your reply

yes i have follow the instructions.

when i test command arecord -f cd -Dhw:0 | aplay -Dhw:0 i hear frosting (i’m not sur for the transaltation of “gresillement horrible” in French )

i have test with arecord toto.wav then aplay toto.wav for test and that work

here the result of the command arecord -l

**** Liste des Périphériques Matériels CAPTURE ****
carte 0: seeed2micvoicec [seeed-2mic-voicecard], périphérique 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [bcm2835-i2s-wm8960-hifi wm8960-hifi-0]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0

i have disable rasberry on board sound card in /boot/config.txt -->dtparam=audio=off

by moment i have succeed to recording command with button wake up button but that comes and goes, i understand why…

I am pretty sure you are hearing noise, not frosting (that is what you put on cake) and it might be caused by your respeaker mic array. Sadly those things are known for those problems, they work when the driver is working but the only “working” driver is for a pretty old kernel, I have a respeaker4 array and I have only noise on my current install and a not working driver if I do a clean install. Check kernel version, if it is 5.4 or higher than you are victim to the driver issue most likely, either by installing with an older kernal and updating later or by having one of the many faulty driver versions installed.

If you have a spare sd card, try installing a clean raspbian os and then the respeaker driver with the --compat-kernel option. It will make a kernel downgrade but it should work as long as you make sure to not upgrade the kernel or kernel headers. An alternative could be getting the drivers from here, some ppl report they are working for the 2mic array you have, mine are still broken. If you go that route, you need to make sure that you get the right branch from git, because the master branch is even older than the official drivers.

I hope this helps
Daenara

@Daenara is right respeaker is known to have driver issues. I have a 4mic array and its like going through hell to get it up and running. Check your /etc/asound.conf aswell… sometimes the driver install completely smashes the file.
But its detected at least…

@Daenara
it seem my kernel is 4.19. i’m sure when i have installed the driver with --compat-kernel i have seen that it have downgrade the kernel
i will tried the other driver

@No_one
here my asound.conf file:

The IPC key of dmix or dsnoop plugin must be unique

If 555555 or 666666 is used by other processes, use another one

use samplerate to resample as speexdsp resample is bad

defaults.pcm.rate_converter “samplerate”

pcm.!default {
type asym
playback.pcm “playback”
capture.pcm “capture”
}

pcm.playback {
type plug
slave.pcm “dmixed”
}

pcm.capture {
type plug
slave.pcm “array”
}

pcm.dmixed {
type dmix
slave.pcm “hw:seeed2micvoicec”
ipc_key 555555
}

pcm.array {
type dsnoop
slave {
pcm “hw:seeed2micvoicec”
channels 2
}
ipc_key 666666
}

the downgrade always happens with the compat driver, the problem is if you upgrade the kernel afterwards, that is what broke my drivers completely. 4.19 is at least old enough that the problems the driver has now should not matter because they only appear with 5.4 upwards but it might be a completely different issue with those drivers.

That asound.conf is just the one that ships with all the respeaker drivers. I never had problems with those and mic input, only with audio output so I doubt that that is the issue here.

@Daenara

now the command " arecord -f cd -Dhw:0 | aplay -Dhw:0" work

but rhasspy (satellite) record my voice when he want when i use wake up button.

i don’t understant why…

anf i have notice that in many times later rhasspy (satellite)/raspberry pi zero don’t reply antything, nether by web interface or terminal, as it is a system overload

i have see in a case of master/satellite , it is need to configure “UDP Audio Streaming” but i have not understand how…

thank you

So the asound is correct afaik.
For your recording issue check if you are able to record your voice from the webinterface and post the logs here please. You can check the hardware device in the settings aswell and test it.

If you run a satelite on a pi zero you really cannot run anything else…
But running a TTS on the zero is inevitable if you don’t use UDP-Audio Streaming.

@no_one,

that work now i don’t know why…

how configure UDP-Audio Streaming? i have not understand.
which is the host to configure? Ip of rhasspy server? and any one free port?

:+1: It’s good that it works…
If you search for RTP Audio streaming on the internet you will find alot of information.
if you want to transfer the recorded audio aswell as the tts result you can take a lookl here: https://www.raspberrypi.org/forums/viewtopic.php?t=226843

rtp audio streaming is the same thing that udp audio streaming in rhasspy?

https://rhasspy.readthedocs.io/en/latest/audio-input/

UDP is short for User Datagram Protocol
RTP is short for Real-time Transport Protocol which uses either TCP or UDP as a basis.

Maybe you understand it by looking at the OSI model : https://medium.com/@int0x33/day-51-understanding-the-osi-model-f22d5f3df756

RTP is part of the Application Layer