StaticdetectDetects imitative entries between voices. Returns matches: which voice, at what beat offset, what transposition, whether inverted.
The imitation moves by inverted intervals.
Note index in that voice where the imitation starts.
Steps from the model's first note to the imitation's first note.
Index of the imitating voice (the first voice is the model).
StaticgenerateGenerates a two-voice canon from a theme.
The theme notes.
Transposition interval in steps for the follower voice.
Entry delay in number of notes.
If true, the follower uses the melodic inversion.
[leader, follower], both theme.length + delay long: the follower opens with
delay rests (null) and the leader ends with as many, so index i sounds together.
Canon and imitation detection / generation tools.