Каждый, кто сталкивался с вопросом о качественном воспроизведении звука рано или поздно встречается с аббревиатурой ASIO, как важной и необходимой опцией.



Что это и в чем практический смысл?

Прежде всего, ASIO имеет отношение только к звуковой части записи/воспроизведения с компьютера через звуковую карту или USB-ЦАП под операционными системами семейства Windows. Тем, кто слушает музыку со смартфона или с сетевого проигрывателя с собственной ОС иметь представление ASIO тоже полезно, т.к. знание об этой «опции» позволяет избежать ряд проблем, присутствующих в смартфонах и соответственно позволяющая понять, почему не все платформы для звука одинаково полезны.

ASIO – это программный интерфейс передачи данных от программы, которая воспроизводит или принимает звуковой сигнал напрямую в драйвер звуковой карты, минуя звуковую подсистему ОС.

Необходимость в ASIO возникла исключительно для профессиональных задач. Самой большой проблемой была и остается минимальная задержка для передачи аудио сигнала. Когда мы смотрим фильм, нам не важно, сколько времени требуется системе для старта воспроизведения видео и аудио, доли миллисекунды или пару секунд после нажатия на кнопку «play». Главное, чтобы видео и аудио были синхронны относительно друг друга. В студии же требования очень жесткие, т.к. часто требуется игра вживую на виртуальных инструментах, с которых звук необходимо обрабатывать в реальном времени. Невозможно полноценно играть на midi клавиатуре, если нажатие на клавишу слышишь не сразу, а спустя секунду.

Штатно в ОС семейства Windows задержка составляет от 7 до 300 мс и зависит от текущей загруженности системы. Как несложно догадаться, звуковая система не является приоритетной в Windows и все что от нее требуется, это что бы звук просто не заикался, а для этого аудио данные собираются отдельный буфер и передаются сразу большим куском. Для сверх малых задержек буфер должен быть маленьким и постоянно передаваться небольшими пакетами.



ASIO является альтернативным мостом, который обеспечивает передачу звукового потока от программы до драйвера с фиксированным значением буфера, минуя штатную систему передачи данных ОС. Т.к. ASIO не является разработкой Microsoft (которой, к слову, на звук традиционно положить три кучи), то поддержка вывода и приема в ASIO ложится на плечи производителя ПО и звуковых устройств. Первоначально ASIO был разработан компанией Steinberg под свои продукты в момент перехода от MIDI к виртуальному синтезу и сегодня поддерживается практически всем профессиональным софтом и звуковыми интерфейсами.

Как несложно догадаться, аудиофилам без разницы на то, какая задержка в системе. Но полезно знать, на что ОС тратит свои силы под передачу звука и как это сказывается на качестве.

Как влияет звуковая подсистема ОС на звук




В ОС много программ, которые являются источниками звука, это Skype, ICQ, браузер с музыкой в вКонтакте, системными звуками, видеопроигрывателем и другими приложениями. Все эти звуковые потоки различаются как дискретностью, так и частотой семплирования, а на ЦАП должен придти всего один стерео поток с определенной разрядностью и частотой дискретизации. Соответственно все звуковые потоки необходимо заранее смикшировать. Что бы представить уровень проблемы, представим, что есть несколько фотографий с разными исходными разрешениями, которые нужно одновременно вывести на экран ЖК монитора, при этом каждая фотография должна заполнить весь экран. Если фото вывести пиксель в пиксель и фото займет часть экрана – это будет аналогично тому, что звук будет воспроизводиться медленнее или быстрее.

Если разрешение фотографии 600х480 пикселей, а разрешение монитора 1024х768, то необходимо фотографию предварительно перевести в 1024х768. Четкость фотографии несомненно снизится. Примерно так страдает и звук, который система пересчитывает из 44,100 кГц в 48000 или 96000 кГц. Качество ресемплера в Windows оставляет желать лучшего, т.к. идет максимальная экономия ресурсов.

Возвращаясь к фотографии, у нас есть фото с разрешением в 600х480 пикселей, 1024х768 пикселей и 2048х1536 пикселей и все фотографии надо вывести на 1024х768 пикселей. До сложения необходимо 600х480 и 2048х1536 пересчитать в 1024х768 и после три фотографии просуммировать, накладывая одну картинку на другую.

Обычно только одна программа воспроизводит основной звук, а остальные проигрывают звук периодически (ICQ, Skype) и их можно сравнить с логотипами и надписями поверх основной фотографии. Вполне очевидно, что картинка с исходным разрешением в 1024х768 меньше всего пострадает в качестве и если она будет основной и совпадать с разрешением монитора, то в снизится качество лишь вспомогательных картинок: логотип и надписи.

Так же и в системе можно формально выставить конечную частоту семплирования 44.100 кГц под аудиоплеер и пренебречь качеством системных звуков, которые звучат лишь время от времени.

Однако для наименьших потерь в качестве при микшировании звуковых потоков добавляется специальный шум (диттер) и системе все равно, одна программа воспроизводит звук или несколько. Таким образом, даже при воспроизведении всего одного звукового потока без его конвертирования в другую частоту семплирования, он все равно подвергается обработке и уже не поступит на ЦАП «бит в бит».

Если раньше ОС отслеживала, с какой частотой семплирования поступают на вход данные и автоматически выставляла максимальную поддерживаемую звуковой картой частоту дискретизации к входящим звуковым потокам (например при входящих 22, 44,1 и 48 кГц выставлялась 48 кГц, а при 22 и 44,1 понижалась до 44,1 кГц ), то начиная с Win7 в системе принудительно выставляется общая частота семплирования и автомата опорной частоты нет. Стабильность ОС повысилась, но метод не всех обрадовал.

Описанная ситуация в равной степени справедлива для всех ОС и платформ, которые могут воспроизводить звук одновременно с разных программ. В мобильном телефоне это к примеру воспроизведение телефонного разговора и системный сигнал о севшей батарее.


Условно общая схема выглядит так. При использовании ASIO Звуковой поток направляется сразу в микшер драйвера звуковой карты (Mixer Driver), минуя ресемплер (SRC) и микшер ОС.

Для необходимости воспроизвести звуковой поток «бит-в-бит” есть специальные режимы, в ОС Windows это «Kernel Streaming» (версии до XP) и WASAPI (версии после XP включительно). В таком режиме право передать звуковой поток имеет только одна программа в системе и тут полностью исключается микширование и пересчет данных. Более того, есть поддержка системой автоматического переключения опорной частоты (но при соответствующей поддержке драйвера звуковой карты).

Этот режим не рекомендуется использовать обычному пользователю, т.к. несет за собой разные проблемы. Например, пользователь включает Foobar2000 с WASAPI и после запускает видео ролик с ранее запущенного браузера. Звуковой драйвер не принимает звуковой поток от браузера и происходит крах флеш плагина. Налицо — система порушилась, а это: «печаль, беда и огорченье». Производители ПО крайне редко делают возможность вывода звука в KS/WASAPI, т.к. воинствующие пользователи будут винить в проблемах не свои кривые руки, а программу «из-за которой все порушилось».

Режимы KS/WASAPI можно встретить только в аудиоредакторах, секвенсорах и редких программных плеерах, предназначенных для аудиофилов – под подготовленных пользователей, которые понимают, что будет страдать стабильность работы ОС и кроме плеера/аудиоредактора/секвенсора звука не будет. Продвинутые аудиофилы, отказавшиеся от встроенного звука обычно для музыки используют отдельную звуковую карту, а системные звуки направляют на встроенный звук, что обеспечивает высокую стабильность работы ОС.

Т.е. по сути, KS/WASAPI – это идеальный вариант для вывода звука для аудиофила. Поддерживается в Foobar2000, AIMP, Winamp. Тем, кто хочет и фильмы в качестве слушать – есть плеер Light Alloy.

ASIO или WASAPI?


Профессионалы используют режим ASIO, который передает в драйвер звуковой поток «бит-в-бит» и обеспечивает фиксированный уровень задержки. WASAPI штатными настройками ОС не позволяет управлять задержкой. Уровень задержки в профессиональной работы приоритетнее, а «бит-в-бит» лишь приятный бонус.

Что происходит, когда задействованы одновременно звуковая система ОС и ASIO?

Для звукового драйвера есть два звуковых потока, одни из них приходит из подсистемы ОС, другой из ASIO. Исключительно от того, как был написан драйвер, будет происходить микширование финального потока до ЦАП. В одних случаях, если есть звуковой поток из ASIO, то звук от подсистемы ОС отключается, в других случаях происходит микс потоков из ОС и ASIO и «бит-в-бит» остается только в теории. ASIO, как и WASAPI позволяет лишь избежать алгоритмов SRC (передискретизации) и микширования подсистемы ОС и ничего более. Целостность финального потока будет зависеть от драйвера.

В любом случае, практически всегда звуковая карта работает в том же режиме семплирования, что и поступающий поток из ASIO, что дает некоторое преимущество для ASIO.

Микширование в драйвере может быть программным, а может аппаратным. Особенно забавно выглядят попытки аудиофилов в качестве источника ставить профессиональный интерфейс для «качественной цифры», где цифра выдается после аппаратного микширования. Впрочем, некоторым отмикшированный звук нравится больше оригинального … чище, прозрачнее и душевней…

Если логически просмотреть цепочку, по которой должен пройти звуковой поток, то для идеологии «бит-в-бит» звуковой интерфейс должен поддерживать всего один вариант, либо отключать микширование потоков при работе только одного интерфейса. Только в этом случае шансы получить «бит-в-бит» максимальны.



К примеру, возьмем OPPO HA-1 c поддержкой ASIO. Если запустить одновременно Foobar2000 с WASAPI и AIMP с ASIO, то на выходе мы услышим одновременно оба звуковых потока. Цифровых выходов у OPPO нет и соответственно нет возможности проверить звуковой поток на «бит-в-бит» отдельно для ASIO и WASAPI перед ЦАП.

А вот с ASUS Essence STU ситуация иная. Если AIMP с ASIO играет, то Foobar2000 с WASAPI уже молчит, звуковые потоки не смешиваются, отдавая приоритет для ASIO. Проверить цифровой поток аналогично возможности нет, но шансов, что звуковой поток поступил «бит-в-бит» на порядок больше.

Считается, что USB-ЦАП обязательно должен поддерживать ASIO, но на практике мы получаем дополнительное звено, где должны смешиваться или переключаться потоки из звуковой системы ОС и ASIO. И тут отсутствие ASIO – это отсутствие неизвестного звена, где может быть принудительное микширование, которое нельзя протестировать без цифровых выходов. В тоже время микширование на этом этапе обычно производится в разрядности 24 или 32 бита и соответственно услышать шум диттера маловероятно. Проблема лишь в идеологии «Hi-End».

Является ли ASIO панацеей от всех бед?


Как показывает практика, все зависит от драйвера звукового устройства. Если устройство профессиональное, то обычно стабильности и качеству у производителя ASIO максимум внимания. Если устройство бытовое, то ASIO может работать на порядок хуже режима KS/WASAPI. С практической точки зрения при выборе использования KS/WASAPI и ASIO нужно использовать тот интерфейс, с которым ОС работает более стабильно.

Универсальный драйвер ASIO4ALL




Драйвер ASIO4ALL необычайно популярен, но является при этом мостом между выходом ASIO из программы на вход KS/WASAPI в ОС. Это важно знать, т.к. если у вас звуковая карта не поддерживает ASIO, то после установки ASIO4ALL в том же Foobar2000 у вас выбор, выбрать изначально вывод в KS/WASAPI или ASIO через ASIO4ALL, который направит звуковой поток в тот же KS/WASAPI в ОС.

Ремарка для фанатов ASIO4ALL – да, там есть еще разные настройки, вроде выбора буфера и т.п., но эти возможности нужны лишь в профессиональной работе и ничего полезного не дают аудиофилам, для которых предназначен данный материал.

Что дает право утверждать, что ASIO4ALL доносит данные «бит-в-бит» до KS/WASAPI? Ведь теория и практика зачастую дают противоположные результаты. Для оценки качества работы ASIO4ALL был задействован Audiolab M-DAC с функцией проверки входящего звукового потока на «bit perfect» через воспроизведение специального звукового файла. Тест подтвердил, что данные приходят действительно «бит-в-бит» при воспроизведении из Foobar2000 через ASIO4ALL.

Кстати, приходили утверждения со стороны программистов, что например ASIO драйвер внешних карт E-MU (USB версий) сделан аналогично ASIO4ALL в виде моста и именно это является источником низкой стабильности карт…

Android и «бит-в-бит»


Возвращаясь к плеерам на базе ОС Android. В данной ОС есть аналогичный режим KS/WASAPI, но вот явных настроек под него нет. Единственный программный плеер, в котором есть режим прямого вывода в ЦАП используется в iBasso DX100. Разумеется, собственный программный плеер работает только в DX100 его нельзя скачать и поставить например в плеер Sony.

Проверить работу в Android на «бит-в-бит» очень просто. Запустите любой будильник и плеер. Если поверх звука из плеера вы услышите будильник, то никаких «бит-в-бит» на выходе нет.

Итог


ASIO – это возможность передать звуковой поток “бит-в-бит” минуя обработку звука в подсистеме ОС, но помимо ASIO есть и альтернативный вариант KS/WASAPI. Качество и точность передачи в конечном итоге обеспечивает лишь драйвер звукового устройства и порой отсутствие ASIO лишь отдельный плюс.

Автор Кузнецов Роман romanrex
При воспроизведении использую

Проголосовало 628 человек. Воздержалось 95 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Комментарии (44)


  1. Akdmeh
    19.05.2015 12:57
    +1

    Было бы еще интересно, если бы вы вкратце рассказали причины «треска», если сильно нагружать ASIO большим количеством VST-плагинов. Как я понимаю, это связано с тем, что буфер не успевает заполнится? Это проблема звуковой карты, жесткого диска или процессора?

    //А вообще, для встроенной карты использую обычные драйвера и ASIO4ALL в секвенсорах, а если подключаю внешнюю карту — встроенный VST


    1. romanrex
      19.05.2015 13:06
      +1

      При такой постановке вопроса — «большое количество VST», да, не успевает наполнится буфер из-за недостаточных ресурсов компьютера, где надо выискивать слабое звено: процессор, память (жесткий диск обычно реже бывает виновником). Тут только увеличивать буфер.

      Если копать очень глубоко, то может быть виноват драйвер, работающий мостом, аналогично ASIO4All. Еще причиной тормозов может быть использование USB карты вместо PCI/PCIe.


      1. Sadler
        19.05.2015 14:45

        Ко всему вышеперечисленному предлагаю также перейти на 64-битные VST и хост, т.к. а) возможно более эффективное использование cpu б) больше памяти под VST (тот же KONTAKT, например, будет квакать, если ему выделить недостаточно памяти под сэмплы даже на топовой машине).


  1. denis_g
    19.05.2015 14:13
    +12

    Жаль, что в опросе отсутствуют варианты Pulse/ALSA, ALSA, OSS :)


    1. fshp
      19.05.2015 22:59
      +3

      Jack


      1. Fedorkov
        20.05.2015 02:30

        Для качественного воспроизведения достаточно ALSA.


        1. fshp
          20.05.2015 04:52
          +2

          Пост в первую очередь о профессиональном звуке вроде как. ALSA тут явно не достаточно.

          Ну и тут речь совсем не о качестве. Для качества ASIO явно перебор.
          А разницу в ресемплированном звуке c 44кгц до 48кгц (да даже наоборот), пущенному по двум ржавым металлическим вешалкам и по золотому кабелю за $20к, на слух вы заметите только в 2 случаях — эффект плацебо, или же имплантированный в мозг АЦП. Что бы там не говорили аудиофилы.


  1. romanrex
    19.05.2015 14:44
    +1

    Опрос подразумевает пользователей Windows, задумываются ли они о качестве.

    Касаемо Линукс, уместно будет «Как-то играет и нормально», т.к. платформа или мало привлекает ценителей качественного звука, или потребность в звуке у пользователя Linux далеко не на первом месте.
    Если кто с этим не согласен, то:
    1. Нет тестов звуковой системы
    2. Ограниченное количество звуковых карт, способных работать под Linux
    3. Софт для работы со звуком в зачаточном состоянии…


    1. romanrex
      19.05.2015 14:58

      Для фанатов линукса и «минусеров».

      Если хочется доказать, что Linux годен для высококачественного звука, приветите тесты на побитовость выдачи данных со звуковых карт, включая корректную работы автомата опорной частоты. Если таких тестов нет, то могу провести соответствующий тест, но для этого нужен любитель линукса, который сможет в Москве в Soundpal подъехать с компьютером с установленным Linux и звуковой картой с цифровым выходом. Я проведу тест на «Bit Perfect» с помощью Audiolab M-DAC. Процесс можно сфотографировать и сделать материал в виде «как правильно настроить Linux»…

      Пока что внятных тестов нет, кроме фанатичной веры в идеальность Linux…


      1. ValdikSS
        19.05.2015 17:12
        +4

        Вывод bit perfect звука через ALSA (без PulseAudio) в Linux — проще простого, буквально выбрать устройство карты, а не dmix, в аудиоплеере. Насколько я знаю, существуют специальные аудиофильские железные плееры с Linux, которые выводят bit perfect аудио, и даже есть какие-то специальные дистрибутивы для Raspberry Pi.
        C PulseAudio все немного сложнее, но, как минимум, выбор опорной частоты в нем реализован.

        У меня, к сожалению, в лаптопе цифровое аудио только на DisplayPort. Если вы предоставите DisplayPort > S/PDIF переходник, USB-аудиокарту или просто компьютер с цифровым выходом, можно потестировать. В Москве буду 26-27 числа.


        1. romanrex
          19.05.2015 17:43

          DisplayPort > S/PDIF — такого нет.
          Компьютеры к сожалению «рабочие», на них не поэкспериментировать.


          1. ValdikSS
            19.05.2015 17:49

            Рабочие компьютеры выключать нельзя? Linux с флешки загрузим, никакие данные на HDD не изменятся. Ну, или с лаптопа, USB-аудиокарты-то у вас найдутся, я уверен.


            1. romanrex
              19.05.2015 18:03

              Загрузится система уже с установленным аудиоплеером от Linux?


              1. ValdikSS
                19.05.2015 18:04

                Конечно.


                1. romanrex
                  19.05.2015 18:12

                  Если так, то Bit-Prefect можно будет проверить напрямую по шине USB в нем самом. По отношению к Windows M-DAC обычным PnP — результат будет типичен для большинства USB-DAC.


    1. yumka
      19.05.2015 16:00
      +3

      Сейчас еще люди, которые работают на яблочной оси подтянутся, их CoreAudio определения «как-то играет» явно не заслуживает.
      Возможно, имело смысл сделать более явный заголовок на тему Windows-only?

      P.S. насчет пункта 2 — у меня Windows не видит сама по себе мою ESI juli@, а Linux четко определяет устройство по чипу ICE-чего-то-там и вполне себе играет из коробки. Я это к тому, что не слышал от знакомых о проблемах со звуком на линукс-машинах. Обычно — поставил — заиграло. Можно поподробнее на тему проблемных звуковых карт? Есть мысли поменять карту на внешнюю и, возможно, такая информация, поможет лично мне не сделать Большую Ошибку.


      1. Meklon
        20.05.2015 01:30
        +1

        Сюрпризы бывают) Я вот несколько месяцев назад словил эпичный баг ядра, который пофиксили после моего баг-репорта в 3.19. Я писал о нем: Как драйвер Windows коварно ломает звук в Linux или мучительные поиски бага


    1. Fedorkov
      20.05.2015 02:37

      3. Софт для работы со звуком в зачаточном состоянии…
      Под Линукс есть Bitwig.


      1. romanrex
        20.05.2015 12:49

        Bitwig с каким секвенсором по своим возможностям равноправно сопоставим? С какой версией CuBase, Logic, Sonar и т.п.? Насколько он современен?


        1. Fedorkov
          20.05.2015 19:39

          Я не знаю людей, которые бы достаточно хорошо разбирались одновременно в Bitwig-е и в перечисленных вами программах. Могу порекомендовать скачать демку и составить своё мнение.

          Редактор MIDI весьма удобный. Из форматов озвучки поддерживает, как минимум, VST, SF2 и ещё собственный формат.


  1. romanrex
    19.05.2015 17:31
    -1

    В материале максимально подробно расписано, в каких случаях не стоит рассчитывать на передачу «бит-в-бит» независимо от платформы. Есть ли в Core-Audio настройка, эквивалентная WASAPI?

    Что касается, «как-то играет» в MAC, то это будет третий или четвертый пункт. К сожалению, тестов на качество не намного больше, чем на линукс. Но доверия больше, т.к. ОС активно используется в коммерческих проектах, есть шанс, что уделено должное внимание звуковой части.

    Было бы интересно узнать, какие плееры в MAC реально работают в монопольном режиме (при воспроизведении из которых уже нет никаких звуков от других программ).

    В Linux от звуковой части нужно лишь что бы просто был звук, аналогично режиму PnP в Windows. Отсюда и «хорошо работают», аналогично PnP картам под Windows. Проф. карты имеют множество нестандартных настроек и для раскрытия полной функциональности зачастую нужен отдельный драйвер.

    Конкретно под Linux сложно что-то посоветовать, т.к. нет под него отдельного компа или жесткой необходимости в Linux.


    1. Sadler
      19.05.2015 18:10
      +4

      Конкретно под Linux сложно что-то посоветовать, т.к. нет под него отдельного компа или жесткой необходимости в Linux.
      То есть Вы понятия не имеете о фактической ситуации в Linux или MacOS и строите свои умозаключения лишь на экстраполяции опыта работы с Windows и популярности этих систем среди Ваших знакомых. Всё понятно.


      1. romanrex
        19.05.2015 18:25
        -3

        Я достаточно внимательно слежу за развитием звуковых карт на альтернативных платформах. Временами кто-то сидит на линуксе и задает вопрос, а насколько там все хорошо со звуком? Но не имеет возможности сделать измерения или проверку, т.к. для теста по косвенным показателям нужен второй компьютер. Второго компьютера с адекватным интерфейсом как правило ни у кого нет. Итог — обмен впечатлениями «на слух».

        У вас есть ссылки на объективные технические тесты, где было бы указано, такая сборка ОС, такая-то звуковая, воспроизвелось из такой-то программы, запись на такое-то устройство и как итог сравнение воспроизведенного и записанного файла, где данные соответствуют «бит-в-бит»?

        Основы звуковой подсистемы ОС мало чем отличаются от основ секвенсора и проблемы и решения однотипны.


        1. Sadler
          19.05.2015 18:58
          +2

          У вас есть ссылки на объективные технические тесты
          У меня нет. Но я и не делаю голословных заявлений.
          Основы звуковой подсистемы ОС мало чем отличаются от основ секвенсора и проблемы и решения однотипны.
          А вот это неправда, в Linux, например, нет особой необходимости в ASIO, тракт и так достаточно гибко конфигурируем, чтобы получить низкую задержку.


          1. romanrex
            19.05.2015 19:26
            -3

            Вы голословно утверждаете, что оппонент не прав, фактов своей точки зрения нет, но пусть оппонент попытается доказать обратное, ведь пока он не доказал обратное, он вроде как не прав.

            У меня складывается впечатление, что Вы вероятно материал прочитали по диагонали и возмущаетесь, что линукс не назван лучшей системой для аудиофилов. В материале подробно рассказано, в чем отличие ASIO от специального режима WASAPI.

            Вы можете привести пример сравнения минимальных задержек из под секвенсора в Linux c аналогичным проектом под Windows с ASIO и отдельно WASAPI, что бы утверждать, что Linux достаточно продвинут своими штатными настройками?


            1. Sadler
              19.05.2015 19:33
              +2

              Вы голословно утверждаете, что оппонент не прав
              Я вполне обоснованно утверждаю, что Ваши утверждения голословны, не более. Дискуссии здесь не получится, т.к. Вы балабол.


            1. KivApple
              19.05.2015 22:15
              +2

              Простая логика. Звуковая подсистема в Linux изначально расчитанна только на прямой доступ приложения к звуковой карте и сможет воспроизводить звук лишь то приложение, которое первое захватит звуковую карту. Чтобы иметь возможность слушать сразу несколько приложений, требуется установка дополнительных модулей для передескретизации и микширования. То есть без дополнительных настроек звуковая подсистема Linux работает в режиме полностью аналогичном ASIO из Windows с любым драйвером звуковой карты, иначе просто не умеет.

              Разумеется, в user-friendly дистрибутивах уже из коробки установлены и настроены все необходимые модули (плагин dmix для alsa и/или звуковой сервер pulseaudio, работающий поверх alsa — pulseaudio захватывает звуковую карту монопольно, однако все приложения выводят звук через него и он осуществляет микширование), чтобы пользователи не испытывали проблем, но их легко отключить.


              1. romanrex
                20.05.2015 12:17
                -1

                Теория хороша, когда подтверждается практикой. В теории в Linux все хорошо, но так же хорошо, как и в остальных ОС, в которых на практике выявляются проблемы. Практических проверок в Linux не было. Можно минусить любые подозрения, что в Linux могут быть проблемы, но лучше от этого Linux работать не будет. И мало кто из поклонников Linux готов дать реальную гарантию своим словам. Например выплатить N-ую сумму денег, если при логически правильных настройках не будет никакого «бит-в-бит». У меня например есть фактические доказательства работы режима WASAPI в Windows и соответственно могу ответить за свои слова. Про Linux же есть только теория и ничего более.

                Уровень утверждений, независимо от логичности — на «авось», как бы это обидно не было.


            1. KivApple
              19.05.2015 22:20
              +2

              Можно сравнивать звуковую подсистему Linux с электромобилем. Он экологически чист by design (а звуковая подсистема Linux bit perfect by design). Можно, конечно засунуть в багажник дизельный генератор и экологией не будет пахнуть и близко (зато получится огромный бонус в виде увеличения дальности пробега во много раз, а в случае звуковой подсистемы — можно будет слушать сразу несколько источников). Более того, есть производители электромобилей, которые ставят дополнительный двигатель прямо на заводе и называют такие автомобили гибридными (поскольку микширование нужно большинству пользователей, нужные настройки сделаны по умолчанию в большинстве дистрибутивов). Однако владелец машины всегда может легко (скорее всего простым нажатием кнопки в салоне) отключить неэкологичный двигатель и ехать на аккумуляторах, а вот владельцу авто только с ДВС придётся вносить значительные изменения в конструкцию.


    1. yumka
      19.05.2015 18:11
      +2

      Про Линукс: если мы говорим об аудиофилах (любят аудио), а не профессионалах (редактируют аудио), то им просто не нужны возможности карты, кроме как качественный ЦАП.

      Если говорить про мою juli@, она корректно определяется системой, далее тривиальными настройками самого плеера, точнее ALSA, настраивается отключение микширования, задается вывод звука в конкретное устройство (о чем говорит и ValdikSS). Этого должно быть достаточно для получения bit perfect output.

      Это я к чему: если смотреть на работу со звуком с колокольни звукорежиссера, допускаю, что Вы правы и весь потенциал карты как то хардварный midi из карты выжать тяжелее (никогда не интересовался). В случае же простого прослушивания звука, честно говоря, не вижу, что может напороть звуковая система Linux, в которой явно можно отключить микширование и указать частоту дискретизации. Лично аппаратное тестирование не проводил, но в сети находится просто ведро описаний как настроить bit perfect в Linux.

      Другими словами, то, что для Windows решается установкой ASIO, в Linux решается настройками — поэтому ASIO там не нужно. (Несколько лет назад сдуру пытался найти ASIO для своей карточки под Linux, когда съезжал с Windows. Не найдя, пришлось разбираться в вопросе)


      1. romanrex
        19.05.2015 18:35
        +1

        Карты разные бывают, например там 20 каналов на выход, как их конфигурировать под 5.1 штатными настройками? Или выставление клока внутренний/внешний? Или переключение чувствительности входов/выходов? Тут и приходится городить отдельный драйвер и ограничиваться только теми ОС, под которые по мнению производителя и будут раскупаться звуковые карты.

        Под простой стерео USB-ЦАП никаких настроек обычно не нужно и тут достаточно только штатных настроек.


        1. Fedorkov
          20.05.2015 03:03
          +1

          Продвинутая разводка каналов есть во всех программах (ALSA, PulseAudio, JACK).

          Звуковая карта при опросе выдаёт все свои настройки. Драйверу всё равно, как они называются — громкость, переключатель клоков, и т. д. — это уже забота пользователя. В качестве «отдельного драйвера» тут выступает текстовый файл настройки.


          1. romanrex
            20.05.2015 12:27
            -1

            Я не видел готовых текстовых файлов под серьезные проф. звуковые карты, например к E-MU1616m, использующий еще и аппаратный процессор с гибкой маршрутизацией каналов и эффектами. Опрос драйвера скорее всего даст тонну настроек и вместо того, что бы сразу приступить к работе, надо потратить пару месяцев на написание драйвера самостоятельно. И хорошо если пару месяцев, а не больше…

            Если это исключительно забота пользователя, то чем тогда должен заниматься пользователь, конкретными задачами или настройкой ОС под задачи? Пользователь просто выберет другую ОС.

            Это все не к тому, что плохо или хорошо, а к тому, что без внятной готовой панели управления, «сложные» карты неработоспособны.


            1. Fedorkov
              20.05.2015 19:58

              Я не видел готовых текстовых файлов под серьезные проф. звуковые карты
              А какие видели? :) Можно найти полно примеров сложных настроек для продвинутых карт. На всякий случай предостерегу от подробного изучения этих конфигов; чтение документации на первом этапе гораздо рациональнее.

              Если это исключительно забота пользователя, то чем тогда должен заниматься пользователь, конкретными задачами или настройкой ОС под задачи? Пользователь просто выберет другую ОС.
              Странно слышать это от человека, рассуждающего о профессиональной обработке звука. Да, ручное написание конфигов не так удобно, как клики по галочкам в окошке, но это — мощный инструмент, позволяющий решить любые задачи и обойти любые проблемы. Месяц на изучение нужно потратить только один раз, зато потом любая карта будет делать именно то, что вы от неё хотите, и вы всегда будете уверены, что выжали из неё возможный максимум.


  1. sashas
    19.05.2015 18:18

    эххх, ESI Juli@… Был-бы десктоп, точно-бы купил!


  1. luxferre
    19.05.2015 19:29
    +1

    насчёт задержки: насколько я понял, когда изучал вопрос по диагонали, важна не столько низкая задержка, сколько постоянная и низкая. впрочем, скорее всего я ошибаюсь, мой опыт ограничен игрой на миди-клаве с софт-синтом без обработки


    1. Fedorkov
      20.05.2015 03:48

      Не думаю, что однократная задержка в 20 мс испортит запись, однако профессиональные звукачи-линуксоиды устанавливают realtime-ядро, чтобы никакой фоновый процесс не отвлекал процессор от обработки звука.


      1. romanrex
        20.05.2015 12:58
        +1

        Для комфортной игры используют буфер не более 192/256 семплов. Это 5 мс при частоте дискретизации 44100 кГц. Сверху еще добавляется 1-2 мс на преобразование в ЦАП (работу цифрового фильтра).

        Для обычной записи без управления эффектами или игрой на виртуальных инструментах низкая задержка не принципиальна.


        1. Fedorkov
          20.05.2015 20:04

          Для обычной записи без управления эффектами или игрой на виртуальных инструментах низкая задержка не принципиальна.
          Но при записи с метрономом может потребоваться компенсация задержки.


  1. Nikobraz
    20.05.2015 10:51

    Вопрос от нуба
    А причем тут внешний ЦАП, ASIO и звуковая подсистема ОС?

    Комп же тупо «цифру» по железному интерфейсу на ЦАП шлет, где она превращается в аналоговый звук.
    Или я ошибаюсь?


    1. Nikobraz
      20.05.2015 10:58

      А все понял. Плохо прочитал первый раз.
      Если бы мне нужен был качественный звук, то всякие аськи, скайпы и прочий мусор я бы повесил на встроенную звуковушку и пластиковые колонки, а музыку на ЦАП.

      Эмм… на третий раз и до этого дочитал.


  1. Ivan_83
    21.05.2015 00:22

    ALSA писали какие то наркоманы-маньяки, хрен пойми как добиться нужного, инициализация мутная.
    OSS — всё просто и по человечески — оно просто тонкая прослойка между ОС/юзером и железкой, практически стандартизированный АПИ для железа.
    А музыку в системе с OSS можно слушать просто пересылая файл в устройство используя cat или dd. Не любой файл проиграется но всё же.
    Аналогично можно записывать звук.
    Можно даже по сети передавать на другой комп.