No speech (TTS) on Raspberry Pi 4, but everything seems to work including audiotest

Hardware: Raspberry Pi4
OS: Raspbian Buster

I used this install script, but have tried installing normally using Linux instructions too with the same situation.

Things working:

  1. Running ./start_mycroft.sh debug works as expected, no errors, and the voice logs “talk” back to me as if nothing is wrong.
  2. I am paired successfully to home.mycroft.ai
  3. Running ./start_mycroft.sh audiotest works as expected, it records and plays back perfectly

Things not working:

  1. When running ./start_mycroft.sh all I get no audio indication ding when saying “Hey, Mycroft”
  2. No TTS is working at all, anywhere - I have never heard Mycroft’s beautiful voice and this makes me sad

For reference, I am currently located in Shenzhen, running the system through a (very) reliable private Hong Kong VPN. Bonus info: trying to install without this VPN ended in what seemed like a very broken installation. Installing with the VPN took much longer, which I can only assume because nothing broke during the process. Does Mycroft struggle to install properly within China’s firewall?

I am currently compiling the local mimic to rule out any network issues, but my hopefulness is low.

What logs or info can I provide to try and get to the bottom of this?

I fixed this by creating and adding the following to /etc/asound.conf

defaults.pcm.card 1
defaults.ctl.card 1

as per these instructions: https://www.alsa-project.org/wiki/Setting_the_default_device

I was actually trying to get Spotify working which still doesn’t work, but at least this is fixed now

Hi @duwudi
I sounds to me that you have an audio problem. that everything works but audio isnt played.
Try the audio-troubleshooting guide

https://mycroft-ai.gitbook.io/docs/using-mycroft-ai/troubleshooting/audio-troubleshooting

The relevant logs are located in /var/log/mycroft/ and could be the audio.log and/or the voice.log - most likely the first one.

I did go there to try and resolve the issue, but since all 3 tests seemed to work - with the exception of Mycroft’s voice - I assumed I had a different problem specifically relating to TTS.

Perhaps it would be better if audiotest used the same method for playing back the recording as Mycroft’s TTS uses to play speech, this was the cause of my confusion and what led me to believe it wasn’t just a simple audio issue.

In any case, I’ve now learned a lot about audio in Linux so I guess that’s my bonus prize for expecting the worst and digging deeper than I needed to! :sweat_smile:

1 Like

It is weird that the audio test works but mycroft fails to play audio. They use the same playback call, to make this as similar as possible…

If you’re using goole TTS it would be different though since that receives the data as mp3 and hence uses mpg123 for playback instead of paplay as the default for wavs.

Hello,
I think I have a similar problem like this.

I used the audio troublesooting guide and the mycroft-start audiotest -l worked very well but still mycroft is not receiving any input from my BLUE MICROPHONE Blue Snowball since I don’t see any Mic level.

I tried mycroft-config set listener.device_name but the problem is still the same.

Does someone have any idea?

Best regards

Vadi

Hi Vadi, have you tried changing the play commands listed here:
https://mycroft-ai.gitbook.io/docs/using-mycroft-ai/troubleshooting/audio-troubleshooting#usb-audio-devices

Hey gez-mycroft,

thank you for the response. Actually I did work out in the end.

I tried it with sudo ‘‘service mycroft-* restart’’ which did not work out at first. After I went to bed, shutdown the pi and tried it the next day everything was working.

I thougth that adding the ‘‘sudo service mycroft-* restart’’ to the audio Troubleshooting guide would be a good idea?

Best regards

Vadi

1 Like

Good suggestion - added.

Also, you can do this without sudo by running

mycroft-start restart all

Of if the helper commands aren’t available:

~/mycroft-core/start-mycroft.sh restart all