Ничего плохого в вашем PHP-коде.И ни PHP, ни веб-сервер не знают разницы между файлом MP3 и другими типами контента.
Вы проверили, не связан ли он с размером?
Знаете ли вы, что междубраузер и PHP, который может фильтровать?
Вы пытались использовать прослушивание телефонных разговоров (например, wireshark), чтобы подтвердить, что данные покидают браузер или попадают на сервер?
C.