Some Internet Radio stations offer track information for their currently-playing songs. FIP, for instance, offers their metadata in JSON format at this URL.
It would be great if Roon were smart enough to extract the metadata and display it.
Here, for instance, is a script which outputs the title of the currently-playing song, the artist, and the cover art. It also outputs the number of seconds until the next song begins; at that time, the script should be rerun, to fetch the metadata for the next song
#!/usr/bin/ruby
require 'net/http'
require 'json'
uri = URI('https://api.radiofrance.fr/livemeta/pull/7')
response = Net::HTTP.get(uri)
songs = JSON.parse(response)['steps'].values
now = Time.now
songs.each do |song|
song_end = Time.at(song['end'])
if (song['embedType'] == 'song' && song_end >= now && Time.at(song['start']) <= now)
title = song['title'] ? song['title'] : 'untitled'
artist = song['performers'] && !song['performers'].empty? ? song['performers'] : song['authors']
metadata = {'title' => title.split.collect{|s| s.capitalize}.join(' '),
'artist' => artist.split.collect{|s| s.capitalize}.join(' '),
'artUrl' => song['visual'],
'reload' => (song_end - now + 1).to_i}
puts JSON.generate(metadata)
break
end
end
I love SomaFM. I used the links from the TuneIn website and the SomaFM station logo shows inside Roon. The functionality to play seems to work well, but this is a great feature request. Iāve been seeing a song pop up on GrooveSalad or DefCon or Fluid and then manually searching for it on Tidal. If I could have a button to do something similar that would be very cool.
This would be a huge addition to the service. Right now, FIP radio is integrated with Spotify so that liked tracks populate a Spotify playlist which I can then restream through Roon. Iād much rather cut out the middleman and just Like FIP tracks within Roon.
A FIP-augmented Roon recommendation engine would be so good!
Is there a list of radio stations for which this now works? I tried FIP, briefly, last night. No such metadata was available (though, as noted above, FIP does publish their metadata).
There is no list. If you find instances of stations that are broadcasting data but Roon is not accessing it, then a report in the Live Radio section will assist.
Some stations do, and some donāt do metadata, and Roon at present is at the mercy of the in-stream metadata. However, it does what it can and If some station is including it in the stream, but Roon isnāt picking it up, then let us know via the #live-radio category in the forum. That gets monitored (by me at least) daily.
I support the request of @Jacques_Distler to expand the āLive Radio Metadataā feature request to stations offering APIs instead of embedding the data in the Icecast streams.
Some are mentioned here Radio station metadata links. This could also allow for metadata for Radio Paradise in FLAC, as well as other radios broadcasting in FLAC.
Radio Curators could take care of the JSON translation to Roon standard if that can help.
Not sure Iāll be able to make many new friends, let me explain why
1/ On MP3 and AAC streams, you technically can add metadata. The point is that some radios like FIP do not use this possibility, and thatās what Iām doing on my side. In short, Iām installing an audio broadcast app on a raspberry (icecast2) to relay the stream from FIP, and I add into this relayed stream the metadata I got from FIP. Iām writing a tutorial as we speak, but itāll take some time so if you are familiar with Raspberry Iām happy to help you setting this up.
2/ On FLAC streams, you technically cannot add metadata. The only possibility would consist in transcoding the FLAC stream to AAC or MP3, and add metadata to that new stream, but this does not make sense for Radio Paradise since there is already such streams available from their website.
Of course, another possibility would consist in Roon and RP teams working together to develop a plugin/service, but thatās a whole different story
I understand that icy-metadata can be added to a FLAC stream in an Ogg container and that is what Radio Bluesflac is doing right. If we can work out how to get other FLAC stations to do the same ā¦