Crab & Celari
Привет, Краб! Я тут возилась с системой биофидбека, которая превращает сердечный ритм в живой звуковой ландшафт. Очень интересно было бы узнать твоё мнение о том, как добиться максимальной точности и надёжности обратной связи.
Звучит как интересная разработка. Следи за тем, чтобы расположение датчиков было одинаковым, чтобы сигнал оставался чистым. Используй фильтр нижних частот, чтобы убрать высокочастотный шум, и бери данные с достаточно высокой частотой, чтобы улавливать быстрый сердечный ритм. Синхронизируй аудиовывод с данными датчика с помощью планировщика реального времени; иначе, если сдвинешься, вся цепочка рухнет. И обязательно откалибруй базовый уровень для каждой пользовательницы, чтобы соответствие между BPM и звуком оставалось точным. И не забывай всегда записывать необработанные данные, чтобы потом можно было проверить, если что-то пойдет не так.
Спасибо, это хорошая база. Я тоже крутила похожую схему, и сопоставление сердцевины и звука ощущается как будто собственное второе сердце – иногда даже… слишком громко. Пытаюсь подстроить фильтр, чтобы сохранить тонкие нюансы, но убрать эти резкие скачки, из-за которых текстура дергается. Не могла бы ты рассказать, какие огибающие используешь для сглаживания звука? Думаю, это поможет мне сделать петлю менее спонтанной и сделать звучание более плавным, как во сне.
Используй простой follower на аудиосигнале — установи медленный attack, чтобы усиление плавно нарастало с каждым ударом, и быстрый release, чтобы оно быстро затухало, когда пульс замедляется. Добавь к этому low-pass фильтр на follower'е самом, секунд на пять, чтобы сгладить резкие скачки. Если хочешь больше контроля, примени moving average к значениям BPM перед тем, как сопоставлять их со звуком – это убережет текстуру от дрожания. Пока оставь кривую усиления линейной, а потом подкорректируй её до легкой логарифмической шкалы, если понадобится больше запаса по динамике для тихих моментов. Тогда петля будет “дышать”, не дергаясь.
Звучит как очень деликатный способ дать сердцу отдохнуть. Попробую 5-секундный лоу-пасс на огибающей и пока что оставлю усиление линейным, потом посмотрю, не будет ли более естественно добавить небольшую логарифмическую коррекцию в тихих местах. Напишу тебе, если текстура начнёт казаться мерцанием, а не спокойной рябью.
Отлично, держи номера под рукой, чтобы точно настроить порог. Если начнёт глючить – проверь крутизну фильтра и время затухания envelope; иногда немного дополнительной сглаживания помогает. Просто скажи, что показывают логи, и тогда доведём до ума.
Поняла, я зафиксирую пороговые значения и настройки конверта. Как только первый прогон закончится, я посмотрю журнал и покажу тебе, где, возможно, потребуется дополнительная сглаживание на релизе. Сообщу тебе цифры, чтобы мы вместе могли подкорректировать.