A little while ago I was driving my car and a traffic report came on the radio. It gave some useful information but also a lot of information about roads I was not going to be using. As the report was trying to satisfy lots of people it ended up telling me lots of information I didn't need to know while missing out information that could be useful. I began thinking it would be great to have a personalised traffic report and given that my mobile has text to speech functionality and can connect to the Internet on the move maybe it could generate it (especially as I purchased the SVOX Victoria app which gives the mobile a rather charming accent). Digging around I found that the Highways Agency publishes some great RSS feeds for key roads so I thought I would have a go at building an app. To keep the development time for this experiment to a minimum I decided to use PhoneGap.
One of the joys of using an open source operating system like Ubuntu is that you can experiment with all sorts of ideas and not worry about constantly purchasing software or coming up against artificial limitations. By chaining some open source packages together we can do some quite interesting things, so it is fun sometimes to try a challenge. In this post I will show you how to take a text RSS feed and make it into an Internet radio broadcast that can be received on a dedicated device, so instead of being stuck in front of a screen you can catch up with your RSS feeds while sunbathing in the garden! The solution here is not intended to be production ready, and might be tough going for beginners, but the idea is it will give a basic overview which you can then go and experiment with. I'll be using Icecast2 to stream the broadcast, Ices to feed Icecast2 with files to broadcast, Espeak to generate text to speech audio files and a small custom PHP script to convert the text feed into a format suitable for ESpeak.