Helpful ReplyQuantizing MIDI Controller Data

Author
GeereMusic Inc.
Max Output Level: -90 dBFS
  • Total Posts : 14
  • Joined: 2015/10/27 13:50:27
  • Status: offline
2015/11/17 21:58:08 (permalink)

Quantizing MIDI Controller Data

I've already read an existing thread on this, without finding a suitable solution.  Moreover, there were users who didn't see why quantizing MIDI controller data was even useful!
 
There are numerous reasons why you'd want controller data quantized - having your synth pan in sync, or assign a controller to the filter cut-off, again in sync.  I have a Kurzweil K2000VP programmed to respond to all kinds of MIDI controller data, and if that could be quantized, then the sound could morph extensively in time to the track.
 
As it stands, you can not draw stepped controller data using the "snap to" function.  Nor can you quantize controller data in the event list.  
 
I just feel I must be missing something...allowing synths to be controlled/shaped/manipulated in sync with the track has been around for what, 15-20 years now?  Some of us are still using hardware synths - with extensive MIDI control :->)
 
Many thanks for your input.
#1
brundlefly
Max Output Level: 0 dBFS
  • Total Posts : 14250
  • Joined: 2007/09/14 14:57:59
  • Location: Manitou Spgs, Colorado
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 01:15:38 (permalink) ☄ Helpfulby GeereMusic Inc. 2015/11/18 15:48:26
Uncheck "Only Notes and Lyrics" in the quantize dialog. And drawing new ones should follow snap if it's enabled.

SONAR Platinum x64, 2x MOTU 2408/PCIe-424  (24-bit, 48kHz)
Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
#2
GeereMusic Inc.
Max Output Level: -90 dBFS
  • Total Posts : 14
  • Joined: 2015/10/27 13:50:27
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 12:23:10 (permalink)
Thanks for the info.  I've figured it out - there's a quirkiness to Sonar "Draw Event"!
 
In Piano Roll view, you can use the Draw tool set to 1/8 and draw 8th notes to your heart's content.  But when you use the same tool/settings to draw controller data, it doesn't work.  You have to enable "Snap" for it to work.
 
Now I can sync all my controller data, which is what I was after.
Cheers!
#3
brundlefly
Max Output Level: 0 dBFS
  • Total Posts : 14250
  • Joined: 2007/09/14 14:57:59
  • Location: Manitou Spgs, Colorado
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 12:58:29 (permalink) ☄ Helpfulby GeereMusic Inc. 2015/11/18 15:48:19
Glad you got it figured, but so far as I know, the Draw tool won't snap notes unless snap is enabled, either. The draw duration only affects note length, not start times.

SONAR Platinum x64, 2x MOTU 2408/PCIe-424  (24-bit, 48kHz)
Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
#4
GeereMusic Inc.
Max Output Level: -90 dBFS
  • Total Posts : 14
  • Joined: 2015/10/27 13:50:27
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 13:38:39 (permalink)
Got it!  You're correct - I can draw 1/4 length notes, but they are placed wherever I click them.
 
I guess it doesn't work for controller data, coz one controller message could not last for a 1/4 note :->)
 
Cheers!
#5
brundlefly
Max Output Level: 0 dBFS
  • Total Posts : 14250
  • Joined: 2007/09/14 14:57:59
  • Location: Manitou Spgs, Colorado
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 14:18:10 (permalink) ☄ Helpfulby GeereMusic Inc. 2015/11/18 15:48:37
At the risk of beating the dead horse... I'm not sure what you mean by "it doesn't work for controller data". What I'm saying is that the placement of both notes and controllers depends on your snap settings. And in a way, controllers have "infinite duration", as whatever value is set pertains until another controller message with of a different value is sent.
 
It sounds like maybe you were expecting that drawing something like a sustain controller would create both an ON (127) and OFF (0) event separated by the specified draw duration. Is that it? If so, that's just not how drawing controllers works. You insert them one at a time, and they don't necessarily come in pairs like Note ON/OFF messages. Pedal events are the exception (and even those can be continuously variable if the synth supports it). Sometimes you just want to set one value, and have it pertain indefinitely (e.g. a CC1 Modulation controller setting the brightness of synth sound).
 
 
post edited by brundlefly - 2015/11/18 14:29:42

SONAR Platinum x64, 2x MOTU 2408/PCIe-424  (24-bit, 48kHz)
Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
#6
GeereMusic Inc.
Max Output Level: -90 dBFS
  • Total Posts : 14
  • Joined: 2015/10/27 13:50:27
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 15:36:18 (permalink)
Yes, what you said made sense.  I think I get that...but just to beat the horse a bit more - I meant you can't draw a controller message to last for a 1/4 note.  The message itself takes, what a few milliseconds..?  That's why you can't draw them (like you can notes) to last for 1/4 (like you can notes).
 
Man, it's a good job I'm off sick from work...
 
Many thanks for your input/correspondence, I can be a MIDI nerd for a day or two.
#7
brundlefly
Max Output Level: 0 dBFS
  • Total Posts : 14250
  • Joined: 2007/09/14 14:57:59
  • Location: Manitou Spgs, Colorado
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 16:48:08 (permalink)
All MIDI messages are discrete and take just a millisecond to send. This includes Note On/Off messages. When the synth receives the Note On, it triggers the sound to start, and then the sound just evolves according to the synth's programming until the Note Off is received, typically triggering the volume, filter and pitch envelopes to move to the release stage.
 
"Duration" isn't actually a MIDI parameter; it's a derived value representing the elapsed time between the Note On and Off messages that humans find easier to interpret. It wouldn't work to send a single note event with a duration because that duration can't be known in advance when the source is a real-time performance on MIDI controller.

SONAR Platinum x64, 2x MOTU 2408/PCIe-424  (24-bit, 48kHz)
Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
#8
GeereMusic Inc.
Max Output Level: -90 dBFS
  • Total Posts : 14
  • Joined: 2015/10/27 13:50:27
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/18 20:51:45 (permalink)
Right.  
Thank you for taking the time to write such detailed replies.
Regards
 
#9
konradh
Max Output Level: -42 dBFS
  • Total Posts : 3325
  • Joined: 2006/01/16 16:07:06
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/19 09:36:34 (permalink)
A little different solution, but I highlight a region in track or staff view and insert a range of controllers so they start and end at beats or markers.  Same for pitch wheel.
 
Note that with pitch wheel, this technique adds too many events and I use a CAL script to thin out the events.
 
 
Once you have a region done, you can use copy/paste along with retrograde as needed to add them to other ranges (so pna back and forth or move pitch up and down in time with the sequence).
 
 

Konrad
Current album and more: http://www.themightykonrad.com/

Sonar X1d Producer. V-Studio 700. PC: Intel i7 CPU 3.07GHz, 12 GB RAM. Win 7 64-bit. RealGuitar, RealStrat, RealLPC, Ivory II, Vienna Symphonic, Hollywood Strings, Electr6ity, Acoustic Legends, FabFour, Scarbee Rick/J-Bass/P-Bass, Kontakt 5. NI Session Guitar. Boldersounds, Noisefirm. EZ Drummer 2. EZ Mix. Melodyne Assist. Guitar Rig 4. Tyros 2, JV-1080, Kurzweil PC2R, TC Helicon VoiceWorks+. Rode NT2a, EV RE20. Presonus Eureka.  Rokit 6s. 
#10
GeereMusic Inc.
Max Output Level: -90 dBFS
  • Total Posts : 14
  • Joined: 2015/10/27 13:50:27
  • Status: offline
Re: Quantizing MIDI Controller Data 2015/11/19 10:14:46 (permalink)
How interesting!  I'll have to try that.
Many thanks.
#11
Jump to:
© 2025 APG vNext Commercial Version 5.1