RadioParadise Volumio Plugin

I’m obsessive with this topic.
RadioParadise is the station that sounds continuously in my house, is very good and broadcasts in 320Kb.
http://stream-dc1.radioparadise.com/aac-320
Now it started doing it in flac but it can not be tuned directly from a URL, it requires a plugin. In LMS there is one working. You can also use IOS and AirPlay. (I inform that if Simplequal is used, AirPlay does not work) With any of these methods, it sounds great!
Here the documentation that I found, does not seem difficult, but exceeds my knowledge.
https://yabb.jriver.com/interact/index.php?topic=114494.0#lastPost
see answer # 31
I think it would be important to have it integrated into Volumio.
regards

+1 , when I’m not listennnig my own library, I listen 2 radio FIP and Radio Paradise

btw Daniel, does your avatar means you travel with your bike ?

Hi #gsa, It is the photo of a memorable trip: The Santiago Way on turning 60 with my childhood friend of the same age!
regards

Can anyone create this plugin ??

Would love to, could you please ask RP people the technical details on how to achieve this?

In this post https://yabb.jriver.com/interact/index.php/topic,114494.msg791954.html#msg791954, Bill Goldsmith, owner of radioparadise, explains how to do it.
I offer to test the plugin, I do not have knowledge for more.
In principle there is a URL where it is updated every so often through a json file the URL of the “playList” and all the necessary data. You have to play that “play list” of only 3 songs and then update the URL where the stream URL is available.
It does not seem very complicated, it is already implemented in JRiver and LMS.
Regards

http://www.herger.net/_data/RadioParadise-2.1.2.zip
Here the LMS plugin, I guess you will need permission from the author to use it.
It allows to tune the different RP emissions.
regard

I never heard of Radio Paradise before, thanks for the recommendation. I really like it!

Based on your linked description, I was playing around with their API and built a little browser based web radio player in plain Javascript. It’s build with the help of https://howlerjs.com. Basically it plays the FLAC version of Radio Paradise endlessly. It’s also possible to skip and repeat tracks and to choose them from a playlist. The cover is also displayed. You can download it from my https://github.com/marco79cgn/radio-paradise page and try it. Works best in Google Chrome but should also work in other browsers. In Safari it takes a lot more time to load the tracks.

I’m more of a backend developer, Javascript and Nodejs are not my strength at all. But it should be possible to integrate it in Volumio as well. I don’t really know how to build a plugin for Volumio but I’ll have a look on how to do that. If anybody else can help, I’d be happy of course.

A spectacular job!
Maybe you should consider publishing the work in the PR forum, there are a lot of people waiting for this.
Anyway Bill says they’re working on a player, so I do not know if you’d like to have solved and published something like this.
It seems fantastic to me, my most sincere gratitude.
We are getting closer to having RP integrated to Volumio.
I’ll test it thoroughly and I’ll tell you if I find a bug.
regards

I added the following line to the index. html:

In this way you can see the logo in the browser tab.

I took a look on how music service plugins are created in Volumio. At the moment I’ve no idea on how to implement the streaming logic of Radio Paradise in Volumio. The first minimal goal would be to just play an endless “stream” of the FLAC version (without cover, skipping, etc.).

The starting point is always a call to the RP API:

https://api.radioparadise.com/api/get_block?bitrate=4&info=true

This call returns an event object (json) including all information about the first “stream”, e.g.:

  • the stream file (url) including all songs of this event (~1-7 songs)
  • the complete length of this file (all songs together)
  • all meta information of each song (artist, title, cover, etc.)
  • timestamps when each song starts in this event (“elapsed”)
  • the event id of the next stream (which should be started as soon as all songs of the previous event passed)

Here is a (shortened) example how the result of this first api call could look like:

{ "event": "1686248", "end_event": "1686251", "length": "806.75", "url": "https://apps.radioparadise.com/blocks/chan/0/4/1686248-1686251.flac", "image_base": "//img.radioparadise.com/", "song": { "0": { "event": "1686248", "duration": 259250, "artist": "Sheryl Crow", "title": "Redemption Day", "cover": "covers/l/B000002G62.jpg", "elapsed": 0 }, "1": { "event": "1686249", "duration": 274500, "artist": "U2", "title": "Until the End of the World", "cover": "covers/l/B000001DTM.jpg", "elapsed": 259250 }, "2": { "event": "1686250", "duration": 267000, "artist": "Asaf Avidan", "title": "Your Anchor", "cover": "covers/l/B003Y211RC.jpg", "elapsed": 533750 } } }

What should happen now is that Volumio has to stream the url of this event (“https://apps.radioparadise.com/blocks/chan/0/4/1686248-1686251.flac?src=alexa”) with a total length of 806.75 seconds. In the meantime, in order to guarantee gapless playback, it has to fetch the result of the next event by calling https://api.radioparadise.com/api/get_block?bitrate=4&info=true&event=1686251 where “1686251” is the “end_event” of the above result. This call returns the next event with basically the same structure as above. As soon as those 806.75 seconds have passed, the second stream url has to be played. And so on and so on.

Basically, a simple endless stream would look like this:
first api call > play first stream with all songs > second api call > play second stream with all songs > third api call …

I have no idea whether it’s possible to implement this logic in Volumio. Because normally, a music service has a search function and delivers at the end a list of files/results which you can put in the playlist queue one by one. This is obviously not really possible here. So instead the plugin would have to modify the next entries of the volumio playlist queue over time. :question:

Hola Marco, here the plugin that is used in LMS Squeezebox, may be useful.
Here the post in the LMS forum https://forums.slimdevices.com/showthread.php?108189-Announce-Radio-Paradise-Lossless-Streaming-(Plugin-v2)
Yesterday announced that version 24 of JRiver MC brings the RP Flac active plugin.
RadioParadise.rar (91.9 KB)

Hi,

I have installed the TuneIn-plug-in, start a Search for RadioParadise…et Voila

9F3C0D1B-1843-49B8-AF8C-7CB08DD459A3.jpeg

Logo included!

Greetings

Harry

This is not the lossless FLAC version of Radio Paradise. It’s the aac or mp3 stream. Those normal streams can even be added manually (without the TuneIn plugin), see http://www.radioparadise.com/rp_2.php?#name=Listen&file=links.

Unfortunately the FLAC version needs a little smartness in the client.

I fixed some bugs and added some new features. The current version includes

  • the FLAC version of Radio Paradise (playing endlessly like a real stream)
  • the current track information (artist, title, album, year)
  • a playlist of the current event incl. random access
  • previous and next buttons (for skipping)
  • a volume slider
  • the progress (time and bar)
  • a donation button (to show some love to Bill & Rebecca and support their awesome work)

It works best in Google Chrome. You can download it from my github page.
https://github.com/marco79cgn/radio-paradise/releases/tag/v1.0-beta

Developing a Volumio plugin looks really tough to me. I’ll see what I can do.

Hi Marco, you probably saw this:
https://volumio.github.io/docs/Plugin_System/Plugin_System_Overview.html
I’m sorry I can not help you, we hope that someone from Team Volumio is interested in the subject and can help you.
Thank you very much, this is very good what you are doing.
regards

This is a call to @michelangelo, @saiyato, @balbuze, @ chsims1 and all the geniuses, to help @ marco79cgn with the RadioParadise FLAC plugin !!
:slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile:

:stuck_out_tongue:

But it’s nothing more than a first attempt to create my first plugin. Basically just a proof of concept. There is no cover, no song information, no smartness to play the flac stream endlessly, etc. It just plays the first event (hard coded) and that’s it. But at least it’s a start.

And it sounds fantastic!

Fantastic! I want to try it!

It’s way too early to give you a testable version. But I’ll keep you informed as soon as possible. I have to debug a lot. And I also don’t really know right now how to handle the endless play feature. As a first try, I’ll add the first n events to the queue or I create a playlist for that which is played at the end.

btw, the icon is ready :wink: