IronTick 1.0: stabiler plattformübergreifender Metronom.


1

Ich präsentiere die erste Version des Metronoms IronTick. Es ist ein leichtgewichtiges, präzises, plattformübergreifendes Metronom, das das Qt6-Framework verwendet. Es unterscheidet sich darin, dass es einen kontinuierlichen Audiostream mit Klicks erzeugt, anstatt einzelne Klicks im Timer abzuspielen, wie es die meisten anderen Metronom-Programme tun. Durch diesen Ansatz klickt IronTick viel stabiler und genauer, selbst bei starker Hintergrundlast.

Funktionen und Merkmale:

  1. Hohe Genauigkeit: stabile Klicks, präzises Halten des Tempos.

  2. Unterstützung verschiedener Taktarten: Haupttaktarten (2/4, 3/4, 4/4, 6/8), sowie die Möglichkeit, jeden anderen Takt festzulegen.

  3. Visualisierung: Anzeige der starken und schwachen Zählzeiten.

  4. Tempo Management: Tempoänderung, Start und Stopp des Metronoms sind mit einer Tastatur möglich, ohne die Maus zu verwenden.

Welche Probleme werden gelöst

Ich habe beschlossen, diese Anwendung zu entwickeln, weil ich auf ein ernstes Problem der meisten bestehenden Softwaremetronome gestoßen bin – sie halten oft das Tempo nicht genau und lassen Klicks aus. Die Situation wird auf schwachen Maschinen bei starker Hintergrundlast erheblich verschärft. Als ich begann, die Gründe für dieses Verhalten zu untersuchen, stellte sich heraus, dass der typische Ansatz bei der Implementierung dieser Metronome darin besteht, einen Timer zu erstellen, der das Abspielen eines kurzen Klickgeräuschs auslöst. Und das ist die Antwort, denn da dies alles in einem Multitasking-Betriebssystem funktioniert, garantieren Timer in Benutzerprozessen keine Echtzeitfunktionalität mit der für einen Musiker akzeptablen Genauigkeit. Gelegentlich wird der Timer erheblich später als der benötigte Zeitpunkt ausgelöst.

Dieses Problem wird in IronTick sehr einfach gelöst – es synthetisiert einen kontinuierlichen PCM-Audiostream, in den genau an den richtigen Stellen die Klangsignale eingefügt sind. Dieser Stream wird kontinuierlich von der Soundkarte wie jeder andere Audiostream, z.B. ein Lied im Audio-Player, wiedergegeben. Ein Lied in einem Player stottert schließlich nicht gelegentlich, unabhängig davon, welches Programm im Vordergrund aktiv ist und welche Last besteht? So klickt auch ein Metronom, das nach diesem Prinzip arbeitet, genauso stabil wie ein Audio-Player, der einen Track wiederholt. Dafür benötigt es keinen ungenauen Timer.

Das zweite Problem, das weniger wichtig ist – es ist normalerweise unangenehm, das Tempo zu ändern, ohne die Gitarre aus der Hand zu legen. Daher bietet IronTick von Haus aus eine Tastensteuerung mit einer einzigen Taste (genau einer, man muss keine „Akkorde“ drücken) für die Hauptfunktionen. Außerdem gibt es einen anpassbaren Schritt zur Erhöhung/Verringerung des Tempos. Ich benutze das so – ich beginne, ein Stück mit einem langsamen Tempo von beispielsweise 120 bpm zu üben und drücke regelmäßig die Taste J, um die bpm um 5 Einheiten zu erhöhen. Dann wieder um 5, und so weiter. Man kann jeden Schritt einstellen. Eine Taste zu drücken ist einfach, ohne das Plektrum aus der Hand zu geben.

Dateien

Im Rahmen des Releases wurde vorbereitet AppImage.

Das Programm ist in C++ geschrieben, Lizenz – GPL 3.0 oder neuer.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4