Почему не получили не то что звук гораздо более низкого качества, а вообще никакого изменения качества?
Теперь понятно.
Там выше было возражение насчет "только в одном из них". Совершенно справедливое возражение - я рассматривал частный случай, когда "железо" не позволяет по другому.
А дальше - уже более общие соображения, касающиеся ухудшения звука. Вот их сейчас и проясню.
Никакая многозадачная ОС не позволяет программа напрямую работать с "железом" (под "железом" подразумевается аппаратная часть, и можно я дальше не буду писать кавычки?). Но из этого правила бывают исключения.
В обычном режиме (кроме исключительного) все программы для воспроизведения звука обращаются к ОС, а именно - уведомляют ее, какие звуки (адрес буфера со звуковыми данными) и в каком формате (структура, описывающая разрядность звука, частоту дискретизации, число каналов и пр.) нужно воспроизвести. ОС в свою очередь берет все эти звуки, смешивает между собой и отправляет в блок, непосредственно взаимодействующий с железом.
Этот блок работает с участком памяти, называемым первичным буфером, и содержащим звук, предназначенный для воспроизведения, в некотором формате, который задает сама ОС. Например, Windows по умолчанию создает буфер 2 канала по 8 разрядов на частоте 22050 Гц. И только в этом режиме могут одновременно работать несколько приложений. Если же нас такой звук не устраивает, мы можем сами задать режим работы первичного буфера, но при этом либо будут возникать помехи при переключении между приложениями, либо вообще работа со звуком будет разрешена единственному приложению. Именно этот вариант описан в исходном сообщении темы: первое запущенное приложение запрещает использовать звуковую систему кому-то еще.
Вернемся к режиму, который позволяет "звучать" одновременно нескольким приложениям. При этом одно приложение может дать ОС на воспроизведение фрагмент 16 разрядов на 96 кГц, другое - 24 разряда на 192 кГц (эти фрагменты называются вторичными буферами), но оба эти варианта при переносе в первичный буфер будут преобразованы к 8 разрядов на 22 кГц. И в колонки пойдет результат именно этого преобразования. Именно это ухудшение качества звука я и имел в виду - то, что отправляется на колонки.
Но в самих вторичных буферах ничего не изменится. Они по-прежнему останутся 16*96 и 24*192. И именно из них Рипер, по идее, и должен брать данные. Т.е. то, что еще не преобразовано для вывода на колонки и остается в прежнем качестве. Исходников ни ОС, ни Рипера я не видел, но если бы я делал что-то подобное, то поступил бы именно описанным способом.
Вы точно "настоящий сварщик"?
Я программист, а не музыкант, если Вы это имеете в виду.