Okay, I’m just having a brain cramp on this one.
If you’re up for a bit of a puzzle (and chances are that y’all will find this more obvious than I), I could really go for some input.
The quandary: trading two notes for one note by Chance on a Pyramid Track.
Extras: MIDI Loopback and Event Processing available (BomeBox + MIDI Translator Pro).
For better results, I’ll start with a very basic example:
Let’s say you’re doing some 1/8th note octaves in bass ala a super basic disco thing. Every once in awhile you want to drop out the lower note, but extend the previous note to 1/4.
First bar is the normal bass line and second bar has the variation in the first half.
I want this to happen on a chance type of basis, tho, and I just can’t wrap my head around a proper algorithm.
In trying to pseudocode it:
- When a high note hits (or on a trigger) calc Chance
- If Chance=True, extend the high note x2 and ignore the next low note
I’m fairly sure that with 2 steps in there it is impossible to emulate this natively on the Pyramid.
I already use things like putting a Note 0 in a Track which is always ‘swallowed’ by the Event Processor but is used to trigger Event Processor routines. However, it’s a bit clunky IMO to dedicate 2 Tracks to playing basically the same bass line and use my Note 0 technique to just pop over to the parallel Track running the 1/4 Notes.
Apologies if this explanation is awkward.
I’m not completely sure how to put it into words.
Another random idea is to make a short Track with Note to CC Effect and Chance to occasionally trigger CC64 Sustain. Then I tell the Event Processor that while Sustain=true to swallow any new Note On Events.
Still: hoping for something more elegant.
I also want to try to avoid creating a ‘trigger’ Track, although I run a few utility Tracks and can bury that data/trigger around here & there.
What do you think?
Out to lunch or what?
(I guess it’d be nice to have an algorithm that can be reversed as in: trading one longer note to two or three)