Intelligent timing of the arpeggiator

Generally there are two ways of how an arpeggiator syncs to MIDI clock:

  1. The arpeggiator starts immediately when the first key is pressed and uses the tempo of MIDI clock. This means, if I press the key a little too early or too late, this mistake will be continued and all generated notes will be off beat. My synthesizer works like this, and I hate it.

  2. The arpeggiator starts exactly on a beat, for example a 16th, in sync to MIDI clock. This means, if I press the key a little too late, the first note will be dropped. If I press the key a little too early (less than a 16th), the first generated note will be perfectly in time, and all further notes as well. The arpeggiator of Ableton Live works like this. But it’s not easy to press keys just this little bit too early.

What about a new method which tolerates human imperfection - I haven’t found this anywhere so far. It means that the arpeggiator starts immediately when a key is pressed, but reduces the mistake with every step, so after a few steps the timing is perfectly in sync to MIDI clock. This is the way a human player would correct his / her own imperfect timing. I could imagine this as a real advantage for every live-musician who wants to use the arpeggiator.

To me, for this you may need a scene sequencer ( like in the SimCell generative project of Leonard J. Paul ). But it solves only a part of the problem, I guess.

As a complete noob to PD and pipes, and all this like ; let’s say you could trigger the gate using cv for instance, that could permit to quantize it the way you like? But you always will have one problem : you know where to aim at, but the programing won’t know how to start to make the transition.

So, maybe the simplest solution would be to gradualy chance your anquantize arp, then mix it with a quantized one that you could gradualy unmute?

No, this won’t be a solution. And programming the method I mentioned shouldn’t be too difficult. Just 2 rules:

  • the first note plays IMMEDIATELY
  • every following note plays on a quantisation grid
    Or, if it still feels bad, try to reduce the difference between played note and grid step by step, so after 2 or 3 steps the perfect timing will be achieved.

I think this would really be a killer application!!!


Good idea, we’ll note this down in our todo. :slight_smile:


Oh, I just found another little thing that could be improved, concerning the arpeggiator. When I press and hold a chord on my keyboard, the arpeggiator of course plays these notes in the chosen order. Sometimes I like to change some of the notes while keeping others pressed. At a Time Division of 16th notes (quite fast) it happens frequently that I change one note just a very short time after that note has begun to play. In this case, the arpeggiator stops playing this note abruptly, which sounds like a mistake. The solution would be letting the arpeggiator play every note in its full length, no matter if the key is still pressed.

1 Like

Problem solved by the use of a LENGTH-pipe after the arpeggiator.


@atomschall good call. This helps for sure. I had similar luck with using the clock from the synth I’m using as the keyboard controller. With it I can pseudo quantize my inputs and send the clock I’m quantized to into the arp on the midi hub.


That’s a good idea for a feature request. An real-time quantize of the internal MidiHub Arpeggiator.

But as would like to use this feature with my beloved arpeggiator of my Access Virus.

So how to achieve this?

Therefore I would like to vote for a real-time quantize function independently from the internal Arpeggiator.

I would like to be able to snap the notes that I play, to a grid according to the MIDI clock via counting the Midi ticks starting from a received start message on, with the possibility to configure the grid size of 1, 1/2, 1/4, 1/8 or 1/6 of a 4/4 bar measure.

That’s a great suggestion, that I would also like to see independent from the internal MidiHub Arpeggiator, to be able to use the external Arpeggiator of my choice.