One of the things keeping me sane in this madness has been noodling about on #ds106radio, most usually with Tannis Morgan and Maren Deepwell. With the recent upgrade to the server infrastructure to use Azuracast, Jim offered me the opportunity to kick the tyres a little bit and stupidly gave me a superadmin account. In return I offered to write up a little of what I played with.
First things first, the new exciting feature that Azuracast brings is METADATA! It’s now possible to feed metadata in as part of the broadcast stream and have it displayed.
I use Audio Hijack to broadcast and updating the Broadcast block there to feed in metadata is as easy as 1-2-3.
- Click the Broadcast block and choose the Metadata tab.
- Track Title and Artist are already setup as the default metadata to pass.
- Choose your music source of choice (in my case Spotify, but you might be using Mixxx or Apple Music).
I filled in the Station Info too because I’m a bit of a completer, but I’m not sure that’s really necessary.
One thing I have noticed is that whatever metadata has made it to the Broadcast block will make it to Azuracast, so unless you want the metadata for the last thing you were listening to feeding into Azuracast, you should queue up your opening track before going on air, or switch the metadata source on once you’re online and ready to play the first track (if you want it to be a surprise). It maybe seems like a minor thing, but now that Jim and Tim have got the @ds106radio Twitter account working it means that sucker is going to get tweeted out as well as appear briefly on screen in the player.
Hmm – this is interesting. I didn't play this, but it was queued up in Spotify and the metadata was visible in the Audio Hijack block. It obviously fired through to Azuracast as part of the connection. #ds106radio https://t.co/yB8EWAucem
— Anne-Marie Scott (@ammienoot) August 15, 2020
This is perhaps more important to consider for the future if we get to a place where playlists could be autogenerated. Or if you’ve got a nasty little Bay City Rollers habit you’re trying to keep quiet.
The other change that has come with Azuracast is the ability to have our own DJ accounts. Jim documented setting up a Streamer/DJ account in his blog post. I’ve set myself up my own account and now connect using that. Making that work is just a straight replacement of the username / password I use to connect with in the Broadcast block in Audio Hijack.
The immediate impact is that the web player will also display your DJ username as well as metadata.
Tim Owens has also set up the @ds106radio account to use the username of the streamer/DJ account if it’s not the default one, which is kind of cool for alerting when people come online.
— DS106 Radio (@ds106radio) August 16, 2020
Other things I can get to with my SuperAdmin powers are some of the reports. For example I can see who’s listening and where:
This report has a whole list of IP addresses for listeners, so whilst it would be cool to share it more widely, that’s data that will have to be treated quite carefully (‘cos that’s PII dontchaknow).
Azuracast also keeps a log of all the music being streamed in, based on the metadata provided I assume. I’m not so interested in seeing things like a listener count per song, but this is where some of how Azuracast is designed starts to become visible. Whilst the ability to connect in and stream from an external source allows things to stay as freeform as one wants, the core management software has a number of features which are geared towards more playlist oriented radio. That becomes even more visible when you start looking into how it handles mp3 files that get uploaded, but that’s another post.
What is interesting to me is that somewhere behind this is a database of all this info, but I’m struggling to find APIs that make it accessible. What is immediately accessible is the Now Playing API however. For ds106radio it’s at https://ds106rad.io/api/nowplaying
Amongst many things in there is the current listener count. It would be cool to update the public player page to embed that somehow.
I’ve got a bunch more thoughts about how the Now Playing API could be used too, but that’s also probably another blog post. Next stops are to play around with the WebDJ functionality, and also the auto scheduler. This is fun!