Задержка — главная величина в этом приёме: именно её вы настраиваете и от неё зависит эффект. Проблема в том, что «задержка наушников» — не паспортная характеристика, а сумма нескольких слагаемых, и у вашей конкретной связки телефона и наушников она своя. Хорошая новость: её можно измерить за шесть секунд, и для этого не нужно ничего, кроме самого телефона.
Полный круг звука выглядит так:
ваш голос → микрофон → буфер операционной системы → обработка в приложении → буфер вывода → кодирование и передача (для Bluetooth) → динамик наушника → ваше ухо
Задержка тракта — это всё, кроме той порции, которую добавляет сам тренажёр. У проводной связки обычно получается несколько десятков миллисекунд, у Bluetooth — 150–200 мс. Разброс между моделями и телефонами большой: две пары наушников одного класса могут отличаться на полсотни миллисекунд.
Браузер умеет сообщать свою оценку задержки вывода. Она полезна, и мы её используем: например, на iPhone с беспроводными наушниками система обычно рапортует около 176 мс. Но это именно оценка со стороны системы, и она:
Поэтому кроме оценки от системы есть честный акустический замер: приложение само издаёт звук и само его слышит.
Метод простой и старый как радиолокация.
Один замер ненадёжен, поэтому импульсов пять, с интервалом 800 мс. Из пяти чисел отбрасываются выбросы (всё, что дальше 40 мс от медианы), а из оставшихся берётся медиана. Если разброс всё равно больше 30 мс, замер считается неудачным — лучше честно сказать «не получилось», чем показать красивое, но случайное число.
Результат сохраняется в профиль устройства вместе с моделью телефона, типом наушников и подобранными параметрами — при следующем запуске приложение узнаёт связку и подставляет настройки само.
Дальше арифметика простая. Пусть вы хотите слышать себя с общей задержкой около 180 мс.
И главное правило: цифра — это отправная точка, а не цель. Финальный критерий один — стало ли легче говорить. Замер нужен, чтобы вы искали свой диапазон не вслепую.
Типичные причины, по убыванию частоты:
Если после трёх попыток число не сходится, ничего страшного: тренажёр прекрасно работает и без точного замера, на подборе параметров ухом.
Первая версия замера на iPhone стабильно выдавала ошибку с огромным разбросом. Причина оказалась в цифре, которая всё объясняла: окно поиска было длиной 1 секунда при интервале между импульсами 500 мс. То есть в окно попадал следующий импульс — и если свой сигнал ловился слабо, алгоритм цеплялся за соседний. Ошибка получалась ровно на величину интервала.
Починили так: интервал 800 мс, окно поиска 700 мс и жёсткое правило «окно всегда меньше интервала». Заодно поиск стал начинаться с 10 мс (раньше алгоритм мог принять за ответ прямую наводку из динамика), а выбросы теперь отсеиваются до проверки разброса. На тестовой записи, где первый импульс тише последнего, старая версия «прилипала» к соседнему — теперь на этот случай есть отдельный тест, чтобы ошибка не вернулась.
Если интересно, как замер устроен изнутри — с кодом, кросс-корреляцией и разбором ошибки, из-за которой первая версия врала ровно на 500 мс, — это отдельный разбор: веб-тракт и chirp-замер. Он технический, для разработчиков.
Можно, если есть компьютер. Понадобится любой звуковой редактор, умеющий писать и воспроизводить одновременно: включаете запись, щёлкаете пальцами рядом с микрофоном, слушаете щелчок в наушниках и смотрите на дорожку — расстояние между двумя всплесками и есть задержка. Способ рабочий, но возни больше, а точность ниже: щелчок пальцами — плохой эталон по сравнению с chirp.
Калибровка и замер работают в бесплатном режиме — карта и установка не нужны. Открывается в Telegram и в браузере.
SKIR-DAF — тренажёр речи: он не является медицинским изделием и не заменяет консультацию специалиста. Точная задержка помогает настроить занятия, но сама по себе не определяет результат — он зависит от регулярности и от того, подходит ли приём именно вам.