T.R | Title | User | Personal Name | Date | Lines |
---|
270.1 | Sensitivity vs Sensitive | RSTS32::DBMILLER | Formerly GROK::MILLER | Wed Mar 12 1986 14:17 | 17 |
| I believe that velocity sensitivity in this case is used to indicate
the player's normal velocity. Some people really bang on their
keys while others maintain a lighter overall touch. A lower
velocity sensitivity would mean that the person who banged on their
keys would get the full effect if not reduced. A higher sensitivity
would mean that a person with a light touch would have it 'translated'
to a heavier attack.
Someone who is used to a non-sensitive keyboard would probably have
a soft touch, and would have difficulty when first playing a keyboard
that was velocity sensitive.
Hope that was comprehensible. A Mirage has 63 settings of velocity
sensitivity, and the default value is 30, or what they claim to
be an 'average' touch.
-Dave
|
270.2 | A Conjectural Elaboration | ERLANG::FEHSKENS | | Wed Mar 12 1986 16:58 | 53 |
| Let me try to restate what I think Dave was saying (I think he's
right) - An actual velocity (time to move the key from rest position
to fully depressed) must be mapped onto the 128 values that the
MIDI spec defines to encode velocity. Let's call the key velocity
K and the resultant MIDI velocity M. The set of values assumed by
K depends on the physical construction of the keyboard and the player's
strength. The set of values assumed by M is defined by MIDI to
be 0..127 (decimal radix throughout). (M=0 is defined by MIDI to
mean "note off".) Mapping K onto M (linearly) requires that at least
two points be defined; call them (Kmin, Mmin) and (Kmax, Mmax).
Mmin and Mmax are defined by MIDI to be 1 and 127 respectively.
Kmin is defined arbitrarily by the keyboard designer. Too low a
value and the keyboard might have to wait several seconds before
emitting a sound. I assume they define it so the keyboard feels
responsive to a light touch. "Lighter" touches don't get you anything
other than slower keyboard response. E.g., if I strike the key
REAL slow, I get the same MIDI velocity (Mmin), it just takes longer for
the key to realize it's been struck. (Some velocity sensitive MIDI
controllers do in fact allow the user to define Mmin different from
1 - e.g., the Roland Octapad - see my review elsewhere in this
conference.)
OK, now we can map K to M:
M = Mmin + (K-Kmin)*(Mmax-Mmin)/(Kmax-Kmin)
This is a straightforward linear interpolation. We can rearrange
all of this stuff and fold constants together to get something that
looks like:
M = C1*K + C2
The velocity parameter you select from the front panel probably
picks values of C1 and C2.
Now, real implementations probably don't want to do a multiply on
each key event, and if ROM is cheap you just do a table lookup instead:
M = T[V,K]
with T being the lookup table and V the value of the velocity parameter
selected from the front panel. The granularity of K can be
surprisingly coarse - many experiments indicate that real musicians
(pros too) can in practice only articulate a handful of distinguishable
dynamic levels. Let's be generous and cover everything from pppp
to ffff with mp and mf thrown in for good measure. That's 10 (!)
distinct values. Round it up to 32; then T only needs 256 bytes
of memory (32 dynamic values measured * 8 parameter values at 1
byte per entry).
I'll admit that I'm winging it here - I don't know if this is how
a synth really does it.
|
270.3 | Further Elaboration | ERLANG::FEHSKENS | | Thu Mar 13 1986 09:05 | 7 |
| One more thing - the table lookup approach allows you to do a nonlinear
mapping, if such turns out to be useful. The subscript calculation
can be made arbitrarily cheap if the range of each index is a power
of 2 (e.g., 8 and 32), as the byte offset into the table can be
calculated by a shift and inclusive or, much faster than a multiply
and add.
|
270.4 | I think I understand it now... | BARTOK::ARNOLD | John E. Arnold | Fri Mar 14 1986 12:47 | 38 |
| After reading the 2 responses to the original note, I went back and
read the review and the DW-8000 brochure. Now it makes more sense...
It appears that the sensitivity setting is somewhat related to these
explanations but not exactly. From a graph in the brochure, it becomes
apparent that a setting of 7 (on the 0-7 scale) lets the keyboard respond
to touch with the maximum difference of velocity or timbre (since there's
a velocity sensitivity setting for each of the VCA and VCF). In the
following examples, I'll presume we're talking about volume differences.
example: setting 7
__________ <==== volume when max. velocity detected
/ \
/____________\ <==== volume when min. velocity detected
_____/ \_____________
As the value of the parameter is reduced, this picture converges
toward the middle. That is, the "fast" attacks sound softer and the
"slow" attacks sound louder than at a highr setting. I presume that at a
setting of 0, all keys are sensed at the same volume regardless of
velocity. (I think this convergence is the "feature" that the Keyboard
reviewer said might strike some people as odd.)
Therefore, an example of setting 0:
____________
/ \ <==== volume when any velocity detected
_____/ \_____________
I think this makes sense as an explanation of what those parameters
do. With a setting like this on my PF-15, I could make the harpsichord
sounds not be velocity-sensitive like they are now! Thanks for the help.
- John -
|
270.5 | Other Velocity Effects | ERLANG::FEHSKENS | | Fri Mar 14 1986 13:55 | 13 |
| Note that there's two things going on here - one is how the keyboard
maps actual velocity to MIDI velocity, and the other is what the
synth does with that MIDI velocity information. Fancier synths
will allow you to affect other voice parameters besides overall
volume. E.g., higher velocities may result in shorter envelope times,
especially faster attacks. Higher velocity may also open up the
filter more, causing the sound to be "brighter" or have higher harmonic
content. The most capable synth in this regard that i am aware
of is the Oberheim expander and the Matrix 12 and matrix 6 synths
that adopted the expander's technology.
len.
|