IronTick 1.0: een stabiele cross-platform metrónome


1

Hier presenteer ik de eerste release van de IronTick metrónome. Dit is een lichtgewicht, nauwkeurige, cross-platform metrónome die gebruik maakt van het Qt6-framework. Het onderscheidt zich doordat het een continue audiostroom met klikken genereert in plaats van afzonderlijke klikken op een timer af te spelen, zoals de meeste andere metrónomes. Door deze aanpak klikt IronTick veel stabieler en nauwkeuriger, zelfs bij een hoge achtergrondbelasting.

Functionaliteit en kenmerken:

  1. Hoge precisie: stabiele klikken, nauwkeurige tempo-behoud.

  2. Ondersteuning voor verschillende maatsoorten: basismaatsoorten (2/4, 3/4, 4/4, 6/8), evenals de mogelijkheid om elke andere maatsoort in te stellen.

  3. Visualisatie: indicator voor sterke en zwakke beats.

  4. Tempo controle: het wijzigen van het tempo, starten en stoppen van de metrónome is mogelijk met één toetsenbord, zonder muis.

Welke problemen lost het op

Ik besloot deze applicatie te ontwikkelen omdat ik tegen een ernstig probleem bij de meeste bestaande softwaremetrónomes liep — ze kunnen het tempo vaak niet nauwkeurig aanhouden en missen klikken. De situatie wordt significant verergerd op zwakke machines met een hoge achtergrondbelasting. Toen ik probeerde de oorzaken van dit gedrag te begrijpen, bleek dat de typische aanpak bij de implementatie van deze metrónomes het creëren van een timer is, waarop de afspeeltijd van een kort klikgeluid is bevestigd. Hier ligt het probleem, aangezien dit allemaal werkt in een multitasking-besturingssysteem, garanderen timers in gebruikersprocessen geen real-time werking met een precisie die acceptabel is voor muzikanten. Af en toe gaat de timer aanzienlijk later af dan het gewenste moment.

Dit probleem is in IronTick eenvoudig opgelost — het synthetiseert een continue PCM-audiostroom waarin de klikgeluiden op precies de juiste plaatsen zijn ingevoegd. Deze stroom wordt continu afgespeeld door de geluidskaart, net als elke audiostroom, bijvoorbeeld een nummer in een audiospeler. Je nummer in de speler stottert toch ook niet af en toe, ongeacht welke programma vooraan draait, en welke belasting? Zo werkt een metrónome op deze manier ook even stabiel als een audioplayer een track afspeelt. Daarvoor heeft hij geen onnauwkeurige timer nodig.

Een probleem, dat al minder belangrijk is, is dat het meestal ongemakkelijk is om het tempo te veranderen zonder de gitaar uit handen te laten. Daarom is er in IronTick standaard toetsenbordbediening met één toets (precies één, je hoeft geen 'akkoorden' in te drukken) voor de belangrijkste functies. Ook is er een instelbare stap voor het verhogen/verlagen van het tempo. Ik gebruik het zo - ik begin de passage te oefenen met een langzaam tempo, bijvoorbeeld 120 bpm, en druk af en toe op de toets J om bpm met 5 eenheden te verhogen. Daarna nog eens 5, en ga zo door. Je kunt elke stap instellen. Eén knop indrukken is makkelijk zonder je plectrum uit je hand te laten vallen.

Bestanden

In het kader van de release is voorbereid AppImage.

Het programma is geschreven in C++, licentie – GPL 3.0 of nieuwer.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster