I present the first release of the IronTick metronome. This lightweight, precise, cross-platform metronome uses the Qt6 framework. It stands out by generating a continuous audio stream of clicks instead of playing separate clicks on a timer, as most other metronome programs do. Thanks to this approach, IronTick clicks much more stably and accurately, even under significant background load.
Features and Specifications:
High accuracy: stable clicks, precise tempo maintenance.
Support for various time signatures: common signatures (2/4, 3/4, 4/4, 6/8) and the ability to set any other signature.
Visualization: indicator for strong and weak beats.
Tempo control: changing the tempo, starting, and stopping the metronome is possible using a single keyboard without a mouse.
What problems does it solve
I decided to develop this application because I encountered a significant problem with most existing software metronomes—they often do not maintain tempo accurately, skipping clicks. This issue is exacerbated on weaker machines with heavy background load. When I looked into the reasons for this behavior, it became clear that the typical approach for implementing these metronomes is to create a timer that triggers the playback of a short click sound. This explains the problem: since this all operates in a multitasking OS, timers in user processes do not guarantee real-time operation with musician-acceptable precision. Occasionally, the timer triggers significantly later than the necessary time.
This problem is solved very simply in IronTick—it synthesizes a continuous PCM stream of audio samples, into which click sounds are inserted precisely at the right places. This stream is played back continuously by the sound card, just like any audio stream, such as a song in an audio player. Your song in the player doesn’t stutter periodically, regardless of what program is in the foreground and what the load is, right? Thus, a metronome that works according to this principle clicks as stably as an audio player plays a track. For this, it doesn't need an inaccurate timer.
The second issue, which is less critical, is that it's usually inconvenient to change the tempo without putting the guitar down. Therefore, IronTick comes with single-key keyboard control (just one key, you don't need to hold down 'chords') for basic functions. Additionally, there's a customizable increment/decrement step for the tempo. I use it like this: I start practicing a passage at a slow tempo, for example, 120 bpm, and periodically press the J key to increase the bpm by 5 units. Then another 5, and so on. Any step can be set. Pressing one button is easy, allowing you to keep the pick in your hand.
Files
In this release, we've prepared AppImage.
The program is written in C++, licensed under GPL 3.0 or later.
Source: linux.org.ru
