Soluklan

ЗА КУЛИСАМИ

Как микрофон слышит твоё дыхание

Если звук не записывается, как приложение измеряет дыхание? Шум комнаты, порог, который движется вместе с ней, и как находятся начало и конец выдоха.

6 мин чтения

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

Все измерения делаются из этой линии.

Сначала измеряется тишина

В начале сессии идёт трёхсекундное слушание. За это время измеряется шум комнаты: гул холодильника, машины за окном, собственный электронный шум устройства.

Это не среднее — смотрят на самые тихие моменты этих трёх секунд. Так, если в это время положить телефон на стол или кто-то кашлянет, порог не сбивается на всю сессию.

Комната заново измеряется во время сессии

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

Время от времени приложение смотрит на самые тихие моменты между дыханиями и заново измеряет шум. Сам выдох в это измерение не входит.

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

Как бы ни шумела комната, порог не поднимается настолько, чтобы твои выдохи стало не слышно.

Подсказки во время сессии вроде «Дыхание слышно с трудом» или «Дыхание приходит очень сильным» и громкость дыхания в отчёте измеряют каждый выдох относительно шума в тот момент. Подсказки и отчёт смотрят на одно и то же число.

Порог не абсолютный, он относительно шума

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

Насколько выше шума — зависит от техники. Выдох через рот (долгий выдох, сжатые губы) выходит громким. Спокойный выдох через нос (когерентное, квадратное) намного ниже. Дыхание одной ноздрёй — самое тихое из всех. Каждую технику слушают её собственным порогом; мерить всех одной меркой значило бы сделать носовые техники неслышимыми.

Начало и конец выдоха

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

Выдох начинается, когда сглаженная линия переходит порог. Когда звук опускается ниже порога и ненадолго там остаётся, выдох считается законченным. Слышимый вдох сразу после него выдох не продлевает, и два дыхания не сливаются в одно.

Очень короткие звуки вроде щелчка выдохом не считаются.

Тихая комната и проблема планшета

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

Если граница слишком высокая, выходит обратное: на устройствах с далёким микрофоном, например на планшете, запас выдоха тает и дыхание не слышно. Поэтому место границы определяют не наугад, а по настоящим записям. Как это делается, рассказано в тексте Как пороги измеряются на настоящих записях.

Быстрое дыхание — отдельная задача

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

Поэтому капалабхати измеряется иначе. Вместо того чтобы разделять выдохи по одному, приложение считает моменты, когда звуковая линия даёт пик, и смотрит, насколько ровны промежутки. Один выдох не считается дважды.

← За кулисами