If you have the pins to spare, you can set 16 buttons up in a 4x4 matrix (see http://www.dribin.org/dave/keyboard/one_html/
) and read them with 8 lines of standard GPIO; no additional components needed! Indeed, you can get away with 5 lines by using charlieplexing (see http://en.wikipedia.org/wiki/Charlieplexing
), though that means a diode at each switch and more complicated software. (Note that while the Wikipedia article concentrates on using charlieplexing for driving LED's, the method can also be used for scanning a set of switches, as explained at the end of the article.)
One problem with the traditional matrix setup is "ghosting", a.k.a. "phantom keypresses". This is explained in the article linked, along with the cure (use a diode at each switch, removing one advantage this setup has over charlieplexing). Note that if you have to use diodes in a 3.3V system like the Raspi, I would recommend schottky diodes above standard rectifier diodes, due to the schottky's lower forward voltage.
Another problem you might have is with "contact bouncing", see http://www.elexp.com/t_bounc.htm
or more in-depth at http://www.ganssle.com/debouncing.htm
. This can be solved in software, as explained in the articles.
B.t.w., I would be very interested in reading about your progress with this project; internet radio is on my to-do-with-Raspi list, along with a few other projects.
Best regards, Kári.