Synth Forum

Notifications
Clear all

M8X - Level/Vel & Offset are computed BEFORE applying amp/level curve selection

1 Posts
1 Users
0 Likes
3 Views
 Toby
Posts: 284
Reputable Member
Topic starter
 

Interesting test results that seem to indicate the order of evaluation when using the Level/Vel and Offset parameters on the 'Amplitude -> Level / Pan' screen.

Refer to p.338 of the M operation doc to see the screen in question. The parameter descriptions, and related graphs, are on p.339 of the doc. 

I was trying to understand how the combination of the parameters and the selected curve were used to determine the mapping of the input velocity to the output velocity sent to the tone generator to control level.

The graphs show how Level/Vel and Offset are used in combination to define a linear line that maps an X velocity to a Y velocity. But those graphs don't include the curve or explain how that linear line mapping is used in combination with the curve to determine a final velocity value.

The questions it raised in my mind were:

1. are the graph and curve used at the same time to determine the output value? That is, is it even an issue?

2. is the curve mapping used first and then its output velocity the graph mapping?

3. is the graph mapping used first and then its output velocity fed to the curve mapping? 

My tests show that #3 is correct: velocity in -> graph velocity calc -> curve velocity calc -> velocity out (tone gen?)

The first thing I needed to know was whether it was even possible to determine the order, if any, in which the graph calcs and the curve calcs were applied.

Hypothesis #1 - the order could be determined by taking advantage of the fact that I could eliminate the effect of the curve by using curve #2 - a linear. That meant that the curve would then not modify the velocity at all and any observed velocity changes would be SOLELY due to the graph calculations.

Hypothesis #2 - Line C in the middle graph on p.339 defines a significant range of input values that produced no ouput at all and then a near vertical 'transition' to full output with only a small increase in input velocity. My tests show that line C (Level/Vel = +63) is actually vertical even though the graph doesn't show it that way.

Hypothesis #3 - curves #1 and #3 could be used to produce a fairly wide difference in velocity if the input velocity was 64. I reasoned that a switch between curves #1 and #3 should cause the curve output velocity to switch between ~48 and ~96.

With a positive velocity the curve calculations ALWAYS produce a positive velocity output but that is NOT true for the graph calculations.

1. Init Normal (AWM2)

2. Navigate to Amplitude -> Level / Pan screen

3. Set Level/Val = +63, Offset = 64, Curve = 2

4. Use MIDI-OX to send Note On with velocity 64 - hear the sound

5. Send Note On with velocity 63 - no sound

6. Set curve = 3

7. Send Note On at 63 - no sound

Conclusion - curve calculations are NOT performed first and then fed to the graph calculations. For an input velocity of 63 the #3 curve would compute an output velocity well above 64. As line C in the graph shows, and step #4 above confirmed, there will be sound if line C is used and the input velocity is 64 or more.

The graph calculation is being done first and, for input 63, computes an output of 0. The curve is then being fed a velocity of 0 producing an output of zero.

The Level/Vel parm defines the 'slope' of a line. As you increase the value the line rotates from A (value of 0) to C (value of +63). The pivot point is the top RIGHT corner. For negative values of Level/Vel the pivot point is the top LEFT corner.

The Offset parameter then shifts the line horizontally and, effectively, adds to the actual input value. If you input 5 then an offset of 17 is treated the same as if you had input 22 (5 + 17). There are no 'negative' offsets since there can be no negative velocities.

The curve you see is NOT the curve you will get if you involve the graph. It will get 'warped' by the linear mapping the parameters produce. If you knew the exact mapping each of the curves produces it would be possible to create a utility app that could show you what the resulting curve would look like when you modify Level/Vel and Offset.  

 
Posted : 02/10/2024 8:48 pm
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us