Proposed feature: Chance "parameter", standard on all effects


#1

Hi, fellow Pyramid lovers!

I love MIDI FX. They are a powerful performance and composing tool that set the Pyramid apart.

I love the Chance effect. It’s great to be able to inject randomness into whether or not a note plays.

I love FX stepmode. Pre-programming changes to effect parameters on specific steps adds variety and excitement.

Wouldn’t it be great — and powerful — to be able to inject randomness into whether or not an effect happens, the same way we can inject randomness into whether a note happens?

The purpose of this topic is to see what the interest is among users for such a feature — or whether the feature already exists and I’ve somehow overlooked it. :slight_smile: If such a feature doesn’t exist and is sought after by more people than just me, I will formally submit it to Squarp.

The idea would be to have chance available as a standard parameter on EVERY midi effect (except Chance itself). It is a percentage, and determines the likelihood that a midi effect happens.

The Chance effect remains unchanged, as something that impacts whether notes happen. This is different. The Chance parameter (again, available on each effect) impacts whether the effect happens.

The Chance parameter, like other effect parameters, would be available to be modified by the user real-time or set on a per-step basis (via FX stepmode), so that the user could set one step to get the effect 100% of the time, while another step gets it 50% of the time (or whatever probability you enter).

It seems to fit within the Pyramid’s current architecture quite well. No new key combos or new types of screen on the display. Just one little additional parameter on each effect.

What do you think of this idea? I’m sure I’m not the only one who has thought of it, but I couldn’t find an existing topic in the community about it.

Regards,
Rob (alias “thus”)


#2

YES!! :grinning:


#3

I think I may have submitted this exact suggestion to the Squarp crew already, but I suggest you do it as well, as it is a solid and useful idea.


#4

I agree. Great idea.

I just got a MicroFreak and have really enjoyed using the ‘spice and dice’ feature of randomization on arpeggios and sequences. So I would really appreciate the possibility of something similar on Pyramid


#5

I love and want more random things in the Pyramid OS!

But I don’t think that the Squarp team will make effect parameters be more than 5, and so they will not likely add this chance parameter to all existing MIDI effects.

So maybe it would be easier to add to the LFO effect an on/off destination to any of the other parameters present in the chain. With a random settings, it would have the same result.


#6

Here’s a thought - it takes a bit of work, but perhaps this is what you’re thinking of?

Any Effect Parameter can be modulated with an incoming CC message. Well, the Pyramid can also generate that CC message - you just have to loop the data stream back into the Pyramid (which could cause further headaches down the road if you’re superstitious like me).

I created a kick drum track with a 4 on the floor kick pattern, adding a Delay Effect to it to repeat 1/16ths. Initially I set the Enable: Off so that when played, it’s just a 4 on the floor

Then I created a second Track with only an LFO set on a square wave sending to CC#25, which is then routed back into the Pyramid.

Using the Assign:Incoming CC on the Kick Track to assign CC#25 to change the Effect: Enable - so when CC25 goes ‘high’ from the control track, the Kick’s Delay Effect triggers a set of 1/16ths, and when it goes low, they don’t happen.

You can use any sort of LFO or CC msg (Note-To-CC!), and some extra exciting variations using polymeters/polyrhythms on the control track. You can use a S&H LFO and set that to Chance Effect %, even. That sounds exciting and yields a technique that I use on my OT to use a S&H LFO for Delay: Send. (Tragic knee jerk, I know…but adds a bit of character on lower layers)

Does that make sense?
Can that do what you’re basically after?

EDIT TO ADD:
Warning - if you create a Control Track that will be sending out CC values that you want to control multiple tracks, you cannot have the same Incoming CC modulating multiple Effects. I think it’s one Effect per CC.

I learned this the hard way after a week of scratching my head wondering why a thing that I thought should work didn’t and ending up emailing Squarp who verified this. :slight_smile:


#7

BTW: For Probability fun and profit, consider a control track determining whether a whole track will run at all.

Set Effect: Chance with Chance: 0%.
When that Effect is turned on, the Track is muted.
When that Effect is off, the Track plays.

Then set up your control Track cycles as desired. For momentary Enables or Disables, I’d suggest using the Note-To-CC effect. For cyclical changes, LFO, 'natch.

My shtick would be that a Control Channel should be able to select, say, one of 4 tracks at any time until it hits a ‘node’ at which point it selects the next variation based on conditional probabilities, but I’m not at a point to implement anything close to that yet.


#8

Hey CreepyPants, that’s a nice trick. I already tried before a physical midi loopback, with a short midi cable linking the MIDI OUT B to the MIDI IN of the Pyramid, so i could use an LFO to randomly start/stop a track, without any problem. But it was using the fixed Pyramidi CC chart for this.

And so there is something I missing in your description : how do you assign the incoming CC you choosed to the change the effect parameter you want. I went through the manual, and wandered around my Pyramid, but I just couldn’t find practically how you do it. Sorry if I miss something obvious, but i would appreciate the help!


#9

Oh, I had an exciting time with this indeed!

Keep in mind I get lost on all the Omni/MultiTrack and PyraMIDI stuff.
I’m not using PyraMIDI and Omni is set to MultiTrack off.

in the same way that you’d set an external MIDI hardware device that sends CC’s to the Pyramid, you have to use the MIDI Learn. That is:

  • Have the MIDI CC data available to be entered when youre’ ready.
  • Ensure the sequencer is NOT running
  • Make the Destination Track Active
  • Hold [ASSIGN]
  • Activate your external MIDI Device that sends the appropriate CC
  • Menu will pop up and you can go from there

This is, IMO, one of the PITAs with “MIDI Learn”. I mean, if you already know you’re sending out CC#30 and you know you want another Track to react to CC#30, can’t we just enter it? LOL

The answer is now.

Incidentallly, I have a rather complex system for controlling MIDI Effects on the Pyramid and had to come up with an on-the-fly system for tossing 48 different CC#'s to the Pyramid. Because I’m an idiot, I set up yet-another-controller just to do that. Ugh.

Sorry. Kinda jelled. Not baked yet.
Did that answer your question or am I out to lunch?


#10

Yes! I get now why i can’t access the assign menu without an external controller : the Pyramid LFO emits CC only when the sequencer is running… but the Pyramid can assign an external CC only when sequencer is stopped! So my connections is ok, but I can’t finish the process as I have no external controller.

Still, It would be really great if the Pyramid had a way to internally assign any destination or CC to the LFO effect. That would basically cover all the randomness needs possible.
What about that, @squarpadmin ? :wink:

PS : I would also love the possibility to route LFO to the CV output, to control my modular gear.