Loopy Pro: Create music, your way.

What is Loopy Pro?Loopy Pro is a powerful, flexible, and intuitive live looper, sampler, clip launcher and DAW for iPhone and iPad. At its core, it allows you to record and layer sounds in real-time to create complex musical arrangements. But it doesn’t stop there—Loopy Pro offers advanced tools to customize your workflow, build dynamic performance setups, and create a seamless connection between instruments, effects, and external gear.

Use it for live looping, sequencing, arranging, mixing, and much more. Whether you're a live performer, a producer, or just experimenting with sound, Loopy Pro helps you take control of your creative process.

Download on the App Store

Loopy Pro is your all-in-one musical toolkit. Try it for free today.

Probabilistic ratchets

Is there a method to process the output of a sequencer, to produce ratchets that occur with some probability?

Here's my motivation: as far as I know right now, Art Kerns' MidiDreams is the only AU sequencer app that allows you to set a ratchet, not on every occurence of a given step, but on that step with some degree of probability.

Perhaps Drambo or some other P-locking app might provide such a feature, but MidiDreams is familiar, easy, and specific.

Now, I'd like to capture the unratcheted sequence in an LP Midi clip. If I try to capture the ratcheted sequence, I lose the probabilistic quality, unless I make the loop so long that you don't notice the repetition.

So, if I have the unratcheted sequence playing from a clip - rather than directly from MidiDreams as a loaded AU - I'd need to add a Midi processor to impose the effect. Which is sort of silly, I know... after all, why not just keep MidiDreams loaded and use it directly?

But these are the kinds of oddball things that occur to me.

I can't find a Mozaic script devoted to this specific function, nor can I think of any other processor app that might do it.

Thoughts?

«1

Comments

  • edited August 2025

    I feed a lotta midi sequencers that dont have probability function (or it’s a pain to set up haha) through Waymaker and just use the single probability module. I’m not sure how that would handle ratchets (the only sequencer with ratchet I think I own is Neon and it starts to Bork out when I dip into those options) but it handles really fast notes just fine, often use it for hihats n the like.

    I’m also new to Loopy and can’t comment on how well Waymaker fares there.. I’d go try it out, but I’d have to go watch some videos on midi and Loopy first (been puttin it off but maybe that’s my Saturday today!)

  • edited August 2025

    What kind of ratcheting do you want?

  • Bram Bros ratcheting is wicked. Can you make them in Mozaic?

  • @Squishy I hadn't considered Waymaker. I'll have to give that a look and see what I can make of it. Thanks.

    @rs2000 Good ol' Chris Franke style. But rather than always hitting the double on the same step, specify a likelihood of hitting it.

    Thou, you know, something occurs to me from my early days of working with the big Moog modular. I could probably use one sequencer to execute a hold at intervals on the main sequencer (which how this is done), and if the "holder" sequence is long enough the resulting pattern would be, if not truly probabilistic, at least sufficiently variable.

    @egobeats Bram Bos ratcheting? Say more.

    A Mozaic script is what I've been thinking of as well. There's even a beat shifter patch that I could probably use as a starter.

  • edited August 2025
    The user and all related content has been deleted.
  • wimwim
    edited August 2025

    That's something I'm missing every time I add ratchets to a sequence. Rarely do I ever want them to happen every loop repeat. You're right that it's lacking from most sequencers.

    Waymaker with a branch sequence is good, but I haven't been able to think of a way to be in control of when the ratchets happen, only the probability that they'll be triggered somewhere in the sequence. Could be that the beat sequencer could help with that. 🤔

    I never use Waymaker for drums though, so I think I'd rather come up with something else.

    Mozaic could be used, but would be kind of kludgy. I'm picturing pads, each representing 1/16th of a bar, and each assigned a probability of letting just the first note through, or all of the notes during that 1/16th beat. But, who wants to limit ratchets occurring to only 16th notes? With only 16 pads to work with, it gets complicated UI-wise to break things down smaller - let alone getting into triplets. meh. That doesn't sound like it'd being a very satisfying project.

    I can think of some ways that might work in Drambo, but nothing straightforward. Could be there's something easy there. I just don't know enough about Drambo to say. [edit] nvm, it is easy. See below.

    I think it would be pretty easy in GR-2 using the !Prev step with a dummy "ghost" note with probability on it. But I don't always want to be working in GR 2.

  • edited August 2025

    I'm using the arpticles Mozaic script (built in)
    On a snare channel, it gives me the hammerhead style ratcheting and flams

    I tried Waymaker, Aqueel could show us how to do it with drums. It has free timing and you can make some complex sequencer(s) with Waymaker. I don't know how to tame it tho.

  • wimwim
    edited August 2025

    It's actually quite easy in Drambo

    • Set the ratchet (Retrig) for the step
    • Insert a Random Condition step component before the Retrig component.
    • Set the probability in the Random Condition step component.

    Cycle Condition is a good component to use as well.

    Sometimes I wonder why I so rarely use Drambo as my drum sequencer. 🤷🏼‍♂️

  • The user and all related content has been deleted.
  • @offbrands said:

    @wim said:
    It's actually quite easy in Drambo

    • Set the ratchet (Retrig) for the step
    • Insert a Random Condition step component before the Retrig component.
    • Set the probability in the Random Condition step component.

    Cycle Condition is a good component to use as well.

    Sometimes I wonder why I so rarely use Drambo as my drum sequencer. 🤷🏼‍♂️

    Note that cycles doesn’t work with the sequencer module, but does with the main one.

    Thanks. Yeah, I often get caught off guard by that one.

  • The user and all related content has been deleted.
  • I made a midi rack in Drambo, that works without p-locks or step editing. It’s on patch storage, here’s a little demo:

  • Im totally into that “Berlin School” sequencing. Pretty much all I do. Have spent far too much on sequencer apps looking for that sound. MidiDreams is perfect and “ playable” for that. MidiDreams has a very immediate interface which makes it easy to manipulate the sequence just like Chris Franke would do. I believe TD is the influence for that sequencer. My close second option is MidiStep by 4 Pockets. Very much like Stepic and lots of options. The only minor downside is that the UI is not quite as easy to manipulate as MidiDreams. Cykle also has ratcheting and can do random steps. Using both random jump and a greater number of steps than your sequence, you can achieve a that random type ratchet. I’d love to hear what you end up with

  • Perhaps 4 Pockets Kaleidoscope could be used somehow in the midi chain and randomly triggered. There’s some cool stuff you can do with it. I was playing around with it today driving it with MidiDreams. Synth 1 was direct from MidiDreams and using Kaleidoscope to play a second synth but at a different interval on my .8th echos. Using 3 steps but skipping the 1st which was the root note played on the first synth then the second 2 were notes played on synth 2.

  • @Raydiognome said:
    Perhaps 4 Pockets Kaleidoscope could be used somehow in the midi chain and randomly triggered. There’s some cool stuff you can do with it. I was playing around with it today driving it with MidiDreams. Synth 1 was direct from MidiDreams and using Kaleidoscope to play a second synth but at a different interval on my .8th echos. Using 3 steps but skipping the 1st which was the root note played on the first synth then the second 2 were notes played on synth 2.

    You’re Midistep comment reminded me that Helium has repeat/glitch (ratchet?) options too, albeit hidden behind long press menu diving. Paul sure loves cramming as much as he can into his work haha!

  • @Raydiognome Yeah, that's exactly why I use MidiDreams so much. It's foundational, in a way that no other app really is. You give me an interesting idea. What I was looking for when I started this thread was an app that could process the regular-beat output of MidiDreams, so that I could stash that primary sequence in a captured loop, but then impose the probabilistic ratchet. Something with throughout, and the capacity for chance-retriggering, or chance synced delay might be an approach. I'm not sure what the arrangement would be, but I'm going to look into it.

    @Squishy The problem with Helium is that, as far as I can tell, step doubling is either always on for a particular step, or always off. There's no probability feature for it.

    @wim, @tsylothorp1, those are odd looking Drambo patches. I haven't tried them, but will.

  • @garden Said:
    What I was looking for when I started this thread was an app that could process the regular-beat output of MidiDreams, so that I could stash that primary sequence in a captured loop, but then impose the probabilistic ratchet.

    I might not have made clear, that that's what my patch does:). In the video I hosted it in Drambo, but you can just as well use the midi-fx version of Drambo in loopy pro and send sequences in from loopy.

  • @tyslothrop1 That's fascinating, thank you. I downloaded it this morning to give it a quick test, and will do more this evening. Before I downloaded, I'd opened Drambo and done a quick look at midi modules and said to myself, "oh look... bernouli gate." And lo.

    I think it's handling gates a little unexpectedly but I haven't worked with it enough to be more specific.

    Very, very interesting patch though. Thank you again.

  • @garden thanks. About the handling of gates... If you mean that not every ratchet seems to trigger, try playing with the midigate module all the way to the left. It can help, I think. If you have any ideas where to take it, feel free to suggest it (or do it yourself of course, if so I 'd be interested in what you change.).

  • wimwim
    edited August 2025

    On a simpler conceptual level, though not as flexible, it's still possible to just insert a Random Condition step component before the Retrig module on any step. No custom patch needed. Not as interesting, but gets the job done.

    https://forum.loopypro.com/discussion/comment/1417615/#Comment_1417615

  • Just because I'm a nut, I've been playing with doing this in MiRack and it's devilish because of the slight timing delays between modules. You just can't edges to line up reliably. Presumably something similar applies in Drambo, requiring that gate-fiddling knob.

  • @wim said:
    It's actually quite easy in Drambo

    • Set the ratchet (Retrig) for the step
    • Insert a Random Condition step component before the Retrig component.
    • Set the probability in the Random Condition step component.

    I'm sorry, but I understand none of these words.

    By "step component" do you mean something in one of the sequencer modules? I see a Retrigger module, and of course a Random module, but I don't see a connection between them in this context.

  • @garden said:
    Is there a method to process the output of a sequencer, to produce ratchets that occur with some probability?

    Here's my motivation: as far as I know right now, Art Kerns' MidiDreams is the only AU sequencer app that allows you to set a ratchet, not on every occurence of a given step, but on that step with some degree of probability.

    Perhaps Drambo or some other P-locking app might provide such a feature, but MidiDreams is familiar, easy, and specific.

    Now, I'd like to capture the unratcheted sequence in an LP Midi clip. If I try to capture the ratcheted sequence, I lose the probabilistic quality, unless I make the loop so long that you don't notice the repetition.

    So, if I have the unratcheted sequence playing from a clip - rather than directly from MidiDreams as a loaded AU - I'd need to add a Midi processor to impose the effect. Which is sort of silly, I know... after all, why not just keep MidiDreams loaded and use it directly?

    But these are the kinds of oddball things that occur to me.

    I can't find a Mozaic script devoted to this specific function, nor can I think of any other processor app that might do it.

    Thoughts?

    Prism Sequencer can do exactly what you’re asking for and more..

    In Prism, there are 4 main options for customizing Ratchets that can all be used together and that can be set per trig, which really lets you to give some life to your beats ..

    CONDITION
    In Prism you can set “Every” Conditions on Ratchets to determine when a trig sounds as ratchet hits or as a single hit. Example, an “Every” Condition could look like this: OXXO .. where ratchet hits on the O and a single hit on the X. So on every 1st and 4th loop around ratchet hits will sound and on every 2nd and 3rd loop, a single hit will sound. “Every” Conditions for ratchets are customizable so you could have XO, OXO, XOOX, etc ..

    VELOCITY CURVE
    Allows you to shape the Ratchet hits’ Velocity Curve to determine how each of a ratchet’s hits are going to sound .. Are they going to ratchet up in velocity, or step down towards the last hits. There are 4 Velocity Curve shapes that can be customized: Vel up, Vel Down, Hold, Random.

    PATTERN
    Allows you to create Patterns on ratchet trigs to determine which ratchet hits will sound and which hits will not. For example, say you have a 4-hit ratchet on a trig but you only want hits 1, 2, and 4 to sound .. This is where you would make a pattern to do that — (hit) 1, (hit) 2, (skip) 3, (hit) 4 — and every loop around your ratchet trig will only play ratchet hits 1,2,4 .. but not 3.

    CERTAINTY
    This is more or less a randomization condition that randomizes what ratchet hits sound each loop around.

    https://apps.apple.com/us/app/prism-midi-sequencer/id6502302630

  • @mikejohn Unless I'm mistaken, what you've described is Prism's ability to generate ratcheted sequences. Is it capable of processing sequences generated by another app?

  • @garden said:
    @mikejohn Unless I'm mistaken, what you've described is Prism's ability to generate ratcheted sequences. Is it capable of processing sequences generated by another app?

    Ahh .. I see. Yeah, I think I misunderstood the first bit of your post, my bad .. Prism is still well worth checking out , though ..

  • @garden
    Each step in Drambo consists of a series of step components. Normally you don't need to think about these. When you add notes to a step, that places a Note component for each note on the step. When you dial in some probability, it adds a probability component. These components process the notes on the step much like the normal Drambo modules.

    You can see and edit the components on a step in the COMP tab of the step details:

    Here are the components on a step after I added a ratchet using the RETRIG tab:

    So, all I'm saying is you can add a RANDOM component before the RETRIG component to make the ratchet happen at a lower probability:

    I hope that clarifies.

  • @egobeats said:
    Bram Bros ratcheting is wicked. Can you make them in Mozaic?

    It seems like a Mozaic script would be on point if I understand the requirements:

    1. A MIDI stream is processed though Mozaic
    2. There’s a code block to process Note On events.
    3. There’s a probability knob you can adjust to ratchet notes randomly but within probability limits (knob option)
    4. EXTRA REQUIREMENTS? Note ranges? Number of ratchets per note (another knob)? etc.
    5. IMPLEMENTATION DETAIL: Mozaic cannot know the rhythmic value of a note since that’s determined by the Note Off event. It’s possible to ratchet until the note off arrives.
    6. IMPLEMENTATION DETAIL: A ratchet is typically fast… you could code ratchets as you might mathematically notate them in powers of 2: 2,4,8,16,32,64,128, etc (maybe another settable knob) Determining the rate of the ratchet requires doing basic math on the BPM which can be calculated on the first interval detected or yet another knob to allow adjusting to taste and not
      fixed on BPM so the script works even when the TRANSPORT is stopped.
    7. So, for random notes we create a stream of fast MIDI NoteON+NoteOffwith a delay value (another knob to tweak ratchet nte lengths?)

    That I assume meets the requirements… often the User can’t follow the programmers logic so we built it and wait for feedback.
    I’m not committing to this one so if one of the usual Boffins wants to take it on that would be appreciated.

    I think this question was asked a few years back. A search for Ratchet, Ratchit or RatShit might unearth an existing solution.

  • @McD
    Googled Ratshit, found nothing but pics of black rice 🤷🏻‍♂️

  • Similar request here that seemed to be satisfied with Effectrix and/or NuRackFX.

    https://forum.loopypro.com/discussion/41264/mozaic-ratchet/p2

  • wimwim
    edited August 2025

    @McD said:

    @egobeats said:
    Bram Bros ratcheting is wicked. Can you make them in Mozaic?

    It seems like a Mozaic script would be on point if I understand the requirements:

    1. A MIDI stream is processed though Mozaic
    2. There’s a code block to process Note On events.
    3. There’s a probability knob you can adjust to ratchet notes randomly but within probability limits (knob option)
    4. EXTRA REQUIREMENTS? Note ranges? Number of ratchets per note (another knob)? etc.
    5. IMPLEMENTATION DETAIL: Mozaic cannot know the rhythmic value of a note since that’s determined by the Note Off event. It’s possible to ratchet until the note off arrives.
    6. IMPLEMENTATION DETAIL: A ratchet is typically fast… you could code ratchets as you might mathematically notate them in powers of 2: 2,4,8,16,32,64,128, etc (maybe another settable knob) Determining the rate of the ratchet requires doing basic math on the BPM which can be calculated on the first interval detected or yet another knob to allow adjusting to taste and not
      fixed on BPM so the script works even when the TRANSPORT is stopped.
    7. So, for random notes we create a stream of fast MIDI NoteON+NoteOffwith a delay value (another knob to tweak ratchet nte lengths?)

    That I assume meets the requirements… often the User can’t follow the programmers logic so we built it and wait for feedback.
    I’m not committing to this one so if one of the usual Boffins wants to take it on that would be appreciated.

    I think this question was asked a few years back. A search for Ratchet, Ratchit or RatShit might unearth an existing solution.

    I don't think that addresses the request - as I understood it. I don't think the idea was to generate ratchets, but to filter out ratchets based on a probability for individual steps. That could be done in Mozaic, in theory, but the UI for setting something like that would be a bit of a pain, as I wrote earlier.

    There are only 16 pads to work with. If you wanted to set ratchet probability on only 16th notes, and only over one measure, that'd be OK. As soon as you wanted to do smaller divisions, triplets, etc., it'd get hairy.

    The other assumption, that you would need to wait for the note off isn't necessary. Note durations don't come into play. The sequencer is sending note on / note off for the main note as well as the ratchets. All that is required is to ignore the following notes within that step if the probability test fails.

    The basic logic isn't hard.

    • Keep track of the step you're on and refer to an array of probability percentages per step.
    • Generate a random number between 0 and 100.
    • If the number is greater than the percentage stored in the array, ignore all but the first note between that step and the next.

    It's creating a UI within Mozaic's constraints, that allows enough flexibility without being more trouble than it's worth that's the challenge.

Sign In or Register to comment.