Midi -> Hardware Synths = Unstable Ping

Well known bug with midi unstability: every new note i send to my hardware synth from Renoise has different delay, so i can’t reach accurate synchro.
It’s really borind and sad :(
When i need to create bassline like this:
C-1
C-1
C-2
C-2
e.t.c.
I have to record C-1 and C-2 separately and then play them in tracker as samples…
What should i do if i want to control synth parameters realtime and record whole bassline then ?

Old trick (R1.5) with swithcing to Direct X audio device and minimizing buffer doesn’t helps alot…
I need solid stable synchro to make stright pumping bass with realtime synth control.

This time i’ve forced to produce it using damn Cubase…

Devs please fix this unstability at last! I beggin’ you!

I can’t believe!
Nobody cares about this ?
Or nobody else control their hardware synths with Renoise ?
Or only i encountering this problem ?
:frowning:

You should use ASIO if possible, and the lowest latency that you can run without crackles. That makes the MIDI timing on Windows more robust.

And belive me, its really a pain in the ass (programming wise) to get a somehow acceptable timing on windows. I had the small hope that Vista will make that easier, which seems to be the case, so we will take care of this somewhen later, when all the major MIDI drivers got updated for vista, supporting the new technology.

Hi,

use ASIO. after that the MIDI timing should be rock solid.

Running external gear here and i think Renoise handles external synths even better than cubase.

edit: uh and oh yes, i’m running usually the gear on quite low latency. Although the midi seemed really stable when i tested it using higher latencies… but cannot say that for sure. I’ll test this and let you know so it might be easier to see wheter you have hardware issues or not…

I am very far from being any form of authority in the area;
but when i jam with a friend he insists that my midi clock messages are innaccurate and cause his gear to randomly go out of time. Pain in the ass to program? sure… but its the sort of thing you can yell triumphantly from the rooftops when you accomplish it, and hopefully to the tune of more users.
Giving renoise more live playability can only help the cause there, i think

“Pain in the ass to program” was maybe a bit too less information:
The “main” Windows MIDI API doesnt support scheduling of MIDI events at a driver level (or at least a realtime system service), so there is no solution to get rock solid MIDI timing on Windows without writing your own drivers or services. DirectMusic (the DirectX MIDI/Sequencer API) wanted to solve this, but most drivers are still emulated by old style API drivers, so that doesnt work in practice. Vista looks promising here, as noted above, but it will take some time to be usable as well…
Writing your own MIDI server at a user user level also doent solve kind of impossible, as user level timers are far from being accurate on Windows. Windows was never designed to be a realtime multimedia OS.

Or said the other way around: Its not impossible (thats software - nothing is), but its a LOT of work.
As there are approx 29472 other important to solve/improve in Renoise and we are not mainly targeting the MIDI sequencing area, this work has so far not been done. Further it seems to work that well that many people find it useful the way it is. All this is only Windows related. Timing on OS X is perfect. If not, thats a bug in Renoise.

Using ASIO at low latencies helps to reduce the jittering. The lower the latency (smaller the audio block sizes), the less jittering you get.

Thanx everybody for advicez. I’ll try ASIO with different settings and let you know.

BTW: Taktik says there is a problem at driver level. So maybe there are some alternative MIDI drivers for windows avialable ? Or some kind of MIDI server maybe ?

Hi,

i tested this and rising latency really does have an audible effect on the stability of midi. So maybe you should try the lowest latency possible. I get really acceptable midi stability with 1ms latency… but yeah… anything above that seems to have some sort of effect towards less sync. :confused:

Yes this midi issue is boring… so when i want a tracker for controling external hardware i use the old midi only Ztracker… perfect timing.

Hmm… I do not have any timing problems with normal sequencing with my synths. That means simply add or record midi-notes and play them, also the bpm synch of e.g. lfo’s is working good. (But I have not tried to synch renoise to a hardware-sequencer etc.) Even if I use a lot of tracks (about 10). Maybe it is depending also on your midi-device, what do you have?
I am using Midiman Midisport 4x4 and it is really stable.

Hmmm… It would be interesting to know if some hardware actually works correctly (because of their drivers?). At least I can assure I have the same problem with the built-in midi ports of the M-Audio Delta 1010.

Cie, can you do a test with 16th notes (notes on every line) at 160+ bpm (like in ceejay’s example, like psytrance)? The number of tracks is not so much the problem; the stuttering of notes in fast sequences is.

Yeah! With possible extreme lowest latency it works pretty tight and solid.
So thanks for advice, it’s a solution for current moment.

For now - 125 BPM and bass like i describe in a 1st message - sounds very well. If there are some unstability - it’s almost unaudible.
Using M-Audio Audiophile 2496, with 128 samples latency.

Only thing i afraid - i’ll get audio crackles if i use lot of samples and VSTi’s in project. Will report here later after more testing.

I have made a test how requested:
in test0 there are 3 tracks (2 sample, 1 midi) with 16th notes; Speed 160bpm F3, F2, F1.
in test1 there are 19 notes on the same time; bpm is 160 with F3.
in test2 same like 1 with increasing to F2 and F1.
In test1+2:Track 1 is VST-Base drum, 2,7 : samples percussion; 3-6 and 8-9 midi; 10 midi also: this is the melody which comes in at last, do not wonder if there the timing is so crappy: it’s because I played it in live ;)

Mp3s:
midi_test0
midi_test1
midi_test2

You see the tracks on these pics (test1+2):
tracks1
tracks2
imagine test0 with 3 more tracks with 16th notes.

Well I can not hear any problems (apart from the crap played live buts that my fault ;).

Cie: At which Audio latency (buffer size) was this recorded? You are using ASIO, right?

No I am using DirectSound, with minimum latency of 5 ms.
See settings here: settings pic
On audiophile side I use 256 samples.

After some more research and testing, I hope I found a solution which should solve the bad timing (or at least make it better), when using big ASIO or DS latencies.

Its already implemented for the next release. Would be great if all those who had problems with the timing could then test it in their setups…

HOORAY! it’s great !
Ready to testing anytime :thumbs up:

i’m also having difficulties syncing my external gear and Renoise, especially when Renoise acts as master. got a Korg ESX and a DSI Evolver and they would both hang a bit behind even at lowest ASIO latencys.

my workaround is to write the midi-notes one row earlier and give them a note delay, like when i want a C-4 in row 4, i’d write it in row 3 with a note delay of e.g. 4 ticks. it gets pretty tight that way but it’s still no perfect solution.

it’s good the devs try to work on this, i’d actually want a rock solid Midi timing more than any fancy new build in effects or something.

hi,

just to make sure… have you moved the “delay slider” ? That should compensate the external instrument for the latencies regardless of the buffersize…

[quote="#<0x0000562855ce1520>, post:19, topic:19556"]

hi,



just to make sure… have you moved the “delay slider” ? That should compensate the external instrument for the latencies regardless of the buffersize…
[/quote]



hello.



yep used the delay sliders (in the midi prefs and on the single midi track) but that wasn’t 100% satisfying. i’d have to set negative values when i run Renoise as master but even at -50 ms it’s not really tight.</0x0000562855ce1520>