Midi Precision

I’m a huge fan of hardware synthesizers. I love playing them, I love tweaking knobs, I love even taking them to bed and making patches at night before i fall asleep. So naturally I would like to use hardware with Renoise.

I’ve been doing this for a while now, but something has always bothered me; How on earth can i get anything resembling a precise arpeggio out of external MIDI gear?

Sandboxed, the Waldorf Blofeld through its own USB MIDI, Renoise broadcasting clock and every box checked. Triggering an arp on the first line; The Blofeld takes a couple of pattern loops before it gets the tempo right-ish. Even then, occational stutters as the note repeats. So I think alright, fuck that. I’ll just play the arp manually with Renoise sequencing it. Nightmare. I’m known to be absolutely anal about timing, but this can’t just be me. Note accuracy is OBVIOUSLY off, giving the arp a kind of jumpy feel which i am absolutely not after.

This does not occur in Ableton Live 7; In Live, every note is hit perfectly. I’ve tested with the Nord Modular G2, Korg Z1, Korg R3 and Waldorf Blofeld.

I’ve tried various configurations of this, and Renoise (latest version) stands out as utterly botching MIDI precision time and time again. What is going on? My initial guess is that it’s something to do with how Renoise dispatches note-offs…? Hell if I know.

Or is this just some “MIDI shit” that I just have to get used to dealing with. Not inspiring, shall we say.

1 Like

are you using Renoise as MIDI clock slave?

if so, have you tried tweaking
Edit => Preferences => MIDI => MIDI Clock Slave => Smoothing
value?

I also experienced timing problems the only time I used Renoise together with another software via MIDI under Windows, while under Linux the problem was almost unnoticeable, as about a note each 100 was played slightly off tempo

Ok so what is a good way to solve this; An external sync box or something? I’ve unfortunately committed too much to hardware to give this up ;)
As it is, Renoise syncing to external clock when Renoise is still the primary sequencer seems… odd?

I have little experience with MIDI hardware indeed, so experimenting is the best way. there are not many combinations to try, after all :)

It sounds strange that you have more luck syncing with Ableton. In theory, both should be crappy (I’m assuming that you’re running windows, which has never really been good at MIDI). I think the developers would like you to share more info about your particular setup ;)

As all sorts of things might influence the result, IMO the most important trick is to use an external sync source instead of an internal software-based one.
Also, on windows, sound-cards with WDM drivers should improve things considerably.

About The WDM MIDI Support On Windows:

Getting tight MIDI on windows indeed is a big pain, fur us as developers and for you as users.

Here are are some tips:

As Danoise said: If you are the lucky owner of a WDM compatible MIDI device (you device lists up as “Your Device (WDM)”) then its very likely that this provides kick ass timing, without having to do anything else. Just use it.

If not, then please try to:

  • Use ASIO instead of DirecSound
  • Use as low latencies (ASIO Buffer sizes) as possible
  • Try to avoid unbalanced CPU loads (CPU usage jumps form less to a lot of CPU)
1 Like

Man that’s sort of a bummer. I have to do some tests when I get home from work, but i was hoping to be able to use several midi interfaces through MIDI-Yoke/Ox. There’s a depressive number of devices with no thru, which means setting them up requires a lot of spatial planning, and only one of my midi outs is WDM.

I’ll try driving the clock with my Nord Modular and see what happens. Stupid midi.

Anyone else notice the keyword here is Windows?

/sent from my OSX

:)

Yep. Here’s my startup message when running Puredata:

So yeah, I did a test chaining sync from my Z1 through to my Blofeld, and now the Blofeld seems to sync up just wonderfully. What a bitch eh?

Any of this improve under Windows 7 at all? I run XP SP3 currently. My card IS WDM, but that hasn’t helped much apparently. Also, reigning in CPU is a concern I hope to not have to worry about for mere sync problems.

Fun times, guess I’ll have to rethink how I do things.

sunjammer: If this works in other hosts it can also in Renoise. Windows or not.

Could you please let us know what exactly you are routing to what and syncing to what, so that we could test and verify this here?

It doesn’t actually “work” in other hosts per se, now on second sight. It’s merely more immediately noticeable under Renoise.
To be clear, I haven’t had real sync/latency issues when it comes to notes, which can be synced up with a little track delay. The problem is ONLY with clock sync with Renoise as master, driving LFOs or arpeggiators.

Here’s the setup, regardless.
Win XP SP3, Core 2 quad 2.66ghz, 4gb ram.
Renoise 2.5

M-audio Firewire 410 (WDM)

The test setup is pretty simple. At 8 lpb, I trigger a note on 00, 06 and 12, and block repeat, so i get a short syncopating pattern. I find it easier to detect rhythm problems the more complex the rhythm is for some reason, so this is a happy medium. Renoise sends everything under the Clock Master section.

I typically daisy chain 4 devices, but for this test I only use one, the Waldorf Blofeld keyboard, which has so far been the most troublesome, to the point where I’ve been e-mailing Waldorf about it.
I init a new patch, and assign a sawtooth LFO to OSC 1 pitch, setting the LFO sync/clock fields to external clock so that there should be one oscillation per 2 lines in Renoise. I start Renoise playback, and immediately i notice the LFO tempo fluctuation, where using the LFO to get an extra layer of rhythm becomes absolutely useless.

Another test is setting up an arpeggiator on the Modular G2 and simply repeating a pattern with notes on line 00. As the pattern repeats, there is an audible mismatch in timing, as though Renoise is playing slower than the clock it’s outputting, and this flaw repeats. As i look at the tempo gauge on the G2 when Renoise bpm is at 228, it fluctuates between 222 and 227, which i’m sure you’ll agree is not very precise; no wonder sync is bad. Renoise is not alone in making the G2 behave this way however. Live does just as poorly.

I then slave the Blofeld to the G2’s clock. The Blofeld suddenly acts perfectly. I slave the G2 to the Korg Z1, and it too starts behaving lovely.
I slave Renoise to the Z1, and i get G2-like behavior with fluctuating bpm, even when smoothing is at 100.

Not entirely sure what i can do to fix this really. There is no MIDI through on my sound card, so having Renoise slave to tempo doesn’t help much when Renoise then has to send its new slaved tempo out again.

Bloody complex stuff this :)

I should point out that the Korg Z1 is triumphantly above all this. I have yet to have a problem with clock sync on it, though it appears to be using MMC and song position in addition to clock for sync purposes. However, it has variable note latency dependent on patch complexity ;) Argh.

My update on my end is that I’m looking at sound cards/midi interfaces that have hardware clock out. The more I think about it and how midi clock works, I don’t think I’ll find precise enough clock in a software solution.

Unless of course Macs have magically solved this problem reliably, at which point I may have to investigate.

http://www.innerclocksystems.com/New%20ICS%20Sync-Lock.html

http://www.innerclocksystems.com/New%20ICS%20Our%20Friends.html

Best regards - David