> Мимо. Конкретно у этой микросхемы есть ограничение, не применимое к звуковым платам
> и заставляющее ставить несколько кварцев - ей необходимо работать слэйвом и
> брать синхронизацию с SPDIF и прочая. См даташит к CS8414, по
> этому такое усложнение.У меня такое впечатление, как будто не я разбирался и чинил сломанное переключение частот, а вы :) Еще раз - ЦАПу нужен MCLK - (master clock), на базе него получается требуемая частота. Можете сами посчитать ближайшее кратное число для 44.1kHz, 48kHz (фактически нужно для 176.4kHz и 192kHz), вдобавок делитель для обоих частот должен быть степенью двойки, либо нужен более хитрый преобразователь частот с гибким делением и умножением.
Другая моя плата - emu-0204 имеет только аналоговые входы/выходы, но на ней также стоят два кварца. Правда DSP сам их выбирает, в зависимости от запрашиваемой частоты.
Есть у меня и другой пример - sansa zip. С rockbox имеет приличное звучание на 44.1kHz. Построен на базе кодека as3543, имеет очень гибкую систему делителей и множителей, опорная аудио частота 192mHz, итоговая погрешность на 44.1kHz - 0.04%.
> Микросхемы без этого спокойно обходятся 1-м кварцем.
Угу, примерно также как и sb live/audigy :) На 44.1 будут повышенные интермодуляционные искажения. В итоге alsa автоматически включает программный resampling, дабы обойти эту ошибку природы.
> Например,
> весьма распространенный дешевый ALC888 использует один кварц на 24MHz и делает
> все тоже самое и даже больше
Это не ЦАП, а кодек с интегрированным генератором/ЦАП/АЦП/микшером/spdif/gpio. И да он и с 48kHz не очень хорошо справляется, а про 44.1 без программного ресемплинга лучше вообще забыть.
>> Должны - alsa низкоуровневый интерфейс, приложение как минимум должно согласовать частоту, формат (16/24/le/be), размер буфера, количество периодов
> К DAC здесь относится только 16/24. На оба варианта будет ответ -
> ДА даже у упомянутого динозавра 2002 г. выпуска.
О каком динозавре речь? Если о cs4398, то насколько я знаю у cirrus logic посей день нет ничего лучше. Ручной выбор частоты в emu-1212m, означает что приложение может использовать только одну выбранную частоту.
> Так в чем проблема?
То есть вы думает, что все устройства поддерживаемые alsa умеют 192kHz/24bit? Включая всякие RBPi/телефоны/планшеты/ноутбуки. Да и забудьте про ЦАП - alsa с ним не работает напрямую. Буфер и периоды настраивать нужно, они очень отличаются для разного железа и разных частот. Еще забыл, что количество каналов тоже разное.
> Вот скажите, пожалуйста, только честно, зачем потребовалось заходить в тред чтобы еще
> раз подтвердить мои слова про PA, но только в несколько иной
> форме?
Мне не нравится, когда человек справедливо указал на сложности в alsa api, а его ответ называют "всякой хренью" и несут про "1-битный обычно 3-х мегагерцовый ЦАП с сигма-дельта модуляцией".