Yahoo Groups archive

Analogue-sequencer

Index last updated: 2026-04-28 23:15 UTC

Message

RE: [analogue-sequencer] Re: CV/gate quandary...

2010-09-01 by Colin Fraser

> Don't stick us with MIDI timing, I urge you!
 
MIDI does have inherent latency, but that's usually over-shadowed by the
poor timing performance of PCs.
You'd think with multi-core processors running at a few gigahertz each,
they'd be pretty hot at real-time performance.
But you'll be lucky to see a PC sequencer output MIDI data with timing
accuracy any better than 2 or 3 milliseconds.
That's due to a couple of factors - user processes wanting to perform
regular events typically hook into a system timer with 1ms maximum
resolution.
Not a timer each either - they may have to share it with any other process
wanting to do some regular task.
Also that's just the average rate the process gets a callback at.
If Windows decides to start checking whether Adobe AIR needs an update the
instant before a tempo tick is going to happen, you can be confident it's
not going to happen right on time.
Then once the MIDI message has been generated, and passed through all the
layers of user process, kernel and driver, it finds itself waiting in a
queue for a USB bus that only gets serviced once every millisecond tops.
And these are best case figures.
If your integrated audio/MIDI app is running on a 5 millisecond timer event
to keep the audio buffers full, you might just discover that the developers
thought they'd be fine to roll MIDI handling into the same event, and your
average MIDI event is going to be 2.5 milliseconds out before driver layer
and serial latency enter the picture.
2.5 milliseconds is about 1 tick of a 192 ppqn clock at 120 bpm.
If your PC sequencer claims to offer better tempo resolution than 192 ppqn,
it is having you on.

If you run a monosynth from a MIDI to CV convertor on a Cirklon MIDI bus of
its own, you will not hear any timing disadvantage compared to a direct
CV/gate connection.
You gain the ability to send multiple CCs over a single cable, keeping the
spaghetti local to the synth or completely hidden with a good retrofit.
When I first implemented CV/gate on Cirklon, I re-wired my minimoog to use
it, but it pretty soon insisted on going back to MIDI.
A single MIDI cable gives me pitch, filter and gate control. I can use
legato to control glide, with CC control of glide time.
Re-trigger mode is selectable at the convertor because MIDI sends a new note
on even when the gate stays 'high'.
For CV/gate, I'd need to be setting that at the sequencer end.

MIDI is usually the only option for driving hardware polysynths.
The spread of MIDI note ons over time becomes an issue with rigidly timed
chords using highly percussive sounds.
But there's no way round that - it's part of the synth. Quite often the MIDI
latency is nothing compared to the internal latency on the keyboard matrix
scan.

Triggering drum machines is the one area where MIDI really falls down.
They have nothing but highly percussive sounds.
The nature of these sounds requires that, if two or more of them are to be
triggered at 'the same time', you really want them to be at the same time.
That time can slop about quite a bit - for example, all the classic Roland
drum machines, 606, 808 and 909, have their internal trigger timing
quantised to a fixed 2ms clock.
The triggers for any given clock tick can be sent anywhere from almost bang
on time to 2 milliseconds late.
Same thing applies to the 303's internal sequencer.
But all the triggers fire at exactly the same instant, and that gives the
combined sound of multiple drums a precise character that really adds to
their impact.
The multiplex mode of the CV output on Cirklon achives the same result.

I could also point out here that USB-MIDI has the potential to greatly
improve the simultaneousness of multiple triggers.
USB is a polled interface, and Windows will never poll it any faster than
1ms intervals, but you can get more note ons than you are likely to need
into a single USB packet.
I've done tests with a VSTi 909 clone running drum patterns A/B'd with my
909 running the same pattern over serial MIDI, and once the fixed latency of
the PC audio interface is tuned out, the timing performance of the VSTi is
better than the real thing, simply because all drums triggered 'at the same
time', really are.

Best regards,
Colin Fraser
Sequentix Music Systems Ltd
http://www.sequentix.com

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.