I think the answer is no, so this is probably a firmware suggestion. I can think of great applications for having your playing hands control more than they currently can by targeting velocity. Samples make a determination to trigger or not based on key range and velocity range. The suggestion to somehow limit the key range as a destination was suggested before a while back by someone dealing with wanting scenes to change the key ranges. Although that may work as well for the types of things I'd like to do - also velocity would work. If I could target the velocity offset (or scale) - then I could offset the offset with a control and make some elements trigger based on a controller (such as aftertouch). I know aftertouch and velocity presents a chicken/egg issue. The first note you strike with aftertouch is going to sound because aftertouch evaluation happens after the attack has already been triggered. I wouldn't mind tricks to enable, as a choice, delaying the evaluation of the velocity until after aftertouch is evaluated (maybe use the keyon-on delay of "1") - but this is secondary (lower priority to me).
I know XA can be used - but allowing velocity control (scaling) with offsets from control destinations would open up even more articulation choices.
What almost works is using key on delay (since it can be assigned as a destination). But there is no "infinite" setting - so notes still pop out when holding chords. The chicken/egg behavior happens on the first note - which is expected. If I set the initial key-on delay to be something higher than I think it would take to generate the offset with aftertouch - it'd be "nice" if the offset would apply retroactively since the key-on is delayed. It'd be nice to have the parameter open to offsets while in the key-on delay loop. This would allow perhaps tuning a delay that is playable during non-aftertouch playing (normal playing) and still able to evaluate aftertouch before the key-on event happens.
The end result would be 'something different happens when I dig in to the keyboard vs. not digging in". The vibes example where the mallet "mutes"/"muffles" the sound bar is one use. Setting up a sax performance where "digging in" will perhaps invoke the growl (instead of straight velocity) or maybe "digging in" will do something different like play key popping noises (the sound of closing pads on a sax which makes an approximate sound of that note - some players use these sounds in compositions/performances), or "digging in" triggers something else.
The difference between velocity gestures is that you can hold a note down (dug in) so aftertouch is still invoked and lightly play other notes - so you can get more dynamic range out of this potentially and without having to have a hand tied to the assignable switches for XA control.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Velocity is a really useful modulation source I think., I would love to have it modulate the parameters in the FM-X engine in particular, but there are loads of applications and sound-design areas where it comes in useful.
Here I am asking about velocity as a destination - because velocity ends up itself controlling ARP triggers, notes, etc - I'd like to be able to intercept velocity with an offset.
Velocity can already be indirectly used as a source since you can make velocity relate to volume on a PART's output. You can setup a PART so more velocity means more acoustic mass (louder as you play harder - the usual setup) or more velocity creates less acoustic mass (softer as you play harder). If you setup a PART which is monophonic and stable/flat - like an FM sine-wave - you can use this kind of PART as an acoustic mass generator. This can be its own PART that is assigned to no output so you do not hear the PART - its purpose is to generate values for mod control. The envelope follower is what translates acoustic mass to a number for mod control - so indirectly velocity can be used as a source. I've provided examples in the past of how to indirectly use velocity as a source and the envelope follower trick.- even in a thread you were active in:
https://www.yamahasynth.com/forum/note-number-as-mod-source
Because velocity has an indirect method of being a source - I'm not looking for that. I was seeing if I had overlooked a "trick" to make velocity a destination (to offset velocity). A dynamic velocity curve, if you will. I know ARPs can have specific velocities - but there's not a way to control the velocity of ARPs as a destination either. I think I've looked at the possibilities and came up with the short straw - but maybe something was overlooked.
In the grand scheme of things - even if there's "no way" to do this - I'm not asking for the feature being added either. Although I do believe there are uses for it in augmenting XA to get new articulation gestures - I still think its application is niche enough that it may not be justified to add it to the "real" list of things to work on. I personally have no gig that is waiting for this feature to materialize in order to get my job done.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Thanks for a great topic for discussion. My initial response (in another thread that was related) was to mention that although not in the Controller Matrix (Control Assign) box, velocity is applied throughout the synth engine, with customized parameter control for the block being influenced.
Let's start with the more familiar sampled based engine (AWM2), Velocity is applied not only in switching and crossfading between the audio involved, but to control pitch within the Oscillator block, to control timbre within the Filter block, and to control loudness within the Amplitude block.
PEG Time Velocity Sensitivity
PEG Depth Velocity Sensitivity
PEG Depth Velocity Sensitivity Curve
Cutoff Velocity Sensitivity
Resonance Velocity Sensitivity
FEG Time Velocity Sensitivity
FEG Time Velocity Sensitivity Segment
FEG Depth Velocity Sensitivity
FEG Depth Velocity Sensitivity Curve
Level Velocity Sensitivity
Level Velocity Sensitivity Offset
Level Velocity Sensitivity Curve
AEG Time Velocity Sensitivity
AEG Time Velocity Sensitivity Segment
Each of the parameter's ranges are designed for recreating musical instrument sounds and beyond, and significantly, velocity can be applied to specific points (segments) in the envelopes. Affording great flexibility to how Velocity input shapes the resulting sound. Velocity can be applied to lengthen or shorten a specific segment of the "envelope", allowing the programmer to radically change how velocity will influence the result.
Want velocity to deaden a Vibraphone sound? Apply the velocity to the Decay Segment of the AEG - additionally you may want that velocity to Mute the tone, you have separate control to supply velocity to Decay Segment of the Filter's envelope. (And significantly it does not use up a Source-Destination box in the Control Matrix). Apply it to both Attack+Decay for more flexible results.
I think once you see these dedicated controls and their potential, you will understand them as the kind of thing that is fundamental to sound construction... they are what make the sound behave as it does. They do not necessarily belong among the 16 Destinations per Part of the Control Matrix, they are fundamental to building playability into the Tone. I believe the decision to apply Velocity as it is in the Montage engine, gives the synth engine its personality...
now if we consider your idea of adding velocity as Source in the Control Assign area, it could only be practical by greatly increasing the size of the Control Assign area, because while the velocity->OSC PEG is rare, the other 11 velocity parameter destinations: velocity->Filter and velocity->Amplitude, are commonplace to the point of being ubiquitous.
I'm sure you'd want to simply add Velocity as Source (and leave all other parameters as they are) but I think the potential for setting up conflicts is too great - but say that all gets worked out - what is the payoff off doing it with the Control Box as setup versus the doing it on the E.G. Page of the block in question?
A close look at what you're given will be revealing, I think.
New, and yet not fully explored, is the ability to use the velocity applied to any of the Parts, via it output level, to be the source to create an envelope to trigger something within another Part. The Envelope Follower, by its nature, is a programmable device that can use the output signal generated by the velocity of striking the keys, or by the velocity output of an Arpeggiator phrase.
Velocity can be used to switch Arpeggio phrases... Velocity Zoning takes in how you apply velocity to various tasks. Bring in an arpeggiated phrases only when the Velocity Range requirement is met.
Aftertouch - over the years Yamaha (one of the originators of the functions) has implemented AT in many different configurations... and is tricky and mostly misunderstood by players... what they notice first is how it changes the feel (when placed on weighted Key actions) and those that love the piano weighted action windup being those who don't use AT. Hmmm.
But that's another discussion. SY99 AT could act as a Switch. You could use it to turn On something - as cool as this was some found it disturbing...
--- EDIT ---
Just read your post above, guess I was writing during your posting.
I know ARPs can have specific velocities - but there's not a way to control the velocity of ARPs as a destination either.
ARP VELOCITY is a dedicated realtime adjustable parameter Destination with its own dedicated front panel Knob. Does not need to be added to the Control Matrix as it has been apart of the engine since Motif XS/XF expanded the concept of the Arpeggiator. The "ARP Play FX" are realtime dynamic offsets you make to the ARP phrase data.
BM,
I'm aware of all the things you can do after the sample starts - and all the velocity related curves. I wanted to have full velocity range of two pairs of elements and switch between the two based off of a controller (aftertouch - but also allow for the other controllers). Using velocity within one element doesn't allow for loading a different waveform - and there are limitations to what can be done with velocity in terms of precision control. Use of velocity itself is "one way out" - but I'd like to be able to bias velocity dynamically so I can get "in the zone" of one velocity response vs. another.
The only way to play a sample that does not get impacted by future offsetting is to play a different element altogether (or you did point out - do math based on velocity - which has its issues - see below). XA does this - you push a switch and picks one set of elements or another - so you can "birth" a different sample with its own set of envelopes.
What I was trying to do was apply an offset that would change the sound of new samples and not modify existing ones. I outlined the EG mod of the vibes does will "cut off" a currently held chord when you start digging in.
So XA will work for this - I can hit a button and a currently held chord of sustaining notes will not be affected - and new piano key mashing can point to a new waveform which sounds different (a thud instead of ring). But the attempt was to offset velocity so I can use this as a "trick" to trigger a different sample - much like XA control - but have the "do I press the assignable switch this way or that" be more under the playing hands than tied to a left hand.
The sax/flute "key pop" example I would have aftertouch = 0 key up the normal fute/sax sound - giving the half the velocity range (0-64) for the flute or sax sounds - and then when dug in - aftertouch would also have a half range of velocity 65-127 for that sound. I can play left hand sustained chords and since aftertouch is channel - "dig in " with the chord hand and play lightly with the right hand to get softer key pop sounds all the way to mashing aggressively for louder pop sounds. Same goes for the vibe example. Having a split in velocity where you have one range of velocities do one thing - and another range do something else is hard to control when the second range you want soft to loud just like the 1st range. Becomes an unnatural way to switch between two sounds and still have suitable dynamic control over each. The "guard rails" would limit the velocity to 0-64 without aftertouch and 65-127 with aftertouch. Right now to use actual velocity is tricky to be sure you can really achieve those values by using the hands without any programming assist.
Your suggestions, in terms of triggering different elements, are all in the category of "too late" for this decision point. I'm guessing the suggestions for things which do not address the question means that there's not a way. Which is fine. It's important to have an understanding of what I'm after so there's not confusion or obfuscation for the other readers of what I'm after as a goal. As I said - it's fine if it cannot be done. But consider this for a future platform: Montage has lots and lots of options to control the sound after a sample has started. This is great - once the train is in motion we can coax something out of the sound. However, consider a few options on the "front end" of the sound (in terms of motion control) that allow for a few ways to affect which track the train is placed on before it starts. The only things that can make a different waveform get triggered are velocity and key range. Neither of these have any control/options at the motion control level so I cannot assign a pedal, mod wheel, aftertouch, or anything to dynamically trigger one sample or the other. I do have key range and velocity - velocity being the most "dynamic" thing - but it is also not very precise. I'd like to be able to put "guard rails" around my velocity so I can be sure to trigger one or the other sound and do this dynamically - meaning at different moments within a measure (or beats) able to do a gesture I know will make one sound or the other come out.
I was just looking to be able to add more to the arsenal than just velocity - because that's a hard beast for me to control and offsetting it would enable me to gain more predictable results with respect to triggering one sample or another in a dynamic (constantly evolving) way.
Arpeggios with a knob that cannot be controlled by foot controllers or offset by other things (such as aftertouch) present the same problem as XA control (tying the hand to an off-keyboard controller). So the fact that ARP velocity has a knob doesn't help. This is why I mentioned although I looked at ARPs as a way out - the lack of ARP parameters having destinations tied made this not work for what I was after.
I do go back to not making this a firmware request for the current generation. Hopefully I've at least been clear about how articulation control as a motion control (offset-able parameter, maybe XA itself - or just velocity which would accomplish the same thing) could open doors of affecting the "birth" of sounds as well as what we currently have in the maturity of sounds (shaping).
The rationale mainly because I do not want to affect currently playing (sustaining or held) notes and would like to more accurately tell montage to dynamically play one sample vs. another in the context of a single PART.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
I await the release of your keyboard. Let us know when you bring it to market.
I know it took some time to write up some options of alternative options to get something perhaps "in the ballpark". I am grateful for the time you dedicate and am sure the information will be of use to others.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R