Fl studio asio что это
На данный момент FL Studio является одним из самых популярных секвенсоров, об этом свидетельствуют опросы пользователей на различных тематических сайтах и группах в социальных сетях. В первую очередь FL Studio приходится по вкусу новичкам, так как имеет интуитивно понятный интерфейс. Однако при достаточной загруженности проекта, часто случается так, что процессор не справляется со своей задачей. Проект начинает тормозить, и появляются различного рода искажения звука (треск; эффект заедания и т.п.). Как же уменьшить нагрузку на процессор? Думаю, с этим вопросом сталкивается каждый, кто использует FL Studio для написания музыки.
В сегодняшней статье я опишу те способы, которыми пользуюсь сам, которые проверенны мной на практике и действительно способны значительно снизить нагрузку на процессор.
Итак, поговорим об оптимизации FL Studio.
Настройка аудиодрайвера
Это самый простой способ оптимизации FL Studio, о котором знает каждый продюсер. Ведь прежде чем начинать работать с программой её необходимо настроить должным образом.
В зависимости от используемой звуковой карты, Вам необходимо в настройках программы (Menu – Options – Audio Setting) выбрать соответствующий драйвер из выпадающего списка Device. В моём случае это AudioBox ASIO Driver. Далее нажать клавишу Show ASIO Driver.
Если Вы используете встроенную звуковую карту, то я рекомендую использовать драйвер FL Studio ASIO.
Теперь экспериментальным путём определяем подходящий размер буфера. Как это сделать Вы можете узнать прочитав статью «Использование ASIO4ALL», где на примере аудиодрайвера ASIO4ALL показан процесс настройки размера буфера. В любом случае, увеличивая размер буфера Вы уменьшаете нагрузку на процессор и оперативную память.
Использование функции Smart Disable
Одним из самых действенных способов снижения нагрузки на процессор является использование функции Smart Disable – отключение не используемых плагинов. При включении данной функции, те плагины, которые в данный момент не используются программой для обработки сигнала будут выключены, что повлечёт за собой значительное снижение нагрузки на процессор.
Можно отдельно активировать опцию Smart Disable для каждого плагина, для этого необходимо в микшере зайти в меню слота и выбрать пункт Smart Disable.
А можно активировать опцию Smart Disable для всех плагинов, Menu – Tools – Macros – Switch smart disable for all plugins.
Кстати Smart Disable дословно переводиться как «умное отключение» или «умный запрет».
Отключение всех неиспользуемых программ
Появляется окно деактиватора.
С левой стороны Вы можете видеть три столбика: запуск, работа и завершение работы. Нас интересует средний столбик, который отображает нагрузку на ПК в условных единицах во время работы. Выключая программы расположенные в окне деактиватора с помощью переключателя, Вы можете видеть, как снижается нагрузка. Такой способ может освободить ресурсы компьютера необходимые для дальнейшей работы над проектом.
Рендеринг в аудио
Это очень действенный способ снизить нагрузку на процессор. Я использую его в последнюю очередь, когда все остальные способы уже не работают. Заключается он в преобразовании сигнала в аудио клип (аудио файл). Такое преобразование способствует снижению нагрузки на процессор за счет отключения плагинов, которые использовались при синтезе или обработке данного сигнала. После рендеринга в аудио Вы можете оставить неиспользуемые плагины и включить опции Smart Disable или вовсе удалить их.
Преобразовать сигнал в аудио можно с помощью функции микшера или используя другие способы о которых я рассказывал здесь >>>.
Давайте рассмотрим процесс рендеринга в микшере.
1. Выделяем канал в микшере на который поступает сигнал и активируем на нём функцию записи
2. Заходим в меню микшера Disk recording, ставим галочки напротив Auto-create audio clip (автоматически создавать аудио клип в текущем проекте), Latency compensation (компенсация задержки), 32bit float recording (запись в файла WAV 32 бита).
3. Выбираем Disk recording – Render to wave file
4. В окне рендеринга выбираем режим Tail: Leave remainder и нажимаем Start
5. После рендеринга аудио клип появиться на свободной дорожке
Другие способы снижения нагрузки, которые я тестировал
Кроме вышеописанных способов снижения нагрузки, я также тестировал ещё два, которые нашёл на просторах Рунета.
1. Включение режима высокой производительности
К сожалению, при изменении плана электропитания я не заметил никаких изменений. Нагрузка на процессор не снизилась.
2. Изменение количества используемых ядер процессора
Ручное изменение количества используемых ядер процессора также как и включение режима высокой производительности должно увеличить быстродействие за счёт изменения параметров: минимальное и максимальное число ядер.
Поскольку этот способ, так же как и предыдущий, не дал нужного результата, то не вижу смысла описывать всю процедуру изменения этих параметров.
Смотрите видеоурок «Как снизить нагрузку на процессор при работе в FL Studio».
Вверху слева показаны параметры аудиосистемы Windows с выбранным драйвером FL Studio ASIO, с права драйвер Built-in Output MacOS Core Audio. Если ваш аудиоинтерфейс имеет свой собственный ASIO/Core Audio драйвер, используйте его.
Несколько слов о звуковых-картах, аудио-интерфейсах и их драйверах
- Звуковая карта - термин «звуковая карта» используется довольно свободно, вы можете иметь звуковую карту в вашем компьютере, в виде чипа на материнской плате или это может быть внешнее устройство подключенное по USB/FireWire/Bluetooth.
- Аудио-интерфейс - лучше использовать этот термин. Аудио-интерфейс, это любое устройство позволяющее вам слышите звук из динамиков компьютера.
- Драйвер аудио-интерфейса - это программный интерфейс обмена данными между операционной системой (ОС) и аудио-устройством. Драйвер сообщает ОС и FL Studio сколько входов/выходов имеет аудио-интерфейс и какую частоту дискретизации он может поддерживать. В случае Windows ASIO драйвера быстрее и эффективнее драйверов первичного звукового драйвера.
Содержание
Выбранные здесь опций будут определять, какие входы и выходы доступны для использования в FL Studio. Выберите звуковые входы и выходы из меню микшера IN/OUT.
- Device (устройство) - это выпадающее меню используется для выбора звуковой карты (выводящего/вводящего устройства), которое будет использоваться FL Studio. В списке будут показаны установленные драйвера звуковой карты, как первичный звуковой драйвер, так и стандартный поддерживаемый ASIO драйвер. Если у вас есть более чем одна установленная звуковая карта, то вы можете использовать это меню для переключения между ними (нажмите клавишу F10 , чтобы открыть панель настроек).
Одновременное использование нескольких аудиоустройств:- Windows - если вы хотите использовать один вход и выход от двух устройств, выберите FL Studio ASIO и в нем выберите отдельные вход и выход, как показано ниже. Если вы хотите использовать одновременные входы или выходы нескольких устройств, выберите ASIO4ALL, откройте драйвер и активируйте несколько входов/выходов устройств.
- macOS - откройте папку «Утилиты» и «Агрегированные аудиоустройства». Затем выберите Агрегированное устройство в списке устройств.
- Windows - щёлкните правой кнопкой мыши по значку динамика в трее Windows и выберите "звуки" далее "воспроизведение" и выберите ваш звуковой интерфейс, затем "установить по умолчанию", затем выберите "свойства", затем "дополнительно" и выберите опцию 24 бит 44100 Гц, если имеется, или 16 бит 44100 Гц, если нет. Если для вашего устройства есть специальный ASIO драйвер, настройки битности также могут быть изменены оттуда.
- MacOS - откройте "настройки аудио MIDI" (вы можете найти их в "утилитах", внутри папки "приложения"). Для выбранного аудиоустройства в правой части окна "аудиоустройства" установите: 44100 Hz / 2ch-24 Bit Integer.
Если ваша звуковая карта не имеет поддержки собственного ASIO, FL Studio включает в себя установку FL Studio ASIO драйвера (см. ниже) и стороннего ASIO4ALL. Примечание: ASIO4ALL это универсальный ASIO драйвер, который работает с большинством звуковых карт, ваш опыт может быть другим. ASIO4ALL позволяет выбирать входы и выходы разных звуковых карт/аудио-устройств. В разделе справки по расширенным настройкам ASIO4ALL указаны параметры..
- Buffer Length (размера буфера) - чтобы изменить размер буфера, нажмите на кнопку Show ASIO Panel (показать ASIO панель), ниже этих данных. Буферные хранит звуковые данные перед их отправкой в аудио-интерфейс. Это позволяет FL Studio выровнять мгновенные всплески нагрузки на процессор при обработке, которая может быть медленнее, чем в «реального времени». Увеличение буфера снижает нагрузку на процессор и уменьшает количество звуковых глюков. Однако при большой задержке буфера между вашей игрой на MIDI клавиатуре или настройками параметров FL Studio пройдёт определённое количество времени прежде чем вы это услышите, это время по меньшей мере равно этой настройке (в мс). Идеальным буфером является наименьшее значение при котором компьютером можно управлять, не вызывая опустошения буфера (прочитайте статью по оптимизации буфера). Хорошая цель при использовании ASIO драйверов составляет от 10 до 20 мс (440 - 880 сэмплов).
- Clock Source (источник синхронизации) - некоторые аудиокарты обеспечивают внешний источник синхронизации, который может устранить проблемы с синхронизацией/выходом. Однако большинство карт работают правильно с выбранным по умолчанию Internal (внутренним) источником.
- Show ASIO Panel (показать ASIO панель) - открывает панель настроек ASIO драйвера, используйте это чтобы изменить значение задержки. Значения между 1-4 мс без опустошения являются крайними, 5-10 мс отлично и 11-20 мс хорошо. Хорошее значение = 10 мс (441 сэмплов).
- Mix in buffer switch (переключить смешивание в буфер) - выходящий звук смешивается в ASIO "переключателе буфера". Опция позволяет на некоторых звуковых картах добиться более низкой задержки. Примечание: При использовании, счётчик опустошения отключается, и опустошение буфера может быть более слышимым.
- Triple buffer (тройной буфер) - на некоторых ASIO драйверах может уменьшить слышимый звук опустошения буфера, когда загрузка процессора приближается к 100%. Тройная буферизация наиболее полезна, когда микширование происходит при высокой нагрузке на процессор, но с некоторыми драйверами звуковых карт это вызывает крах (программа виснет), когда опустошение буфера происходит слишком часто (например, Tascam US122). Примечание: Тройная буферизация удваивает задержку по сравнению с той, что находится в настройках ASIO драйвера (см. информацию "Status" чуть ниже меню выбора драйвера). Хорошие драйверы запускают буфер в начале периода задержки, и таким образом FL Studio имеет доступным весь период задержки буфера для обработки звука. Плохо написанные драйверы могут запустить буфер в конце периода и таким образом снизить время доступное буферу, что приводит к опустошению. Опция тройной буферизации работает с одним буферным блоком позади, и готовит звук для следующего периода буфера при каждом цикле. Это удваивает задержку, но гарантирует, что будет достаточно времени, чтобы обработать каждый буфер.
FL Studio ASIO имеет преимущество, заключающееся в том, что на большинстве машин полностью мультиклиентны. Это позволит вам одновременно прослушивать звук из FL Studio и других приложений (таких как YouTube, SoundCloud и т.д.).
- Input/Output (вход/выход) - если для этого параметра установлено значение [Default input] или [Default output], то это устройство по умолчанию для входа (запись) и выход (воспроизведение) в системе, как установлено и показано ниже. [Default input] и [Default output] определяются «устройствами по умолчанию» для воспроизведения [Default output] и записи [Default input], установленные в панели управления звуком Windows. Вы также можете щёлкнуть по этому элемент управления и выбрать другие входы и выходы аудиоустройств, установленных на вашем компьютере. Если вам необходимо объединить несколько входов и выходов с нескольких аудиоустройств, используйте ASIO4ALL. Примечание: В некоторых системах вам может потребоваться выбрать фактический вход или выход , если настройка [Default. ] не работает.
- Hard-clip output at 0dB (otherwise limiting will be applied)жёсткое клиппирование выхода выше 0 дБ (в противном случае будет применяться лимитирование) - при включении звук будет искажаться, когда он перейдет выше 0 дБ. При выключении будет применяться лимитер для предотвращения искажения. Примечание: При применении лимитера вы больше не сможете услышать искажения клиппирования основного выхода FL Studio. Это означает, что вам нужно будет обращать внимание на ваши пиковые измерители (убедитесь, что мастер канал не выходит выше 0 дБ), в противном случае ваши рендериные треки будут искажены, даже если ваш живой звук нет. Ловушка для молодых игроков! Все это происходит вне FL Studio, поэтому опция не влияет на внутреннюю обработку, это все обработка звука после-FL Studio.
Несмотря на то, что ваш опыт может быть различным, в ситуациях, когда критически важная низкая задержка, мы рекомендуем вам пробовать драйверы в этом порядке - родной ASIO драйвер > ASIO4ALLv2 > FL Studio ASIO. Родной ASIO драйвер - это тот, который создан производителем вашего аудиоустройства.
Видимы только при использовании стандартных драйверов (Primary Sound, WDM, Primary и т.д.). Мы настоятельно рекомендуем использовать FL Studio ASIO, если это не работает по какой-то причине. Только потом.
- Buffer Length (размера буфера) - этот ползунок управляет задержкой звукового буфера. Это позволяет FL Studio выровнять мгновенные всплески нагрузки на процессор при обработке, которая может быть медленнее, чем в «реального времени». Увеличение буфера снижает нагрузку на процессор и уменьшает количество звуковых глюков. Однако при большой задержке буфера между вашей игрой на MIDI клавиатуре или настройками параметров FL Studio пройдёт определённое количество времени прежде чем вы это услышите, это время по меньшей мере равно этой настройке (в мс). Идеальным буфером является наименьшее значение при котором компьютером можно управлять, не вызывая опустошения буфера (прочитайте статью по оптимизации буфера). Хорошая цель при использовании первичного звукового драйвера составляет от 20 до 50 мс (880 - 2205 сэмплов).
- Offset (смещение) - этот параметр может улучшить производительность драйвера под Windows Vista. По умолчанию 0%, опция отключена.
- Use Polling (использование опроса) - опрос представляет собой метод управления звуковым буфером первичного звукового драйвера, это обычно позволяет значительно уменьшить буфер без его опустошения. Однако на некоторых компьютерах это может иметь противоположный эффект.
- Use Hardware Buffer (использование аппаратного буфера) - использование аппаратного звукового буфера поддерживаемого звуковыми картами первичного звукового драйвера.
- Use 32-Bit Buffer (использовать 32-битный буфер) - использование буфера 32-бит с плавающей точкой. Работает только под Windows XP или выше.
MacOS использует «Core Audio». Драйвер по умолчанию - «Built-in Audio». Здесь также будут показаны сторонние аудиоустройства, они также используют Core Audio.
- Buffer Length (длина буфера) - этот ползунок управляет длиной аудио буфера. В буфере хранятся аудиоданные, прежде чем они будут отправлены на ваше аудиоустройство. Это позволяет FL Studio выравнивать кратковременные всплески нагрузки на процессор при обработке, что может быть медленнее, чем «в реальном времени». Более длинные буферы уменьшают нагрузку на процессор и уменьшают звуковые сбои. Однако с более длинными буферами задержка между игрой на MIDI-клавиатуре или настройкой параметра в FL Studio и время через которое вы это услышите равна этой настройке (в мс). Хорошее значение с Built-in Audio составляет 10 мс (441 сэмплов), если вы играете на MIDI-контроллере и 20 мс (880 сэмплов), если это не так.
- Priority (приоритет) - устанавливает приоритет смешивания звукового потока. Higher = больше ресурсов процессора посвящается смешиванию звуковых потоков, но это увеличивает риск зависания/замораживания, когда требования процессора становятся высокими. Lower = повышенный риск опустошения буфера. Настройте этот параметр (в сочетании с установками буфера), если у вас есть проблемы с зависаниями и/или опустошением буфера.
- Safe overloads (безопасные перегрузки) - если выключено: то смешиванию потоков даётся очень высокий приоритет, так что пользовательский интерфейс не вызывает сбоев в звуковом движке. Когда смешивание звуковых потоков использует весь процессор, то смешивание не оставит процессора графическому пользовательскому интерфейсу, в результате он станет замороженным. Если включено (по умолчанию): при высокой загрузке процессора "безопасные перегрузки" адаптируют приоритет смешивания, оставляя немного процессора для графического интерфейса, так что вы можете взаимодействовать с FL и минимизировать загрузку процессора.
- Underruns (опустошения) - этот счётчик показывает общее количество обнаруженных опустошений. Опустошением считается случай когда в буфере который подаёт звук вашей звуковой карте заканчиваются звуковые данные. Когда это происходит вы обычно слышите щелчок или потрескивание. Это означает, что процессор вашего компьютера не справляется с требованиями воспроизведения проекта (песни) в реальном времени. Существует раздел, посвященный сокращению опустошений, описанный здесь.
-
1. Опустошения это проблемы воспроизведения в режиме реального времени, их не бывает при рендериге звука, потому как ваш процессор может делать это настолько долго насколько это требуется для генерации звука. 2. Некоторые опции обходят счетчик опустошений, так что если вы слышите щелчки без увеличения числа на счётчике и у вас высоко использование процессора (80% и более), то это вернее всего может быть опустошением. Однако иногда щелчки и треск вызываются плохой работой плагинов.
Видимы только при использовании FL Studio как VST плагина или при подключении в качестве ReWire клиента.
Может решить проблему дрожания/неправильной позиции маркера воспроизведения или решить проблемы выравнивания в плейлисте записанного звука. Примечание: Низкие значения длинны буфера также могут улучшить точность позиционирования.
- Playback tracking source (источник отслеживания воспроизведения):
- Driver (драйвер) - для позиции воспроизведения используется звуковой драйвер. Если у вас есть высококачественное аудиоустройство (с родным ASIO драйвером в Windows), выберите этот режим.
- Hybrid (гибрид) - гибрид позиции драйвер/микшер. Этот вариант наиболее эффективен при устранении дрожания, если используются "первичные звуковые драйвера".
- Mixer (микшер) - используется позиция микшера (по умолчанию). Работает приемлемо, когда задержка буфера составляет около 10 мс (441 сэмплов) или меньше, чтобы решить проблемы синхронизации звука/видео при использовании некоторых аудио-интерфейсов.
- Квантованием входа из-за настройки глобальной привязки
- Компенсацией задержки из-за опции в Меню микшера > Disk recording > Latency compensation
ИЛИ, если позиция плейлиста и другие визуальные эффекты не совпадают со звуком, то используйте ползунок, чтобы добавить к позиции воспроизведения и записи положительное или отрицательное смещение. Это глобальное изменение всех каналов. Если вам необходимо внести изменения в отдельные звуковые входы, используйте функцию задержки входа микшера, чтобы сдвинуть звук этого конкретного звукового входа.
Эти параметры предназначены для снижения нагрузки на процессор и увеличения производительности FL Studio на вашем компьютере.
Если использование вашего процессора или диска поднимается слишком высоко, вы услышите щелчки в звуке (переполнение буфера). Хорошая новость в том, что использование процессора и диска обычно может быть значительно снижено, если у вас есть время, чтобы внести некоторые коррективы в звуковые настройки FL Studio. Почему это происходит? Аудио-буфер сохраняет аудиоданные перед их отправкой на аудиоустройство. Это позволяет FL Studio выравнивать кратковременные всплески нагрузки на процессор, когда обработка может быть медленнее, чем «в режиме реального времени». Если звуковой буфер иссякает, потому что ваш процессор или жёсткий диск не могут успевать за звуковым потоком "в реальном времени", то ваша звуковая карта издает щелчки или заикания. Стоит отметить, что опустошения могут происходить только при воспроизведении в режиме реального времени, они не происходят при экспорте в wav или mp3 файл. Если вы слышите подобное в экспортированном звуковом файле, то вполне вероятно, какой то из плагинов ведёт себя плохо, в этом случае проверьте настройки плагинов.
Содержание
Некоторые очень важные настройки расположены в меню Options > Audio:
- Звуковые настройки - для Windows одна из самых важных настроек состоит в выборе ASIO драйвера звуковой карты в меню Input/output. Попробуйте в первую очередь ASIO драйвер который устанавливается вместе с вашей звуковой картой. Или, если такого нет используйте Image-Line FL Studio ASIO. Какой бы драйвер вы не использовали, скачайте последнюю версию от производителя вашей звуковой карты.
- Увеличение длины звукового буфера - для Windows и macOS убедитесь, что длина буфера не менее 10 мс (441 сэмплов). Настройка длины буфера находится на странице звуковых настроек. Для Windows чтобы увидеть настройки, вам нужно нажать кнопку Show ASIO panel, если вы используете ASIO драйвер (как и должно быть!). Начните с 10 мс (441 сэмплов) продолжая добавлять по 5 мс (220 сэмплов), пока вы не заметите падение нагрузки на процессор. Но есть ограничения, длина буфера более 40 мс (1764 сэмплов) сделает трудной живую игру. Примечания:
- USB-хабы - не подключайте аудиоустройство через хаб. Используйте прямое подключение USB-порту.
- Пользователи Mac - попробуйте агрегировать ваш аудиоинтерфейс. Это часто улучшает неразрешимые проблемы с потрескиванием, особенно во время записи.
- Работает ли ваш процессор на полной скорости? У вас есть несколько режимов энергосбережения/процессора. Если вы серьёзно относитесь к вашей музыкальной деятельности, то вы будете готовы к, по крайней мере, некоторому таянию полярных ледяных шапок. Посмотрите:
- Windows - Windows Пуск > Панель управления > Система и безопасность*** > Электропитание. ***Есть это подменю или нет, зависит от настроек Windows. Установите управление питанием в «Режим высокой производительности». Если вы используете процессор ноутбука/планшета и испытываете неожиданные всплески нагрузки на процессор, попробуйте «Дополнительные настройки» и установите минимальное/максимальное состояние процессора на 99%. Это может мешать работе системы в режиме турбо-процессора, и вызвать термическое регулирование, которое вызывает проблемы.
- macOS - откройте Системные настройки > «Энергосбережение» > (доступная опция зависит от вашей модели Mac) установите ползунок «Сон компьютер» в «Никогда» ИЛИ установите флажок «Предотвращение автоматического отключения компьютера при выключении дисплея». Отключите «Отпустить жёсткие диски, когда это возможно» и «Включить сон». Ноутбуки: Откройте Системные настройки > «Энергосбережение» > отключите автоматическое переключение графики. Наконец, ВСЕГДА держите ноутбук подключенным к источнику питания.
- Ошибки VST библиотеки - убедитесь, что вы используете плагины, соответствующие для вашей версии FL Studio (32 или 64 бит). Некоторые люди переключаются в FL Studio 64 Bit, а их VST библиотека по-прежнему 32 бит. Если FL Studio не сможет найти 64-битные эквиваленты плагинов, то FL Studio будет подключать через мост 32-битные версии в режиме 64 бит. При этом используется больше ресурсов процессора, чем когда 32 бит плагин используются FL Studio 32 Bit или 64 бит плагины используются FL Studio 64 Bit.
- Неверные настройки оболочки - убедитесь, что у вас не включено Оболчка Processing > Make bridged, там где это не нужно. Оболочка запоминает настройки, поэтому отключите для каждого плагина с включенным автосохранением. Плагины подключенные через мост использует около 2% процессора на каждый плагин, так пара плагинов не будет иметь значения, но 10+ определённо будет. Плагины подключенные через мост также могут просто плохо себя вести, вызывая появление всплесков, сбоев и возможного падения. Обязательно установите 32/64 битные версии ВСЕХ плагинов, чтобы соответствовать версии FL Studio.
Быстрый список ссылок для оптимизации работы процессора.
- Обновитесь до FL Studio 20.0.4 или новее. Мы внесли в обработку звук некоторые существенные изменения с версией 20.0.4, с резким улучшением использования процессора.
- Установите эти звуковые настройки, чтобы обеспечить максимальную производительность:
- Buffer length (длина буфера) - убедитесь, что ваш буфер составляет не менее 10 мс (441 сэмплов). Мы рекомендуем от 10 до 40 мс.
- Resampling quality (качество ресэмплинга) - должно быть установлено не более 24 point sinc (лучше нижнее).
- Sample rate (частота дискретизации) - установите значение 44 100 Гц (или 48 000 Гц, если это недоступно). Частоты дискретизации, такие как 192 кГц и 96 кГц, будут использовать значительно больший объем процессора, чем рекомендуемое значение по умолчанию 44,1 кГц.
- Reset plugins on transport (сброс плагинов при транспортных командах) - убедитесь, что Reset plugins on transport отключено, так как это может привести к существенному сбою при запуске/остановке когда используются VST плагины.
- Priority (приоритет) - установите значение Highest (самый высокий) и снимите флажок Safe overloads (безопасные перегрузки) (не волнуйтесь, «небезопасная» перегрузка просто на мгновение заблокирует управление интерфейсом).
- Параметры ASIO - попробуйте использовать опции Mix in buffer switch и Triple buffer. Примечание: Если это не поможет, перед продолжением обязательно выключите их.
Получение низких значений длины буфера это не соревнование. Если вы счастливы при 20 или 30 мс, то это здорово. Помните, чем ниже значение длины буфера, тем выше нагрузка на процессор. Мы рекомендуем 10 мс (ASIO) в качестве хорошего минимального уровня, ниже этого большинство людей не испытывают повышение 'отзывчивости', а загрузка процессора быстро поднимается. Если вы хотите положить 10 мс в контекст, то задержка между нажатием клавиши на реальном фортепиано и ударом молотка по струнам составляет порядка 80 мс, и время, необходимое для того чтобы этот звук достиг ваших ушей это ещё 3 мс, есть над чем задуматься.
Каждый, кто сталкивался с вопросом о качественном воспроизведении звука рано или поздно встречается с аббревиатурой 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 лишь отдельный плюс.
Читайте также: