• SONAR
  • MIDI Compressor, anybody?
2016/06/21 09:20:38
trevor@advantechdesign.com.au
Can anybody recommend a good MIDI Compressor plugin to use with Sonar? I am looking for something that can intelligently handle MIDI velocity (with threshold, ratio and gain).
 
I have a MIDI file where the dynamics of the performance are wide ranging, too wide ranging to get a good balanced mix over the entire performance. I know Cakewalk have the Velocity plugin, but to me its somewhat unintuitive in terms of knowing what it's actually doing.

There must be something good out there that works for MIDI?
 
Any ideas?
Thanks
 
2016/06/21 09:56:50
PilotGav
Can you "print" it to an Audio file? Then you can compress it as you usually would.
2016/06/21 10:03:34
trevor@advantechdesign.com.au
Thanks for your input and ideas. Yes, I could go to Audio and then compress that, but I like the idea of maintaining the flexibility that MIDI still gives me in this case.
 
I thought it would be simple to have an algorithm that works similar to the way an Audio Compressor works. The algorithm has thresholds and applies intelligent dynamic adjustment to values based on the note velocity information.

I don't want to adjust them by a 'fixed' percentage, but by dynamically controlling their velocity based on their range/distance 'outside' from an upper (or lower) threshold.

It's not impossible (at least for me) to draw a parallel between MIDI "Note Velocity" information and "Audio Loudness". Surely if one can apply a compressor to control dynamics to Audio, a similar concept could be used to control the dynamics of MIDI velocity data - of course using a tool designed for MIDI Data, not Audio.



2016/06/21 10:09:34
Keith Albright [Cakewalk]
I've done MIDI compression using a combination of velocity scale and offset.
Your  compression ratio is simply the scaling.  For 2:1, just scale by 50%.  Then make-up gain is the velocity Gain you add back in. 
 
You'll find the Scale Velocity command in the Process menu.  Here I have it set for a 2:1

 
It will likely be too soft after that so dial in the Gain knob on the MIDI or Instrument track to taste (if using the inspector) or the Gain slider in the track strip.
 
For example if your input range was velocities 20 - 80 and you'd like to bring up the values that are too soft, a 50% scale gives you 10 - 40, so add 40 back in on gain to get 50 - 80.
 
If on the other hand your louds are too hot, like 60 - 127 and you want to keep the lows where they are, then 60 - 127 will scale to 30 - 63, so add 30 gain to get you to 60 - 93.
 
But you don't really have to worry about the numbers too much, just adjust the gain to taste.
 
<Update>  Just saw your 2nd post where you want a dynamic adjustment based on distance from a threshold.  For that you'd likely need an MFX.  Or I suppose a cal script could be modified to accomplish something interesting.
 
Keith
 
 
2016/06/21 10:24:17
Jimbo 88
I have a quick, easy, down and dirty way of compressing midi.  In Piano Roll View I highlight the notes or section I need to compress...then grab the lowest velocity bar and scroll it slowly up.  As all the bars start to move up, some will hit the 127 high point and stop while the rest of the bars will continue to increase.  I eyeball how much compression (or distance between the loudest and the softest)...then drop all the velocities back into the range they started in.  
 
Granted it is not scientific and relies on eyeballing and trial and error,  but it works perfect for about 90% of the time I need it.  Otherwise I use the Edit>Select> By Filter (or cont+alt+F6)....but that ends up being a lot of tweaking and thought that I rarely have the patience to apply.  
2016/06/21 10:33:28
Cactus Music
I do what Jimbo does too. Works for most stuff. 
Is this a piano part? I discovered it by accident one day while editing a snare drum that was part of a multi drum track. I noticed if I highlighted the snare only the snare velocity bars were highlighted. cool. 
 
Basically with midi velocity if a track has either some notes way to loud or way to low it's pretty easy to use velocity scaling to squish it into a smaller range. but once you discover the piano roll trick you'll never use that. 
 
What your asking for is not really a compression. 
2016/06/21 11:13:28
Anderton
Check out Week 55 in Friday's Tip of the Week, which covers MIDI compression, limiting, and expansion.
2016/06/21 12:23:01
azslow3
Ultimate MIDI dynamic range manipulator:
http://www.azslow.com/index.php/topic,275.0.html
 
The curve for "MIDI Compressor" should look like the curve for audio compressors: https://en.wikipedia.org/wiki/Dynamic_range_compression
so:
* when the line is 45 degree from 0 to 127, there is no changes (1:1)
* other angle after some point means that point is "the threshold" and the ration depends from the angle
* the whole curve shifter up means then "gain" by that shift amount.
But in practice you can just draw what you want to make it sound "right" for you
 
 
MIDI has 127 possible values only, so that is not a big deal to draw exact required curve even pixel by pixel.
I can make a preset for my another (universal) MFX plug-in with threshold, ration and gain, but Velocity MFX is more intuitive and precise for the purpose (till you need multi-band MIDI compression...).
 
Do not forget to keep 0 (the very first point) as 0 to avoid side effects !
2016/06/22 03:33:24
Bassman002
Hi:)
 
There is a CAL Programm for compressing called C-MPLMIT.CAL, must be in your CAL Directory!
 
But AZSlows MFX PlugIn does his Job very well:)
 
Bassman.
 
2016/06/22 07:06:22
Enigmatic
Sonar has one built in, under midi fx called Cakewalk FX Midi Event Filter. I used it a lot when one of my keyboard keys was stuck on 127 full velocity. It's very useful and full of control


Actually im sorry... I used velocity plugin and it worked very well
12
© 2025 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account