Build an open future with us.

Invest in Mycroft and become a community partner.

[SOLVED] Microphone doesn't work


#1

Hi everybody,

installing and running Microft on a laptop has worked well, but the same microphone does not work with a Picroft installation at a Raspberry Pi. For now I only have a RasPi 2 available. Could this be a problem?

The installed Mycroft version is the lastest stable one (microft-core 18.2.13). Update and upgrade are done, therefore the system is on an actual state.
The following things I have already tested:

arecord -d 10 test.wave: 

A recording was successful and I can play it with “aplay test.wav”. Thus, the microphone should work on the system well.

pactl list sources short:
0       alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Audio_Device-00-Device.analog-mono      module-alsa-card.c      s16le 1ch 48000Hz       SUSPENDED
1       alsa_output.0.analog-stereo.monitor     module-alsa-card.c      s16le 2ch 48000Hz       SUSPENDED

The microphone is an USB one and is found at device 0.

pactl info:
Server String: /run/user/1000/pulse/native
Library Protocol Version: 29
Server Protocol Version: 29
Is Local: yes
Client Index: 28
Tile Size: 65496
User Name: pi
Host Name: picroft
Server Name: pulseaudio
Server Version: 5.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.0.analog-stereo
Default Source: alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Audio_Device-00-Device.analog-mono
Cookie: dc9c:d2e2

As I can see from the Default Source the USB microphone should be included in Mycroft.

Does anybody has an idea, what the problem is?
Just one more information: A Mic-Level is shown on Mycroft, but it is always 0.
Many thanks

Marcus_KA


#2

Hi @Marcus_KA, first of all thanks for giving Mycroft a go!

We don’t recommend the Raspberry Pi 2 for Mycroft / Picroft because it is under-powered compared to the RPi 3 and 3B+. If it does work, it will work very slowly.

Audio and microphone difficulties are the biggest source of issue we have with Picroft, and although we have some audio troubleshooting documentation available, it doesn’t always work to get to the source of the issue.

Your diagnostics were very useful, thank you for providing them. They show that Mycroft is not hearing any microphone input - the Mic-Level being 0 confirms this. The pactl list sources command shows the USB Mic is suspended.

This advice is “hazy”, but I’ve seen that sometimes a few PulseAudio configuration changes can help:

Change to switch to USB on connect

/etc/pulse/default.pa
# automatically switch to newly-connected devices
load-module module-switch-on-connect

Turn off module-suspend-on-idle

Change this;

load-module module-suspend-on-idle

to this;

#load-module module-suspend-on-idle

ie. use the pound sign # to commend out the line

Can you let us know how you go?

Note: I’m going to edit your post so that the shell output shows as code


#3

Hi KathyReid,

many thanks for your help. I agree, RasPi 2 might be very slowly, but a new RasPi 3B+ is ordered and I want the system to work and transfer it later on the new RasPi.
By the way: a RasPi 2 is not much slower than a linux system in a virtaul box unter Windows on my laptop!

Now to the test: it was not successful. I comment the line but the problem is still the same, also after rebboting the system:

### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle`

(By the way: How do I get these special three points?)

I did another test, that might also help:

pi@picroft:~ $ test_microphone
Shutting down mycroft...
Starting a 5 second test recording...
/home/pi/bin/test_microphone: line 8: mycroft-audio-test: command not found.
Playing back the recording...
Restarting mycroft...
pi@picroft:~ $

If I can help with the settings of the system working on my laptop, please let me know.
Many thanks.

Marcus


#4

Hey Marcus,

Can you try the following on your raspberry pi

cd $HOME
mkdir .pulse
pulseaudio --kill
pulseaudio --start

and then reboot the pi
and restart the
./auto_run.sh script as the user pi

I had the same issue a few days back was unable able to figure what went wrong, the above worked for me

P.S I am using the following setup
Pi 3B
Respeaker v2.0 Mic Array
And a Speaker connected via the 3.5mm jack


#5

Hey Denzil_Sequeira,

many thanks for the suggestion. I have tried it but got the same result: the mic does not show any level.

I also tried the same configuration with a PasPi 3B but the problem is still the same. Thus, the problem seems not to be caused by the version 2 of the RasPi.

Just for information: my microphone is a Zaffiro Desktop USB Microphone.


#6

Now I have installed the new version Picroft 2018-9-12 on my Raspberry Pi 3B+ and it works including my microphone. So the problem is solved now; many thanks to all who have tried to help.