By mxbdev
Sun Mar 30, 2014 11:32 am
dustymaestro wrote:Mxbdev, im going to gather some info from some old posts. Ill put in a thread as we can figure it out. I have read some really informative posts from Feline, Illiac, Blue Haze, MCSmooth, and yourself. Everybody is talking about gain structure, but has there own theory.
Could be useful, I've just approached it scientifically as best I could. I hevn't read everything out there about the topic.
dustymaestro wrote:The problem you describe is not getting a full dynamic response. I have read also that the gain structure effects how far you can turn a level up like the depth in mod matrix. For example you wont get a change in depth after +83.
If you wanted full dynamic response without going over 0 db, wouldnt you need tilt to be 0db at +100 in the depth field?
The issue is that the default problem sets the pads to be too sensitive. +34 tilt-velocity is a huge dynamic range. 42dB is the same as taking a sound, and doubling the volume, doubling again, a third time, fourth, fifth, sixth and finally seventh. This just isn't playable on the pads.
A tilt-velocity of +100 would be even worse, as you'd have a dynamic range of +/- 63dB! This means that if you had two hits one after the other with a tiny change in velocity of 3, one would be twice as loud!
The gain structure in my earlier post appears to hold, as does the hard cap at -3dB.
The places where you can change volume are:
- Program level
- Zone level
- Keygroup level
- Filter attenuation
- Multi level for the program
By default, all of these are set to 0dB, so they have no affect, except program level, which is set to -6dB. This is where my second graph comes into play.
If tilt-velocity was set to 0, then the sound will play at -9dB (total of -6dB for all the above, plus -3dB hard limit). If the relative amplitude increases above +6dB then it will be capped. The slope of the tilt-velocity=+34 is such that this limit is hit at a velocity of 83 as you mentioned. However, all third party sample libraries I have seen set this to much lower value as a +/-21dB relative amplitude is not playable.
Halving the tilt-velocity value to +17 gives a maximum boost of +10dB, and effectively limits at a velocity of 100.
It is my current understanding that tilt-velocity always is based around a value of 0dB gain at velocity 63, and the gain can be calculated as follows.
Code: Select all
Gain= (tilt-velocity / 100) * (absolute velocity - 63)
Some examples:
- tilt-velocity = 34
- abs. velocity = 63
- therefore: gain = (34/100) * (63-63) = 0dB
- tilt-velocity = 34
- abs. velocity = 127
- therefore: gain = (34/100) * (127-63) = 21.8dB
- tilt-velocity = 34
- abs. velocity = 10
- therefore: gain = (34/100) * (10-63) = -18dB
Therefore I have decided for all of my programs to start by picking a reasonable tilt-velocity (usually ~17), use the above formula to find the maximum gain from velocity (~11dB for tv=17) and shifting the program level to this amount (-11dB). The end result is that a hit of 127 should go though the program and out to the multi at a level of 0dB.
I really hope this is clear, like I said, it's easier to explain with a graph!
