> Если речь не кончиках, а о слушании музыки - то какие, на фиг, "битовые потоки на уровне
> железа"? Там один форматов потока - PCM.PCM бывает разным. С разной частотой дискретизации. С разным количеством битов на отсчет. Знаковый и беззнаковый. И даже с разным порядком байтов, если там более 8 битов на отсчет. Бывает даже FLOAT.
Железо же понимает не любые возможные комбинации а только какой-то ограниченный набор подмножеств всего этого. Програмеры же в общем случае не сильно мечтают узнавать какое подмножество sample rate, битностей и проч умеет вот эта вот звуковуха.
> Что там хочет большинство программистов - это проблемы того самого "большинства".
Они и пишут свои программы так как им удобно. Ты можешь писать так как удобно лично тебе, хоть прямым программированием железа, никто не запрещает.
> Есть вполне понятные и надёжные форматы и библиотеки - от lossless,
> где битовая точность гарантирована в принципе, до высоких битрейтов Ogg или
> того же подзабытого Musepack, где кучей исследований подтверждается неслышимость искажений.
А при чем тут это? Допустим декодировал я файл. Он оказался с частотой дискретизации какие-то 33075 Гц (я реально это видел, так можно). Как ты думаешь, сколько звуковух на этой планете смогут в железе синтезировать тайминги для работы с PCM у которого именно 33075 отсчетов в секунду? :)
> А DAC - это отдельная песня, но если хочется накапливать ошибку (причём
> на некоторые регулярные ошибки DAC может среагировть весело) - кто ж запретит.
Для начала множество железок может тягать PCM с довольно ограниченным набором таймингов. Это означает что полученный 33075Гц PCM железки не прожуют. А у тебя файл такой был. Что хочешь то и делай, да? И тут мы догадываемся зачем нужна передискретизация.