jstrait/beats — Issue #4: Triplets/non-straight-16th-note rhythms?
Author: pwoolcoc
Created: 2012-03-09 15:19:32+00:00
State: open

Are there any plans to support rhythms that don't fit nicely into 16th-note patterns?

Right now I see that the audio engine is calculating the length of a sample by calculating the length of a 16th-note for the current tempo.

My thought was that (and I am willing to work on this & provide a patch) it could instead calculate the length for a quarter note, and then calculate the length of each sample depending on how the quarter note has been subdivided.

For example, we could accept syntax like this:

x...x...(xxx)x.x.

Which would correspond to:

16 rest rest rest 16th rest rest rest 1/4-triplet 1/4-triplet 1/4-triplet 16th rest 16th rest

If a quarter note section is wrapped in `()`, we calculate the length of each sample based on how many notes are within the parens.

From here, we could further subdivide the 1/4-note by nesting parens. Each nested paren would represent half of it's enclosing rhythm. So:

((xxx)(xxx))

would indicate 1/8-note triplets.

Just some ideas I've been kicking around.