Request NPR NOW on Mycroft, it plays on... Google

I just installed PiCroft and got my 3.5mm audio out and ICE Blue working. Got it paired. Mycroft can hear me, tell me the time, tell me a joke on its local speaker. But when I tell it to play NPR Now, it plays on the Google device in another room. How can I get it to play on its connected speaker instead?

For the curious, I’ve done nothing to tell Mycroft that the Google speaker exists. I haven’t tried to add any information about any devices on the network. And BBC plays on my local, connected analog speaker. It’s just NPR!

Try installing VLC. Not sure why either, but it worked for me.

1 Like

Rebooting the Google stopped Mycroft from playing NPR news there. But now it plays NPR news nowhere at all! But it still plays BBC news properly on the connected speaker. Installing VLC didn’t change anything.

The same thing happened to me. You need to check your audio log to see what’s playing the audio.

Thank you for that! Here’s what I found:

2022-04-14 22:42:57.108 | INFO     |  1603 | mycroft.audio.audioservice:get_serv
ices:63 | Loading services from /home/pi/mycroft-core/mycroft/audio/services/
2022-04-14 22:42:57.111 | INFO     |  1603 | mycroft.audio.audioservice:load_int
ernal_services:135 | Loading chromecast
2022-04-14 22:43:05.286 | INFO     |  1603 | pychromecast | Querying device stat
us
2022-04-14 22:43:05.410 | INFO     |  1603 | audioservice_chromecast:autodetect:
165 | Bedroom speaker found.

So it’s looking for devices on the network. This seems like a feature of the skill itself rather than a question about VLC versus other audio outputs. Maybe I’ll reach out to the skill developer. Seems like this should be user-selectable, maybe with “Play NPR on bedroom speaker,” and should default to the local speaker otherwise.

this is the audio service, you can load any number of “audio handlers” and each can support different things.

what is happening is that by default https is not supported on device. Installing vlc can help because it does handle https.

It is still somewhat random which of the services is selected (vlc vs chromecast), but vlc really is needed and imho should be the default for mycroft, either that or the simple backend improved to also handle https (we use sox in OpenVoiceOS for this)

additionally i think by default backends should be disabled, it should not play in chromecast unless you enable chromecast… this is also one of the changes we did in OpenVoiceOS for audio handling

Why would I need HTTPS to play over a connected analog speaker?

the source stream with the news feed is served by https, not much you can do there? the news are not a local file being played…

By default mycroft is using only cli commands (aplay and mpg123) which do not support https, its not that it’s impossible to be played locally, its that its either not configured or unable to do so due to lack of common software installed.

Well, I rebooted and now it seems to behave properly. Score one for turn it off and on again. But when I try to turn the volume down, it resets to 7 pretty much immediately. Still, this is progress…

(Fixed: set volume before playing the news. Requests for volume change while news is playing seem to be transient. It changes the volume for a second, then goes back to whatever it was set to)