Internet Radio Skill

Hi KathyReid

Thx :slight_smile:

Here’s what comes in the log when I try and enable it

21:55:46.040 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 “GET /v1/device/b1821afa-0a18-49d1-826e-278c38b91811/skill HTTP/1.1” 304 0
21:55:46.311 - mycroft.skills.core:wrapper:749 - ERROR - An error occurred while processing a request in Internet Radio Skill
Traceback (most recent call last):
File “/home/pi/mycroft-core/mycroft/skills/core.py”, line 740, in wrapper
handler(message)
File “/opt/mycroft/skills/skill-internet-radio.normandmickey/init.py”, line 316, in handle_intent
self.audioservice.play(self.settings[‘station_url’])
File “/home/pi/mycroft-core/mycroft/skills/settings.py”, line 181, in getitem
return super(SkillSettings, self).getitem(key)
KeyError: ‘station_url’
21:55:46.329 - SKILLS - DEBUG - {“data”: {“utterance”: “An error occurred while processing a request in Internet Radio Skill”, “expect_response”: false}, “type”: “speak”, “context”: {“target”: null, “client_name”: “mycroft_listener”, “ident”: “1543614940.45816641634622335”}}
21:55:46.345 - SKILLS - DEBUG - {“data”: {“name”: “InternetRadioSkill.handle_intent”, “exception”: “KeyError(‘station_url’,)”}, “type”: “mycroft.skill.handler.complete”, “context”: {“target”: null, “client_name”: “mycroft_listener”, “ident”: “1543614940.45816641634622335”}}

I did a fair bit of digging around on this one this afternoon to see if it was an “easy fix” - unfortunately not.

Installing the Skill and validating that I got the same error

I installed this Skill using msm and got a similar error;

18:15:12.084 - mycroft.skills.core:wrapper:749 - ERROR - An error occurred while processing a request in Internet Radio Skill
Traceback (most recent call last):
  File "/home/kathyreid/mycroft-core/mycroft/skills/core.py", line 740, in wrapper
    handler(message)
  File "/opt/mycroft/skills/skill-internet-radio.normandmickey/__init__.py", line 316, in handle_intent
    self.audioservice.play(self.settings['station_url'])
  File "/home/kathyreid/mycroft-core/mycroft/skills/settings.py", line 181, in __getitem__
    return super(SkillSettings, self).__getitem__(key)
KeyError: 'station_url'

Looking through the registered Issues for this Skill, I noticed one by @Jarbas_Ai that flagged that one of the Skill Settings for the Skill was incorrect.

I altered the two occurrences of station_url in the Skill’s __init.py__ to be favorite_station_url and that stopped the error occurring.

However I couldn’t get a lot of the stations to play, I think they’re geoblocked in my region;

19:17:57.240 - urllib3.connectionpool - DEBUG - http://live-radio01.mediahubaustralia.com:80 "HEAD /PBW/mp3/ HTTP/1.1" 502 0

For example, this shows a 502 gateway error from an ABC Australia news mp3 stream.

In summary, this Skill needs a bit of polishing, which we’re happy to help with.

I installed the skill but nothing happens. I say: Hey mycroft. Play internet radio. And mycroft answers “Playing internet radio” but nothing is heard. And sometimes He answers that there was a problem with internet radio skill. What should I do?

Hi @Anthony_36,

I don’t think this skill has been updated in a little while and it’s not currently available in the Skills Marketplace. From the posts above, it seems like there are a few outstanding bugs without simple solutions unfortunately.

I did see that Jarbas has done some more recent work on a forked version. You could give that one a go, and let us know how you find it.

Thank you so much for your reply. I hadn’t realized that there was a problem with the skill because from the posts i read I thought that I have done something wrong. I definitely will give it a try.

I installed the skill you mentioned but I have the same problem. Whatever I say to Mycroft he answers with the same message:

`An error occurred while processing a request in Internet Radio Skill

Do you have VLC installed?

requirements.sh should have installed it, but perhaps that is where something goes/went wrong?

that skill (my fork) was mostly an experiment to add your own radios

it is also using an experimental base class that automatically handles audio, https://github.com/JarbasAl/mycroft_jarbas_utils/blob/master/mycroft_jarbas_utils/skills/audio.py this is old and needs update, written in py2 times so probably will not work

if there is interest i can update this skill, and make it use common play

1 Like

Definitely a +1 from me.

+1 an update would be great…

+1 I would like an update that will solve the problem. The thing is that I had the same problem with the default internet radio skill.

Just to add to your plate Jarbas!!! :flushed:

happy to have my plate full, just not enough free time :stuck_out_tongue:

1 Like

Hi, can you update that skill? i would love to use that. I tried Norman_Moore’s version, it says “start playing internet radio”, but then nothing will happen… Can you help with that?

You can use Emby to play internet radio. Have to use the beta version. See this for reference: Emby Music Skill Update - Testing And Feedback

That doesn’t help me… I want to stream Herman/austrian radio streams and the option to set my own stream urls in defined names helps me, because mycroft won’t understand german words very well…

Maybe I dont quite understand but with Emby you provide a unique stream url and then you can call the stream anything (like “Vocal Trance”). Mycroft will reconigze the english word and play the german stream.

thanks man! emby with custom station names is working good! :slight_smile: how can i set unique streams in emby?

I’m only running Jellyfin (emby-fork) and curious how emby (server) handles internet radio. Jellyfin plays them over the m3u tuner located in Live TV and is queried like “LiveTV/Programs?ChannelIds=”. The m3u is also found by “Playlist”, but isn’t capable to stream from there.

Hey all,
I got this skill to run on a Linux Mint Virtual Machine.
I needed to install the Pandora skill first, then change the “AudioService(self.emitter)” on line 157 of init.py to “AudioService(self.bus)”.
It works great!