Rainwave.cc is a video game soundtrack streaming site where the listeners get to steer. While the current song is playing, three future potentials are presented in a voting table. Then, based on votes from all current listeners, the next song is slotted for play. Additionally, songs can be rated, and these ratings then affect how frequently the song is subsequently queued.
Once a song has been played, it goes Off Air for a variable amount of time — determined by its overall rating — preventing repetition and giving more of the playlist an opportunity for exposure.
I spoke with LiquidRain, owner and developer of Rainwave, about the site, stats, and songs.
Who’s behind rainwave.cc? How did the site come to be?
I’m the sole programmer and designer behind Rainwave and did the majority (as of today) of the playlist. Going forward, Vyzov, a member of the community, is managing the playlist. The site came to be when I was looking at long-standing radio site GamingFM and saw their request feature. I was wondering why their requesting was so mysterious and didn’t spell out exactly how their system worked, and that’s when I got the idea of creating a radio site that had instant feedback. From there the ideas evolved. I kept it between friends, working on it until it evolved to Rainwave, when I considered it good enough for people to use.
The voting and statistics gathering are the calling cards of Rainwave. How did they evolve, and how does the system work?
Rainwave first started out as just the voting mechanism – the immediate feedback GamingFM lacked. The same three song selection system was in place from the very beginning. It was sloppy though, and forced you to make your vote 30 seconds before the song ended due to being generally dumb, and did a complete page re-load instead of the nice self-updating you get today. Slowly but surely I kept adding features: ratings, then ratings affecting song frequency, making the page update nicely, and using a tabbed interface for the playlist and song history. I kept evolving the site itself to function better; it became smarter and used the windowing system you see now, instead of tabs, and became a more cohesive and simplified UI while still retaining all the features. The last major feature was requests, after that I just kept adding layers of statistics to the site and made the site snappier and easier to use and read as time went on.
The whole system is dependant on a C++ backend custom-written from scratch by myself, a PHP-driven website, and a MySQL database (though I wish I went with PostgreSQL). The backend’s work is triggered each time a song changes, and the site is synchronized with that. The rest is all in the programming.
Why Ogg Vorbis for the stream?
Simple: More bang for your buck. An 80kbps Vorbis stream sounds better than a 128kbps MP3 stream.
Now that you’ve been tracking song ratings and stats over time, have any surprises or interesting trends appeared?
Yep. Ratings generally keep going down as more people come to the site. The average rating of all songs and albums has been falling as time has gone on. A few ratings for some albums surprised me: I thought for sure that Parappa would have been a hit with the audience, but I was wrong. It was averaging a 2.2 rating when I pulled it. Other experiments with music genres had expected results: both Quake games bombed in ratings, and so did Wipeout.
There are some interesting anomalies in people’s stats too: Very active users who’ve never cast a rating but vote frequently, people who vote a lot and never request, people who listen a ton and never vote or rate, everyone seems to use it differently.
Continue reading →