Как убить socket.emit?
Зачем вы создаете вопрос и не слушаете ответы ?
Зачем в event системе, делать broadcast через Interval?
Почему Interval а не setTimeout ?
Зачем вы вообще используете Nodejs, если видно что вы явно его не понимаете?
io.on('connection', function (socket) {
   socket.on('songchanged', function(changed){
      socket.broadcast.emit('changed',  data);
   })
})
Это если без интервала, broadcast потому  что, просто сокет емит не отправлял клиенту ничего.
Interval потому что, нужно когда новый клиент, который только что подключился, получил данные которые были получены еще до его подключения