Adaptive Radio

It can be hard to listen to music in the office. Perhaps your favorite artists are rappers, while your coworkers love opera. Do you take turns torturing each other with your music? Or do you try to find a middle ground, like a rapping opera singer? Adaptive Radio is an alternative approach in which users just indicate what songs they don't want to listen to, and the system will try to play MP3s that are not disliked by anyone. If you hear something you don't like, just hit a button, and Adaptive Radio will remember that you don't want to hear this song or anything like it again. After a while, it will play only songs that you like (or at least tolerate). When your coworkers come in to the office, the system continues playing the songs that you like but excludes the songs that they dislike. When they leave, it can resume playing the songs that you like but they dislike.

What is the difference between songs that you like and the songs that you don't dislike? If you were to list the musical artists that you like and one of your coworkers did the same, how many artists do you think would be on both lists? What if you compared lists with three or more of your coworkers? Chances are, there would be no intersection of your stated interests. But what if you and your coworkers listed things that you don't want to hear? A system could combine these lists and simply play the songs of artists that are not on this combined list. They may not be the songs that you rank among your favorites, but they are songs that no one dislikes. For example, most people would not list Barry Manilow as their favorite artist, but if his songs were playing, no one would mind. OK, maybe you would mind, but if the system plays a song that you don't like, simply add it to your own list of disliked artists and Adaptive Radio will not play it in your presence again. It may play it when you leave the room, though. Oh come on, Barry Manilow is not that bad.

Combining dislikes can be easier than combining likes.


D. L. Chao, J. Balthrop, and S. Forrest. Adaptive Radio: Achieving consensus using negative preferences. In K. Schmidt, M. Pendergast, M. Ackerman, and G. Mark, editors, Group '05: Proceedings of the 2005 International ACM SIGGROUP Conference on Supporting Group Work. pp 120-123. ACM Press, New York, 2005.
(PDF, BibTex entry)

D. L. Chao, J. Balthrop, and S. Forrest. Adaptive Radio: Achieving consensus using negative preferences. Technical Report TR-CS-2004-08, The University of New Mexico Department of Computer Science, Albuquerque, NM, 2004. (An extended, but earlier, version of the GROUP 2005 paper.)
(PDF, postscript)

Installing Adaptive Radio

Adaptive Radio is a Linux-based music broadcaster. Adaptive Radio uses Icecast to broadcast. New versions of Icecast do not work with our software, which was developed using the following distribution of Icecast:

After Icecast is installed, download and install Adaptive Radio:

Adaptive Radio is released under the GNU General Public License (GPL).

After Adaptive Radio is installed, add users and MP3s to the system using the instructions in the README file.

Using Adaptive Radio

Adaptive Radio is designed to have a simple interface that only requires feedback when you hear a song that you don't like. After logging on, you have the following options:

There are three web-based user interfaces:

We thank Philip Nelson for allowing us to use his images of old radios from Phil's Old Radios page.