Воспроизведение музыки на компьютере - процесс совершенно неконтролируемый. То есть, к примеру, Windows предоставляет несколько программных уровней и несколько типов драйверов звуковых устройств. В итоге, из-за некомпетентности программиста, к примеру, одни и те же данные, на пути от файла к звуковому устройству, претерпевают несколько преобразований типов, с неизбежной потерей точности. Просто, что бы Вы представляли, чаще всего мы получаем от драйвера звуковухи (и отдаём ему же) данные с плавающей запятой. В таком же формате и обрабатываем. Но ЦАП и АЦП работают только с целочисленными данными! И корректность преобразований никто не контролирует. Это только тот маленький аспект, который интересовал меня. В реале там проблем в разы больше.
P.S. Вот, желающие могут сами попробовать разобраться в том, как работает звук в Винде
http://www.staudio.de/kb/english/drivers/
Там во главу угла поставлена совместимость всего со всем, а никак не качество звука. Соответственно, если разработчик идиот, то он сам не поймёт тех процессов, которые происходят при воспроизведении файла.