MIDI CC - higher resolution possible?

Hey all. So I’ve noticed that MIDI CC data recorded into Cubase comes out as ‘stepped’ and very jagged/rough. I’ve tried this using the mod-wheel on my Oxygen 61 over USB, and also using CV signals from Reason devices routed into my Komplete Audio 6 MIDI input. Same result. 16th note modulation patterns at anything over 120BPM are basically unusable. So the question is, is it possible to increase the resolution at which Cubase records incoming MIDI data? It’s obviously possible of processing it at a far higher rate as when I draw it in it’s smooth as anything.

Any suggestions welcome!

Maybe I’m far off, but I think that if you have “snap” on, the data will snap to the grid (1/16, 1/8, 1/4). For a finer resolution turn “snap” off.

Or auto quantize maybe?

Mike.

i noticed the same when experimenting – the thing is, the resolution gets progressively lower with higher audio buffer sizes (check it out - it’s basically the same like bitcrushing a sinewave - at the worst settings, you’re left with on/off messages when trying to record rapid CC changes).

Hmm so what you’re saying is a higher buffer setting should fix it? Interesting - I’ll try it! I’ll also try disabling snap and AQ.

no, the opposite.

Oh okay, because I’m already using a setting of 96 on my NI KA6. I’ll try settings either side of that when I get back to my studio.

Offline Audio Mixdown, Freezing und Render in Place

The optimised ASIO-Guard in Cubase 8 allows for even smaller latencies. In this regard, it should be noted that the time the calculation of offline Audio Mixdown, Freezing and Render in Place requires, depends on the buffer size and thus latency. The lower the latency the longer it takes to calculate these processes. In extreme cases, the offline Audio Mixdown can even take longer than exporting in real-time.

Audio Mixdown, Freezing and Render in Place can be accelerated by increasing latency. This might reduce the resolution of automation though. VST 2 plug-ins calculate one automation value per parameter for each ASIO block (which equals buffer size in samples), whereas VST 3 plug-ins decide independently if automation data is being rendered blockwise, sample-accurately or at a self-defined resolution

Copied from https://www.steinberg.net/nc/en/support/knowledgebase_new/show_details/kb_show/details-on-asio-guard-in-cubase-and-nuendo.html

although related, this thread is regarding recording midi CC data.

Ok I just thought it might be relevant in relation to the changing buffer sizes.

yeah in that way i suspect it is – it’s related in that, most probably, the midi data, like audio (with vst2) is probably processed in blocks, so higher latency means slower ‘refresh’ rate, hence the heavily quantized midi resolution.

Well I am comparing the MIDI CC to automation resolution, which is what the quote I posted is talking about.

okay my bad. we’re on the same page.

No worries I was just trying to clarify. :wink:

Hey guys! So yeah, I tried it out at various buffer settings and sample rates, with and without auto quantize on and the result was the same. The MIDI data came out looking like the side of an Aztec pyramid! It’s almost like it’s capturing all the data and then reducing it or something. Very weird. I know the Oxygen 61 has a pretty sensitive/smooth set of controllers, but it’s definitely not be reflected in the way it’s captured by Cubase. The same is true of LFO’s sent from Reason via CV to MIDI out. Any other ideas?

There is a setting in the preferences, File > Preferences > Editing called Automation Reduction Level.

Could this have anything to do with the behaviour you are experiencing?

So here’s a screenshot with the automation reduction levels set to 0, 50 and 99.

[ mod edit-user has deleted screenshots ]

No difference as far as I can tell although for the most part this isn’t terrible. The very last section though is a faster LFO (8ths or 16ths, I can’t remember) and as you can see it’s all over the shop. Reason is measuring very distinct steps from 0 to 127 so something’s happening to them on the way into Cubase. Weird.

I’ve done a little experimenting and basically it turns out that all CC data is being quantized to 64ths. I used Auto LFO as a MIDI insert and recorded its output to check that it wasn’t a problem with the Komplete Audio 6’s MIDI input and the result is the same. So, the question is, can I turn this off?! Even with Auto Quantize off the results are the same. If I turn off snap and manipulate the data points manually it is possible for them to reside at discreet points in between 64th notes, but Cubase is deciding not to capture them that way.

**Edit: found a density control on Auto LFO. High is “every 29 PPQ”. Thinking I may have stumbled onto a hard-wired limitation here!

It’s worth remembering that CC messages use 3 bytes, 1st byte is the status byte (note on, cc, pitch bend etc), 2nd byte indicates which controller (01 - modulation, 07 - volume, 10 - pan etc) and the 3rd byte is the value of the controller, this third byte only uses 7 bits (1st bit set to 0 to indicate a data byte not a status byte). This only gives you a maximum resolution of 0 - 127 for each value for the controller (unlike the pitch bend which combines the 2 data bytes to give you 14 bits and so much more resolution) - if possible you could try controlling the CC with the pitch bend - might help - This is a limitation of MIDI not Cubase

Yeah I was just starting to cotton onto this haha. That kind of makes what I was trying to do with it a little more difficult but…dammit, I’ll find a way!

Thank you for the information :slight_smile: