Quandary: Pick your brain maybe? (Outside of scope of Pyramid, but Pyramid usage involved)

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.

Staff example:
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.

I dunno.
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)

Going to try something with the Randomizer and using Note Length, but just turning it on to force it to the Grid, but set the Randomization at 0%, ie “Turn it on when I want to force 1/4 note instead of 2x 1/8 notes”.

If I trigger this externally via incoming CC from the Event Processor, I can also set the Processor to swallow the next Note On Event.

Anything more elegant?

K. So it works if I dedicate two FX slots, one to Randomiser and one to Chance

Randomiser set to Length, with 0% +/- but Grid set to lengthen the notes to carry over.
Chance set to 0% & PPQN, Sync: Off.

Then Control the Enable on both of these via MIDI CC, which I can:

  • Use a separate modulation Track that will send a trigger to the Event Processor which will split this into two CCs, timed correctly. (And set this modulation Track to an odd length so it doesn’t loop in sync)
  • Just embed a Note 0 Event on the Tracks (and subsequently pgm my synths to not respond to MIDI Note 0, which is current my standard as I use Note 0 Events to send data to my Event Processor) where the swap might vary, and use a random # generator to determ Enables

I’m not sure I want to dedicate two FX Slots to this technique, tho.
Perhaps it’s a better shot to send the Note 0 Trigger to the Event Processor which triggers a Chance calculation on the Event Processor, and if it comes back true to just swallow the next Note Off and Note On, and swap the remaining next Note Off to use the original Note # (in case I use this technique for something other than that cheezy octaves disco bass).

3 Likes

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.