Saturday, January 22, 2011

ds106 Radio

I like this a lot. It took me a bit to figure out what to do (the post never actually tells you how to *listen* to #ds106 radio, but eventually I took a flyer and just clicked on the link titled "streams that audio out to a play list" and it launched and simply started playing in VNC Player (and I assume it would do the same in iTunes if iTunes were my default audio application).

The music isn't exactly to my tastes, but it's OK. I'm listening to it as I do this follow-up. I wish people would announce band names and song titles, in case I hit something I like (like the Bowie I'm listening to right now, which I had to learn about by Googling the lyrics).

Just as an experiment, I tried stopping the stream to see whether the audio player would pick up later at the same spot. No. No way to skip forward, either. So now I'm not listening.

Extracting the link and doing a search on tunein.php took me to a list of a *pile* of these radio stations. I see there's a tunein radio app for the iPhone.  Also for Android I wasn't able to find any documentation or download for the tunein.php application itself, though (Google search is just awful sometimes).

Looking up the file format gives me more information.

Now I'm listening to Radio Super Medellin, a talk show in Spanish, in yourmuze.fm - a web-based .pls stream player, formerly called Moodio (mobile users can go to m.yourmuze.fm ). I was able to add the ds106 station to the station list and now I'm listening to it in yourmuse.fm (still no way to skip ahead, though).

All very fine, but how do you *make* a .pls radio show? I tried another serach string from the ds106 URL, 'myautodj', which took me to Myautodj, a  Shoutcast radio station hosting service. I like Shoutcast a lot - I have the client on my iPod Touch and listen to old-time radio broadcasts late at night. It's as though the radio signals travel through time. It looks like myautodj costs $20 a month, though - not too expensive, but I want to explore more. There's a huge list of options - the ever-useful Robin Good summarizes them.

Still listening to ds106 and it seems the songs are different, even though the bumper was the same. So maybe it doesn't just repeat. Cool.

Still looking for ways to create. Winamp and some other players will allow plugins that allow you to create and upload .pls files based on what you're listening to, which is a pretty good idea. I'm looking for something stand-alone, though. I found some here - MP3 Tag Assistant Professional and Music Tag Editor

I downloaded the Music Tag Editor to create some demo playlists. (Half an hour later) OK. Figured out how to make a playlist with songs from different folders. The out-of-box set-up for Music Tag Editor is very confusing, as it's set to wipe out your playlist and automatically create a new one every time you change file folders. In folder view, you have to unselect the 'automatic addition' buttons at the top of the folder list (there's two of them, one 'with clear' (which is selected by default), and one 'without clear'. Then, to actually create the playlist, click the 'generate' link in a completely different panel. Usability fail.

So that worked. But all the song addresses are windows directory addresses, which won't work very well online. Can I just use web addresses? I open the downloaded ds106.pls file and... Nope. Instead of specific songs, it says simply: File1=http://208.82.115.69:8010/stream - Ah! A stream! (That's probably why I can't skip forward). The stream won't play in my browser (Chrome); it just gives a broken palyer screen. But I can enter it into the 'play network stream' window in VNC and play it from there.

Well, yes, streaming is better than downlading. But you needs a streaming server, which I don't have. So we're back to sending the playlist to some service, or installing a streaming server. Hmm.

Well, maybe I can just make a list of MP3 files work. Uploading MP3 files (wait.... wait... bandwidth challenged service provider, aka. Rogers). I edit the .pls file manually in Notetab to point to the http file locations, and upload that to http://www.downes.ca/files/audio/mylist.pls and then try to open it...

In the browser. No joy. It just shows the text of the file. I guess I have to set up my server to serve .pls files as a specific mime-type. Not sure which mime type, though...

I try downloading the .pls and clicking on it. That works, sort of. It won't open the first file ("Your input can't be opened: VLC is unable to open the MRL  http://www.downes.ca/files/audio/04 - Open Window (Live).mp3'. Check the log for details". It jumps to the second and starts playing it. It probably hates the file name with spaces and brackets and such in it. I fix the filenames and - yes, that's it.

OK, the mime type. Let's look that up and Google. Looks like it's audio/x-scpls - as given by fileext.com  And this site confirms that, and also offers a suggestion of how to create a link for it.  So how do I set my server to serve .pls as audio/x-scpls ? You can set up a .htaccess for it  but I'd rather change the server configuration itself.

In the server, mime types are defined in /etc/mime.types (your server may vary) so I ssh into my website, log on as root, and open the file ( vi /etc/mime.types
 ). Then I restart the web server and try the URL again. Excellent! Now it behaves exactly as the ds106.pls file behaves.

13 comments:

  1. FWIW pls and m3u files are really just text files that act as an alias to audio streams; I often short cut them by opening a downloaded on in a plain text editor and picking out the real stream URL.

    What I learned was the cleverness of the dropit site for making easy for people to submit audio and whatever it does to turn a folder into a playlist. Total small pieces coolness

    ReplyDelete
  2. Stephen,

    Grant Potter is the genius behind this setup, I'm just a patsy, here is his URL
    http://web.unbc.ca/~gpotter/

    Hopefully he will come by and clrify...

    ReplyDelete
  3. This is a stream from an IceCast server .. I am using CentovaCast to manage the automation of tracks and schedule programming .. I started looking at some scripts and FOSS means of doing this but ran out of steam and just wanted to get some audio on the air.

    I tried baking an anonymous uploader from scratch http://pg-uni-ctlt-01.unbc.ca/du/ but it kept choking on larger file uploads - hence my default to http://dropitto.me/ds106 which points to a folder in my Dropbox account. This could just as easily be SFTP/FTP rather than Dropbox, but I wanted to spend a few hours getting this rolling and work out alternatives later.

    One thing I was looking for was the ability to cut into the autorotation with a live adhoc broadcast ... CentovaCast and IceCast allow for this easily. I will be looking at a completely homemade DIY way of getting this flow underway ... but in the meantime ...

    "Dance, dance, dance, dance, dance to the radio!"

    ReplyDelete
  4. CentovaCast http://www.centova.com/docs/cast/centovacast_install_guide.php

    ReplyDelete
  5. Grant, your IceCast server, or is it hosted?

    ReplyDelete
  6. No - it is hosted - I ponied up for a month of hosting to give this idea a shot ... cost is $30/month with unlimited bandwidth and 100 concurrent listeners. As I develop this idea a bit more I will be looking for a cheap VPS to knit all of this together for better flow and less admin overhead for the 'station manager' ... also plan to explore a FOSS alternative to CentovaCast

    ReplyDelete
  7. Grant,

    Let me know how we can help you defray the costs we definitely want this for at least the extent of the class. I can put a donate for ds106 radio button in the sidebar, and cap it when we hit the four month limit---and then you are free to go. Let me know.

    ReplyDelete
  8. No worries Jim - I consider this ProD with a healthy serving of fun - as I explore different flows I imagine I will discover more cost efficient was of tying these pieces together. I hope to come up cost efficient DIY plan for hosting your own freeform+live radio using a VPS. I have used Amazon EC2 for dev of some other projects and am hoping I can build something that mimics an Amazon AMI http://aws.amazon.com/ec2/ on a VPS ... big project, but would be fun.

    ReplyDelete
  9. $30 is pretty good - where did you host? Was the audio streaming server configured as part of the hosting package, or did you have to do the install / configuration yourself?

    ReplyDelete
  10. Hosting at http://www.shoutcastautodj.com/

    CentovaCast comes pre-mounted to a 5GB volume - unlimited bandwidth. There are a bunch of tweaks you can make in the GUI and some interesting scheduling combos.

    ReplyDelete
  11. I chose http://www.shoutcastautodj.com/ as it offers both IceCast and Shoutcast hosting ... I was more interested in IceCast as it allows for some interesting live broadcast options.

    ReplyDelete
  12. Grant, how are you uploading files? The site says FTP, but of course the files are being uploaded to dropbox. Do you have a script somewhere moving content from dropbox to shoutcastautodj, does shoutcastautodj have a harvest function, or are you doing it manually?

    ReplyDelete
  13. Hi guys, you could always check out this FOSS alternative: http://www.sourcefabric.org/en/products/airtime_overview/

    ReplyDelete

I welcome your comments - I'm really sorry about the moderation, but Google's filters are basically ineffective.