Internet Radio Skill

I changed the URL for “favorite” and i just get silence. I still get rock radio, etc.

I want: https://vpr.streamguys1.com/vpr64.mp3

Do I say “favorite radio” or just “internet radio”?

A great addition might be some other tabs available that novices like me can change at mycroft.ai for my favorite stations. I love the potential here.

I had not realized that only some stations allow streaming IP addresses outside of their own players (i.e., my local NPR station). I found IP addressed that worked–the problem is that, not the program.

It would be nice to have a second “internet radio” skill that has blank stations that I can fill with my own IP addresses. Imagine the six buttons on my car radio that I program. Currently, I say “childrens radio” to get the 80s station I want, but I don’t remember that easily. Saying “Radio Four” would be at least a tad less confusing. I think I can remember six buttons and their matching stations.

Even better, the genre, too, as choice. I have no idea how it could learn both the name and station, although I am sure it can be programmed by someone with more talent that me (i.e., anyone). So, in skill I put “New Wave Radio” into one box and the IP address below it.

I am really enjoying Internet Radio, though. Thanks!

Hi there,
I’ve change https://vpr.streamguys1.com/vpr64.mp3 on the mycroft portal and I modify the file /skills/skill-internet-radio/settingsmeta.json. Seems it doesn’t overwrite the setting.
To start just say Hey Mycroft, start internet radio

{
“name”: “Internet-Radio”,
“skillMetadata”: {
“sections”: [
{
“name”: “Favorite Station URL”,
“fields”: [
{
“name”: “station_url”,
“type”: “text”,
“label”: “Favorite Station URL”,
“value”: “https://vpr.streamguys1.com/vpr64.mp3
}
]
},
{
“name”: “Rock Station URL”,
“fields”: [
{
“name”: “rock_station_url”,
“type”: “text”,
“label”: “Rock Station URL”,
“value”: “http://144.217.253.136:8564/stream
}
]
},
{
“name”: “Country Station URL”,
“fields”: [
{
“name”: “country_station_url”,
“type”: “text”,
“label”: “Country Station URL”,
“value”: “http://50.7.70.58:8708/
}
]
},
{
“name”: “Classical Station URL”,
“fields”: [
{
“name”: “classical_station_url”,
“type”: “text”,
“label”: “Classical Station URL”,
“value”: “http://174.36.206.197:8000
}
]
},
{
“name”: “Top 40 Station URL”,
“fields”: [
{
“name”: “top40_station_url”,
“type”: “text”,
“label”: “Top 40 Station URL”,
“value”: “http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1_mf_p
}
]
},
{
“name”: “Christmas Station URL”,
“fields”: [
{
“name”: “christmas_station_url”,
“type”: “text”,
“label”: “Christmas Station URL”,
“value”: “http://144.217.180.30:8016/stream
}
]
},
{
“name”: “Children’s Station URL”,
“fields”: [
{
“name”: “childrens_station_url”,
“type”: “text”,
“label”: “Children’s Station URL”,
“value”: “http://14123.live.streamtheworld.com/SAM01AAC213_SC
}
]
},
{
“name”: “Jazz Station URL”,
“fields”: [
{
“name”: “jazz_station_url”,
“type”: “text”,
“label”: “Jazz Station URL”,
“value”: “http://149.56.155.209:80/live
}
]
}
]
}
}

There was a problem with the “favorite radio” keyword which has now been corrected. You should remove the internet-radio skill and install it again. I also found that the back-end media player (mpg123) will not play https streams. When you update your favorite station at home.mycroft.com enter the stream url without the https (http://vpr.streamguys1.com/vpr64.mp3).

1 Like

Just reinstalled internet radio skill - everything is working fine.
Thanks Norman

1 Like

I have Internet Radio installed and it works great. Thanks.

Do you know how I can make the skill show up on my Mycroft Home page under skills so that I can change the settings?

I did a fresh install of the skill last night and see what you mean. There must still be a problem in the settings file. I should have it fixed this weekend.

I just checked my settings and the skill now shows. Thanks so much for looking into that. I am working with your skill and trying to add some of me own stations, like twit.tv audio only live feed. I am going to make a fork and upload any changes I’ve made.

1 Like

Hi
I’ve tried to install this skilles with the command “Hey Mycroft, Install Internet Radio” and it does not install - I can install it via “Custom Install” but it does not work when I give it a "Hey Mycroft, Play Internet Radio "
?
/Mark

Hi there @Mark, great to have you with us.

The Internet Radio Skill has not been updated to the 18.08 branch of mycroft-skills which is why it won’t install using voice commands - only Skills in the current branch can be installed using voice.

Are you able to show us your skills.log and we can see what’s going on? You will find your logs at /var/mycroft/log

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…