libmetro
|
The goal of libmetro is to simplify the development of specialized metronomes, e.g. simple, odd, compound, additive, and polyrhythmic click/drum tracks for practicing.
The provided classes are Metronome, Note, and Measure.
A Note is a convenience wrapper around a vector of floats representing a single sound - choices of timbre include Timbre::{Sine, Drum}
.
A Measure is a convenience wrapper around a vector of Notes representing a measure. Measures are added to a metronome.
Measures can be registered onto a Metronome object, and the bpm of the metronome determines the frequency at which the notes in the measures are cycled through.
Here's a simple example of an accented 4/4 beat with sine waves:
This is what it sounds like: