Additionally, a "LOOP" mode is available which allows to chain programs together. It has the limitation that it can only play programs 1 - 8 in that order. You can have a program played from 0 to several times, though.
I use Eddie Harris' "Ambidextrous" riff (
) to demonstrate the procedure:
| program | duration (16ths) | tempo (BPM) | increment |
| 1 | 3 | 120 | 20 |
| 2 | 4 | 90 | 15 |
| 3 | 5 | 72 | 12 |
| 4 | 4 | 90 | 15 |
You might need to install MathPlayer fort the formulas to display in Internet Explorer.
I use a different example (2, 3, 4) for onset durations than above (3, 4, 5, 4), because in the above example all durations are prime to each other.Converting BPMs (musical) to seconds (physical) BPM2s : 60 / BPM = s s2BPM : 60 / s = BPM remark: Conversion between BPM and seconds is an involution.
2, 3, 4 -> the last note is 4 sixteenths which is a quarter note, so the last note gets 120 BPM.
pd(chosen note) thus is BPM2s(120) = 60 / 120 = 1/2 s. pd(note x) = pd(chosen note) / md(note x), so pd(first note) = pd(chosen note) / md(first note) = 1/2 / 2 = 1/4 s. pd(second note) = pd(chosen note) / md(second note) = 1/2 / 3 = 1/6 s.
What would happen if we chose to assign 120 BPM to the 2nd note (md(second note) == 3)? pd(note x) = 60 / BPM(note x) // no matter what md(note x) is! pd(note y) = pd(note x) * (md(note y) / md(note x)) // simple arithmetic for physical durations BPM(note y) = 60 / [ pd(note x) * (md(note y) / md(note x)) ] BPM(note y) = 60 / [ (60 / BPM(note x)) * (md(note y) / md(note x)) ] BPM(note y) = BPM(chosen note) * md(chosen note) / md(note y).
Now, convert these back to BPMs: BPM(note x) = BPM(chosen note) * md(chosen note) / md(note x) BPM(first note) = 120 * md(chosen note) / md(first note) = 120 * 4 / 2 = 240. BPM(second note) = 120 * md(chosen note) / md(second note) = 120 * 4 / 3 = 160. BPM(chosen note) = 120 * md(chosen note) / md(chosen note) = 120 * 4 / 4 = 120.
Ouch, here's a counter example: I can choose 27 for the last note which according to above text should be divisible by 2 and 3, thus 6. Obviously 27 is not divisible by 2. But I can still create numbers in the relationship 2:3:4: 54 36 27
BPM(first note) = 27 * md(chosen note) / md(first note) = 27 * 4 / 2 = 54. BPM(second note) = 27 * md(chosen note) / md(second note) = 27 * 4 / 3 = 36. BPM(chosen note) = 27 * md(chosen note) / md(chosen note) = 27 * 4 / 4 = 27.
The reason is that the BPMs will be multiplied with the duration of the chosen note. Since it is a multiplication it can only increase, never decrease the probability that a certain duration can integer divide the resulting number.
So let's correct statement (5.1), thus weakening the constraint: The BPM we choose for a particular note, multiplied by its duration, needs to be divisible by all other musical durations. (5.2)
How to rephrase this more compactly to get a tighter mathematical grip? Choose a minimal number so that when you multiply it with a given number a it is divisible by a set of some other given numbers? The lcm task would be: Choose a minimal number so that it is divisible by a set of given numbers. So the lcm task is too constrained, how can we loosen it?
| Proposition: |
|
| Proof: |
|
| Substitution: |
|
|
// well known, proven fact
|
, the proof would apply to any number of durations (b, c, d, ...), not just two (b, c) as in the proof.