Is there any VST host that doesn't quantize live MIDI ?
-
- KVRist
- 116 posts since 30 Mar, 2005
Cubase doesn't quantize MIDI by default, only if asked to. Same for Sonar, etc.
Sounds like you have a USB midi device and some system bus issues.
You'd probably get more help if you give more info on what you are having problems with, i.e. current host and hardware.
Sounds like you have a USB midi device and some system bus issues.
You'd probably get more help if you give more info on what you are having problems with, i.e. current host and hardware.
-miles
-
- KVRian
- Topic Starter
- 1239 posts since 17 Jul, 2003
All these host quantize live MIDI input to the buffer size.
Put your head in a VST plug, and you will see that the MIDI timestamp is always zero. So if your buffer is set at 10 msec, all events will be quantized to 10 msec on live input.
So if you do a nice strumming with a MIDI guitar, let's say 3 msec between each string, the result will be 3 notes playing at the same time and 3 other ones 10 msec later, simultaneous too.
I made a test where I play with a buffer of 2048 samples and another with a buffer of 64 samples + a constant delay of 2000 samples. In the first case the playing was chaotic, while using a constant latency was much easier, as it's pretty easy to compensate for a constant latency, but forget when it's random.
The problem is especially important with fast rhythmic parts like guitar strumming.
Another problem is when you want to use a VST host to play back a MIDI file or MIDI from a MIDI only sequencer with a large buffer, everything get quantized to the buffer size.
I asked Brainspawn (Forte) if they could implement this and they put it on the wish list, we'll see. But I was wondering if someone had already implement this to give it a try.
Put your head in a VST plug, and you will see that the MIDI timestamp is always zero. So if your buffer is set at 10 msec, all events will be quantized to 10 msec on live input.
So if you do a nice strumming with a MIDI guitar, let's say 3 msec between each string, the result will be 3 notes playing at the same time and 3 other ones 10 msec later, simultaneous too.
I made a test where I play with a buffer of 2048 samples and another with a buffer of 64 samples + a constant delay of 2000 samples. In the first case the playing was chaotic, while using a constant latency was much easier, as it's pretty easy to compensate for a constant latency, but forget when it's random.
The problem is especially important with fast rhythmic parts like guitar strumming.
Another problem is when you want to use a VST host to play back a MIDI file or MIDI from a MIDI only sequencer with a large buffer, everything get quantized to the buffer size.
I asked Brainspawn (Forte) if they could implement this and they put it on the wish list, we'll see. But I was wondering if someone had already implement this to give it a try.
-
- KVRian
- Topic Starter
- 1239 posts since 17 Jul, 2003
I don't know, when I record In SX3 with a 2048 samples buffer, events are recorded correctly, so I don't think it would be a problem to synchronize live MIDI with ASIO, and even if it's not 100% accurate it would still be better than the current situation.koolkeys wrote:I agree. All hosts should allow it, and as far as I know, all by default. So it is probably an issue with hardware.
-
- KVRian
- 1238 posts since 12 Mar, 2002 from Kentucky
I have never encountered this problem. When recording MIDI drums from my electric kit, HandSonic or a keyboard I do a lot of rolls and flams. While MIDI has always been known as sloppy, quantizing has yet to turn my rolls into flams.mbncp wrote:All these host quantize live MIDI input to the buffer size.
...
All I need to be happy is one more VSTi.
-
- KVRist
- 116 posts since 30 Mar, 2005
I think you are confusing the concepts of buffer size and sample rate. At any rate the MIDI spec allows timing in 1ms increments and most (all?) pro sequncers support the MIDI spec (circa 1983).
However as I suggested before USB midi interfaces can have constantly varying latency just as you describe. Some now attempt to timestamp the data to avoid this problem, but the old serial MIDI doesn't have it.
Still don't know what hardware you use, but on my systems I don't have the problems you mention. I use Cubase, Tracktion and Freestyle, with a Creative Audigy2ZS on one computer and an M-Audio Audiophile 2496 on the other. In both systems MIDI plays back just as recorded live, unless I quantize it. The timing is in increments of 1ms which I can verify by looking at a MIDI event list. My buffers are around 5ms and the MIDI does not get quantized to the nearest 5ms.
Never used Brainspawn Forte so can't comment on that.
However as I suggested before USB midi interfaces can have constantly varying latency just as you describe. Some now attempt to timestamp the data to avoid this problem, but the old serial MIDI doesn't have it.
Still don't know what hardware you use, but on my systems I don't have the problems you mention. I use Cubase, Tracktion and Freestyle, with a Creative Audigy2ZS on one computer and an M-Audio Audiophile 2496 on the other. In both systems MIDI plays back just as recorded live, unless I quantize it. The timing is in increments of 1ms which I can verify by looking at a MIDI event list. My buffers are around 5ms and the MIDI does not get quantized to the nearest 5ms.
Never used Brainspawn Forte so can't comment on that.
-miles
-
- KVRian
- Topic Starter
- 1239 posts since 17 Jul, 2003
bro. miles wrote:I think you are confusing the concepts of buffer size and sample rate
They do when you play live, ask Steinberg or any plugin developer. They are recorded correctly, but the VSTi receives always the MIDI event with a timestamp of zero.bro. miles wrote:My buffers are around 5ms and the MIDI does not get quantized to the nearest 5ms.
So what you hear when you record is not exactly the same when playing back.
With a small buffer it's almost impossible to notice the quantising. I noticed that when strumming fast with a MIDI guitar, I had problems at 8 msec while it was much better at 3 msec. First I though it's just the latency, but then I added a constant latency when playing with the small buffer, even at 50 msec it was playable, while playing with a high buffer (about 50 msec), it was really bad. The reason is that in this case, a VSTi may play any note as fast as 1 msec or wait 50 msec, depending of the current position of the ASIO buffer. With a constant latency it will always be 50 msec, much easier to compensate.
-
- KVRist
- 116 posts since 30 Mar, 2005
Sorry to say I am unable to duplicate the problem you describe using my rig. I can play nice drum rolls and things like that which would come out all messed up if I had the problem you do. If I increase the ASIO buffer size the timing is still fine, although delayed by Xms (X=buffersize). Good luck finding the source of your problem.
-miles
-
- KVRAF
- 3345 posts since 8 Nov, 2003 from Amsterdam
The only host where I have this kind of issues is OP, because I am too lazy to find out how to switch of quantizing. With ACID, eXT and T2 I NEVER have had quantizing problems.Rabid wrote:I have never encountered this problem. When recording MIDI drums from my electric kit, HandSonic or a keyboard I do a lot of rolls and flams. While MIDI has always been known as sloppy, quantizing has yet to turn my rolls into flams.mbncp wrote:All these host quantize live MIDI input to the buffer size.
...
And I play live a lot too (jamming with Scarbee etc) and really never encountered problems with quantizing (and I do play lots of arpeggios etc).
-
- KVRian
- Topic Starter
- 1239 posts since 17 Jul, 2003
bro. miles wrote:Sorry to say I am unable to duplicate the problem you describe using my rig. I can play nice drum rolls and things like that which would come out all messed up if I had the problem you do. If I increase the ASIO buffer size the timing is still fine, although delayed by Xms (X=buffersize). Good luck finding the source of your problem.
I recorded a few notes into SX3 to my VSTSPY plug, using a 2048 samples buffer.
This is the live recording:
Code: Select all
1 0 93 72 81
1 0 93 71 98
2 0 93 69 77
1 0 93 67 98
1 0 83 72 40
1 0 93 72 61
1 0 83 72 54
1 0 83 71 64
2 0 83 69 35
3 0 83 67 54
Code: Select all
1 262 93 72 81
1 1874 93 71 98
1 1370 93 69 77
1 424 93 67 98
1 96 83 72 40
1 121 93 72 61
1 1411 83 72 54
2 1587 83 71 64
1 509 83 69 35
2 730 83 67 54
When a VST receives an event at 0 or 1874, the result is not exactly the same.
Also notice that the 3 last events where received in the same buffer call, all stamped the same time (zero), while on playback, one is at 1587, the second at 2048+509 and the last at 2048+730, that's a total of (2048+730) - 1587 = 1191 samples, which is about 27 msec at 44.1 kHz
-
- KVRist
- 116 posts since 30 Mar, 2005
Yep, you have a problem. No such problem on my system and yes I could hear if some notes were randomized by 27ms (or even more as you suggest they should be if I increase ASIO buffer to say 1000ms).
-miles
-
- KVRist
- 116 posts since 30 Mar, 2005
Good idea. Someone there can probably explain why you're having this problem and how to deal with it. I can't explain it as technically, only can report that the problem of randomization and/or quanitzation of MIDI events doesn't exist for me, when playing live or recording. Pretty sure I'm not the only one for whom VSTi's work fine with live playing. Good luck troubleshooting your system.
-miles
-
- KVRist
- 265 posts since 26 May, 2004 from NYC
It might be the midi guitar/hex pickup/ converter. Who's hardware are you using. Try a test with a different method of inputing data and see if you get the same strange behavior.
Worth a try...
Worth a try...