MIDI timing in Renoise is bad when getting sequenced externally (by Cirklon 2)

O.K
I got it up and running with a litlle bit of out the box thinking
Since renoise didn’t produce audible sound over the dacs but only internally , I recorded the output into reaktor as a vst ( it has a recorder ) , this all worked fine
So loomer architect midi out —>loopback—>midi in renoise
First test , architect sequencer running 1/8 notes , then 1/16,1/32,1/64,1/128
First triggered sound is microtonic , instant attack
Driver assio 4 all set to 10 ms
And why can’t we upload rar’s …we need this for troubleshooting duties
1
2
file download
https://app.box.com/s/o5cu0ugtraswv3fcqpajser18ztqnqri

By using DirectSound or ASIO4All. They both can be used at the same time in multiple applications.

Again, my point with MIDI Input jitter, is, that this is influenced by the audio latency. Bigger audio latency = Bigger jitter. But this should apply to all hosts: Reaper, Renoise, Live, Loomer, …

Not saying that there are no bugs in the MIDI routing in Renoise, but we need to make sure we’re testing the same thing. Also this is what you thread initially is about "
MIDI timing in Renoise is bad when getting sequenced externally (by Cirklon 2)".


I’ll look into the MIDI out timing with the TPL settings now.

Tested the TPL issue now. Using note delays or a higher LPB. I can’t hear a difference here with different TPL settings. Timing with the Loopback device is okay. Here’s the song I’ve tested with:

MIDI TPL.xrns (4.4 KB)

See again notes from above: On Windows we’re using a software scheduler for MIDI out events. It isn’t perfect, but I’m not aware of a better solution here. On OSX we’re letting Core MIDI schedule the events which should in most cases result into a better timing.

@gentleclockdivider Can you replicate this with the song above? How does the Loopback device vs. the real device behave on your setup?


Looking into the MIDI timing of the internal MIDI routing now (Loomer VSTi to some other VSTi). I’m not familiar with Loomer. Could you share a little demo song here with us?

Exactly that’s why I created this thread
The midi loopback is a substitute for the hardware .
It 's perfectly possible that midi timing-jitter is dependent on audio buffers , but as you said every host should then exhibit the jitter …not just renoise
The tests I have done with the loopback device are exactly the same as with the cirklon
Loomer architect is if you just want to set it up
Clink structure view type, add build in :monosequencer
Again : Type midi out : select port , if loomer is a vst , choose host as the output port in the midi out module
Type in : set channel (set channel but you also do tis from within the sequencer ), the module overrides oit )
Click on the monosequencer ,set conduct to play and choose sequencer to play
Everything can be modulated if yo uwish to do so , it’s a great program with rock solid timing
2
3

1

Would be nice if you could give this a try before we’re getting into the VSTi MIDI routing issue - which is a different topic.

Sorry , I can 't use renoise to use the loopback sending data to another host , it ain’t working
Regular midi out behaves fine
Shouldn’t we find a solution for the first problem :slight_smile: , midi input jitter , why is renoise the only program behaving this (jittery) way while they all use the same audio driver ?

About the cirklon , I received it two weeks ago but it was slightly damaged around the corners ( ups guy dropped it )
I decided to return it for a diagnostic check and cosmetic surgery :slight_smile: , the new on will arrive in a few days …so can not test cirklon at the moment

Edit , ok got it working …will report soon

I’m not trying to use this as a workaround, but I’m using this in order to replicate the problem with as less dependencies as possible.

With or without a Loopback device. Have you checked this? Sorry for repeating myself, but I never got an answer for this.

Have you tried varying the Audio Latency in your tests? What is the Audio Latency in Renoise in your tests. What’s the Audio latency in your other Test DAWs?

Like I have said , I can only use one driver at the time or at least one program that’s audible
They all use the same assio 4 all driver at a bufffer size of 512 samples
In the last test( your file ) I launced architect first so I can hear the output (using short microtinc sound ) , then renoise to send midi over loopback to architect
Then I used renoise standalone and loaded microtonic being triggered by the pattern data
Here’s the result , they are different , the midi over loopback is again not consistent
First instrument : called direct record in renoise (no loopback ) is consistent
Second file is not
here you go.xrns (3.2 MB)

Edit .changing the buffer size in architect ( as a receiver ) does not improve the timing , changing the buffer size in renoise ( as midi send) is not even possible since it crashes when trying to do so ( renoise is NOT using the audio driver ) only loopback out

The loopback causes a lot of issues , now my integra midi and audio drivers are gone , even after a reboot !
Which is why I never was a fan of these devices in the first place , need to tackle this problem first

I’m sorry if I’m repeating myself here, but can you also replicate that lowering the latency also lowers the jitter amount?

I’ve now also split the VSTi MIDI timing problem into a new thread: Unstable timing (jitter) of VSTi MIDI routed events

This is a different topic (timing of internally routed MIDI events), so it should be tested and fixed separately from the original topic.

The audio latency in Loomer architect ( as midi host ) is around 11ms in loomer , using asio 4 all
Changing latency does not improve timing .
Since loomer is the host and is using the driver , I can not adjust the latency in renoise …trying to do so crashes renoise .

You got me wrong. This is about “MIDI timing in Renoise is bad when getting sequenced externally (by Cirklon 2)”

So no other host should be running. Only Renoise and Cirklon?

Well you probably won’t believe me but here goes
I received my cirklon yesterday ( I sended it back because there were some cosmetic issues ) and now it has a faulty encoder , I need to send it back (again ) to Berlin .
So for the moment , no hardware sequencing from cirklon . will probably take 2 weeks to get a new one

HI Taktik , how is it going ?
Any news about the midi timing improvements when renoise is a vst host ?
Perhaps a beta upload ?

p.s. why did you move the thread ?
It was about midi in , cirklon ( or any other hw seq.) into renoise
Not about internal mid routing

Could you please do the same test without Loomer - just Renoise - with varying latencies, now that your device is back?

Sorry. Moved it back now…

O.k . did some tests , it seems the smaller the buffer size the more accurate .
A low 64 samples being the best , while things get progressively worse from 512 samples with a high step speed ( 1/32nd-1/64 th notes ) , while other hosts like loomer and reaper stay accurate at 512 samples buffersize
test signal =microtonic
Example a pattern with steps 1/64 @2048 buffer sounds stable , but the steps are not really 1/64 …they are somewhere in between 1/64 and 1/32 ( see screenshot 1 ) where files are alligned
Screen shot 2 shows 1/64 and 1/32 nd both @ 64 samples …and acurate timing
Here’s the file with the descriptions of the used buffer size and the sequencer step length ( cirklon )
https://app.box.com/s/tjycspjp9nm1pvj36tute2xuckryw855
screesnhot 1
screesnhot 2

Could you please let me know how exactly you are testing this?

Cirklon is sending out a periodic MIDI event pulse train.
Renoise is receiving it. How are the events played back in Renoise - is a sample triggered?
How do you record the output of Renoise and Cirklon to compare them?


As I tried to explain above, real-time MIDI input always is received and processed by DAWs once at the start of an audio buffer, which usually is as big as the audio card latency. So the latency basically quantizes all incoming events by the latency.

When recording such events, and the events are timestamped, the events can be backdated into the DAWs timeline. When such events are played back live, they can not, as they happened in the past (well, except the entire MIDI stream is delayed by a whole buffer, but this usually is worse).

So smaller buffer sizes do improve the timing of real-time played events in general, and this should be consistent in all DAWs. From my tests Reaper behaves the same here as Renoise. Larger audio buffers = More sloppy realtime-MIID playback timing. Same with Ableton Live. I haven’t tested Loomer though.

When comparing different DAWs, please use exactly the same audio settings and preferably ASIO on Windows. With DirectSound things may work a bit different.