Метроном с пульсом
Сентябрь 2026
Обзор
Круг в центре экрана пульсирует в такт щелчкам, отражая их интенсивность. Я создал метроном для iPhone без рекламы, учётных записей и экрана настроек.
Я сделал его для собственных занятий на тенор-саксофоне. Открыл — и можно сразу начинать; даже если звук плохо слышен, доли остаются видны. Всё, от замысла и дизайна до реализации на SwiftUI и синтеза щелчков, я сделал сам.
Управление: коснитесь того, что хотите изменить
Элементы управления — точки долей, круг и значение темпа. Меню и текстовых инструкций нет: коснитесь того, что хотите изменить.
- ⓘ
- Открывает страницу поддержки.
- Точки долей
- Касание добавляет одну долю: в такте может быть от одной до семи долей. Проведите пальцем, чтобы увеличить или уменьшить их число.
- Круг
- Коснитесь круга, чтобы запустить или остановить метроном. Нажмите и удерживайте его, затем отбивайте ритм композиции касаниями, чтобы задать темп.
- Темп
- Перетаскивайте, чтобы увеличить или уменьшить темп. Двигайте пальцем медленно для более точной настройки. Касание − или + меняет темп на 1 BPM.
Пульс: согласовать время и интенсивность с каждым щелчком
Пульсация круга согласуется по времени со щелчком с учётом выходной задержки, которую сообщает iOS. Bluetooth-наушники могут вносить задержку примерно 0,1–0,3 секунды. Величина расширения пропорциональна громкости щелчка: на первой доле звук выше и громче, а круг увеличивается заметно сильнее.
Поток обработки аудио планирует каждую долю с точностью до отсчёта. Расчёт времени не накапливает погрешность: даже через час непрерывного воспроизведения отклонение остаётся в пределах 0,5 отсчёта.
Область применимости и условия расчёта значения 0,5 отсчёта ещё требуют подтверждения. Это значение не следует понимать как оценку момента, когда звук достигает слушателя, или точности синхронизации с экраном.
Темп касаниями: тишина, пока вы отбиваете ритм
Нажмите и удерживайте круг — он начнёт колыхаться, как желе. Касайтесь его в ритме композиции или мысленно выбранном темпе: в месте касания появляется вмятина, круг колеблется и восстанавливает форму. Тактильный отклик позволяет почувствовать темп.
Во время касаний звук намеренно отсутствует. Немедленный звуковой отклик пришёл бы через Bluetooth с задержкой и наложился на щелчки метронома. Когда касания прекращаются, щелчки в заданном темпе начинаются почти неслышно и за шесть секунд достигают обычной громкости.
Звук — выбрать на слух высоту, не теряющуюся за саксофоном
Щелчки синтезируются из синусоид, без записанных аудиофайлов. Я создал страницу для сравнения и трижды сравнил звуки через динамик iPhone, играя на тенор-саксофоне. Выбрал 1875 Гц и 1250 Гц — в 1,25 раза выше исходных частот. Они находятся выше диапазона, в котором сосредоточена основная энергия саксофона, и ниже диапазона, который часто звучит пронзительно.
Более высокие и длинные звуки, а также варианты с добавленными гармониками были слышны лучше. И всё же я выбрал звуки, сохраняющие мягкий, нейтральный электронный тембр.
Убрать лишнее — что я не включил
Я убрал варианты выбора, которые могли бы заставить пользователя колебаться. Прежде чем отказаться от каждой функции, проверял, может ли приложение работать без неё.
- Реклама, отслеживание и аккаунты
- Я исключил их с самого начала. Приложение не инициирует сетевые запросы.
- Экран настроек
- Всё происходит на одном экране.
- Выбор тембров
- Достаточно двух звуков: для акцентированных и неакцентированных долей. Дополнительные варианты затрудняют выбор.
- Ползунок громкости
- Достаточно кнопок громкости устройства.
- Светлая тема
- Один экран с чёрным фоном.
- Восемь и более долей в такте
- 12/8 считаем в четыре доли, 9/8 — в три.
- Деление долей (восьмые, триоли, шестнадцатые)
- Они не обязательны для основной функции приложения, но это первое дополнение, которое я рассмотрел бы.
- Ввод темпа числом
- Достаточно −/+ и перетаскивания.
Приложение реализовано на SwiftUI без сторонних библиотек и работает на iPhone с iOS 17 и новее. Его английское название — No Ads Simplest Metronome. Полная инструкция и политика конфиденциальности размещены на странице поддержки (на английском).