Релиз открытого кроссплатформенного метронома IronTick 1.0
Разработчик olegkapitonov представил первый стабильный релиз метронома IronTick. Исходный код проекта написан на C++ и опубликован на GitHub под лицензией.
«Это легковесный, точный, кроссплатформенный метроном, использующий фреймворк Qt6 (Qt 6.4+). Отличается тем, что генерирует непрерывный аудиопоток с кликами вместо того, чтобы воспроизводить отдельные клики по таймеру, как это делает большинство других программ‑метрономов. Благодаря такому подходу, IronTick кликает намного стабильнее и точнее, даже при наличии большой фоновой нагрузки», — пояснил автор проекта.
Возможности и особенности проекта:
высокая точность: стабильные щелчки, точное поддержание темпа;
поддержка различных размеров: основные размеры (2/4, 3/4, 4/4, 6/8), а также возможность задания любого другого размера;
визуализация: индикатор сильных и слабых долей;
управление темпом: изменение темпа, запуск и останов метронома возможен при помощи одной клавиатуры, без мыши.
«Я решил разработать это приложение, потому что столкнулся с серьёзной проблемой большинства существующих программных метрономов — они часто не точно держат темп, пропускают клики. Ситуация сильно обостряется на слабых машинах при большой фоновой нагрузке. Когда я стал разбираться в причинах такого поведения, оказалось что типичный подход при реализации этих метрономов — создание таймера, на срабатывание которого вешается запуск воспроизведения короткого звука щелчка. Вот и ответ, поскольку это все работает в многозадачной ОС, таймеры в пользовательских процессах не гарантируют работы в реальном времени с приемлемой для музыканта точностью. Периодически, таймер срабатывает значительно позже нужного момента времени.
Эта проблема в IronTick решена очень просто — он синтезирует непрерывный PCM поток
Читать на habr.com