Классный вопрос. Ну, наверное нужен сервер, который будет говорить клиенту сколько и какие песни у него есть. Потом нужен стриминговый функционал передачи звука у этого сервера. И куча всяких плюшек для управления звуком. И вроде это всё, если это «домашний» проект. Ну и да, тэг
audio
,
Web Audio API,
Media Session API.