Зменшуємо затримку звуку - latency

Зменшуємо затримку звуку - latency

Сьогодні хотів би знову торкнутися теми підключення гітари до комп'ютера. На цей раз хотів би сказати пару слів про latency, сиріч затримку звуку.
Розібратися що ж це таке, і як з цим боротися.


Затримка звуку (latency) - це проміжок часу між ударом по струні і тим, як ви почуєте звук цього удару.
Строго кажучи, така затримка є завжди, навіть тоді, коли ви просто включаєтеся в ламповий комбік, а не цифровий прилад. Затримка ця в основному (опустимо перехідні процеси в схемах) виникає через те, що швидкість звуку хоч і велика, але все ж цілком відчутна для людини величина.

Ті, хто не прогулював уроки фізики в школі повинні пам'ятати, що швидкість звуку в повітрі приблизно дорівнює 330 м / с. Це означає, що за одну 1 мс (одну тисячну секунди) звук проходить відстань в 33 см. Не складно підрахувати, що якщо ваш комбік знаходиться в 1,5 м від вас, то затримка між ударом по струні і тим, як ви почуєте звук , буде 5 мс.

Що стосується комп'ютерів і інших цифрових приладів, то головна причина латенсі тут - це буферизация сигналу. Аудіо-сигнал - це сигнал безперервний, а комп'ютер, крім обробки аудіо, зайнятий ще цілою купою речей одночасно: опитує клавіатуру, обробляє і надсилає сигнал на монітор, забезпечує роботу операційної системи, нарешті. Тому, комп'ютер зберігає в пам'яті кілька мілісекунд аудіо-семплів в пам'яті - буфері, щоб в разі, якщо інші завдання зажадають ресурсів комп'ютера, аудіо-потік міг тривати без переривань. Якщо в буфері не залишиться семплів, то ви будете чути переривання, затикання, клацання. Загалом, нічого хорошого. Здавалося б, чого простіше, давайте збільшимо буфер! Але, треба розуміти, що більший буфер означає велику затримку звуку, а ми боремося за її зменшення. Це змушує нас шукати компроміс між мінімальною затримкою і максимальною надійністю і точністю відтворення.

Як же знайти цей компроміс?

Зазвичай, латенсі вимірюється або в мілісекундах (що більш зручно), або в семплах. Принципової різниці для нас це не має. Отже, шукаємо «золоту середину»:

• виставите в буфер в налаштуваннях драйверів аудіо-карти або аудіо-інтерфейсу рівним 512 семлам;
• переконайтеся, що ви можете грати без затикання, тріска і переривань звуку;
• поступово зменшуйте буфер: до 256, 192, 128 і т.п. до тих пір, поки звук не зіпсується;
• тепер ви знаєте межа, до якого можна зменшувати буфер. Збільште буфер, щоб звук був знову в нормі.

Тактика зменшення затримку звуку (latency):

• Для найнижчою затримки на Mac використовуйте інтерфейс Core Audio. У Windows використовуйте ASIO інтерфейс. (Багато програм в Windows дозволяють використовувати різні інтерфейси і протоколи: DirectX, MME і WDM, але завжди, якщо це можливо користуйтеся ASIO. ASIO - значить мінімальна затримка.)
• Чим швидше комп'ютер, тим нижчу затримку можна отримати.
• Якщо в якійсь програмі можна отримати більш низьку затримку, ніж в інший (ну, або так принаймні написано), не варто цьому довіряти - використовуйте свої вуха! У деяких програмах вказується тільки вхідні латенсі, але ж є ще й затримка на виході.
• Чим більше різних програм запущено на комп'ютері, тим складніше отримати низьку latency. Запускаючи амп-симулятор (Guitar Rig. Amplitube. Etc ...), як окрему програму, можна отримати більш низьку затримку, ніж при використанні того ж амп-симулятора в якості плагіна до вашої улюбленої DAW, в якій може безліч доріжок, на які може бути навісили таке ж безліч віртуальних інструментів і плагінів.

Ну ось якось так…