Как можно раздавать музыку с сайта без возможности сохранить её локально?
НИКАК
Можно. Ты не работай с файлом, а работай с данными. На клиенте можешь получить arraybuffer. Значит данные можно шифровать на сервере, а дешифровать на клиенте. А потом играть через WebAudio API. Но тут потребуется полная загрузка данных. Но это не проблема, если правильно организовать предзагрузку.
Но зачем все это. Твой сайт - не последняя инстанция с музыкой, не скачают у тебя, скачают в другом месте. Выдавай музыку 128кб/с и не морочь себе голову.