IronTick 1.0: стабилен кроссплатформен метроном


1

Представям първия релийз на метронома IronTick. Това е лек, точен, кроссплатформен метроном, използващ фреймуърка Qt6. Отличава се с това, че генерира непрекъснат аудиопоток със щраквания вместо да възпроизвежда отделни щраквания по таймер, както правят повечето други софтуерни метрономи. Благодарение на този подход, IronTick щраква много по-стабилно и точно, дори при наличие на голямо фоново натоварване.

Възможности и характеристики:

  1. Висока точност: стабилни щраквания, прецизно поддържане на темпо.

  2. Поддръжка на различни тактове: основни тактове (2/4, 3/4, 4/4, 6/8), както и възможност за задаване на произволен друг такт.

  3. Визуализация: индикатор за силни и слаби доли.

  4. Управление на темпото: промяна на темпото, стартиране и спиране на метронома с помощта на една клавиатура, без мишка.

Какви проблеми решава

Реших да разработя това приложение, защото срещнах сериозен проблем с повечето съществуващи софтуерни метрономи — те често не поддържат точно темпо, пропускат щраквания. Ситуацията се влошава значително на слаби машини при голямо фоново натоварване. Когато започнах да проучвам причините за това поведение, се оказа, че типичният подход при реализацията на тези метрономи — създаването на таймер, на който се синхронизира стартирането на възпроизвеждането на кратък звук щракване. Ето и отговорът, тъй като всичко това работи в многозадачна ОС, таймерите в потребителските процеси не гарантират работа в реално време с точност, приемлива за музиканта. Периодично таймерът сработва значително по-късно от необходимия момент.

Този проблем в IronTick е решен много просто — той синтезира непрекъснат PCM поток от аудиосемпли, в който точно в нужните места са поставени звуците на щракванията. Този поток се възпроизвежда непрекъснато от звуковата карта, като всеки аудиопоток, например песен в аудиоплеъра. Вашата песен в плеъра не заеква периодично, независимо от това коя програма е на преден план и какво е натоварването? Ето и метроном, работещ според този принцип, щраква точно толкова стабилно, колкото аудиоплеърът възпроизвежда песен. За това не му е нужен неточен таймер.

Вторият проблем, който е вече по-малко важен, е, че е неудобно да сменяш темпото, без да изпуснеш китарата от ръцете си. Затова в IronTick от самото начало е предвидено клавиатурно управление с една клавиша (точно с една, няма нужда да натискаш „акорди“) за основните функции. Също така е направен настройваем стъпков вариант за увеличаване/намаляване на темпото. Аз го използвам така — започвам да обработвам пасаж с бавно темпо, например 120 bpm, и периодично натискам клавиша J, за да увелича bpm с 5 единици. След това отново с 5 и така нататък. Може да се зададе всякаква стъпка. Лесно е да натиснеш един бутон, без да изпуснеш медиатора от ръцете си.

Файлове

В рамките на релиза е подготвено AppImage.

Програмата е написана на езика c++, лицензът е GPL 3.0 или по-нов.

Източник: linux.org.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster