Topic: Some thoughts on velocity curves

Editing velocity curves is a great feature in Panoteq.

Currently, velocity curves are part of the presets, which are settings linked to virtual instruments. However, I think the velocity curve is not a setting of the virtual instrument but a characteristic of the MIDI keyboard used.

Well, maybe someone wants to fine-tune a virtual instrument and edit its velocity curve. In that case, we have in fact two velocity curves and they should be multiplied. First, the velocity curve of the MIDI keyboard and second, the velocity curve of the virtual instrument.

So, what I want to suggest is that Pianoteq introduces a MIDI keyboard specific velocity curve that can be set independent of the instrument presets. After all, after you have figured out the velocity curve of your MIDI keyboard, you don't want to copy that curve to copies of all the standard and custom instrument presets, do you ? And you don't want to do that again if you switch the MIDI keyboard or change your mind about the keyboard velocity curve, do you ?

Re: Some thoughts on velocity curves

You don't need to copy the velocity curve you make to every preset - just freeze it, and the velocity curve will be constant for all presets you load. Read about parameter freezing in the manual

Hard work and guts!

Re: Some thoughts on velocity curves

That’s a trick I wouldn't put into the category logical interface design. As I wrote, the velocity curve is not a setting of the virtual instrument but a characteristic of the MIDI keyboard used. That fact should be reflected in a logical and elegant user interface.

Re: Some thoughts on velocity curves

The freeze parameter seems logical to me?

All you need to ensure regarding your keyboard curve is that it doesn't reach fff to easily.
This is normally done by selecting 'hard touch' setting on your keyboard as most keyboards have this option.

I have been working on velocity curves for some time and while it is important to have a good range velocity curve within the keyboard, it is more important to be able to adapt the PianoTeq curve to optimize your dynamics/playing style. Most keyboards are pretty limited in what you can do with velocity adjusments on board. Some, such as my NUMA Nero allow greater control, but I don't yet know of any keyboard that would allow you to do what can be done with the software velocity curve facility within PianoTeq in terms of flexibility.

Hope this helps,

Regards.

Chris

Last edited by sigasa (18-06-2011 10:31)

Re: Some thoughts on velocity curves

Adriaan, I understand your point, but it can be useful to adjust the curve for a specific preset.

For example, say you want a really hard, powerful piano sound in a pop mix, without breaking your fingers playing flat out to get it (or the unevenness when you don't quite hit a particular note hard enough) - adjusting the curve can be helpful there.

Last edited by ReBased (04-07-2011 13:11)

Re: Some thoughts on velocity curves

Yes, it can be useful to adjust the velocity curve of a preset, occasionally, so this is a good feature. The point however is that the base velocity curve is part of the keyboard used, not of the performing instrument. Therefore, it has to be a separate setting in the software, attached to the keyboard. For the same reason, MIDI output must take the keyboard velocity curve into account (it currently doesn't). MIDI output should ignore the instrument velocity curve, of course.

Re: Some thoughts on velocity curves

Adriaan van Os wrote:

The point however is that the base velocity curve is part of the keyboard used, not of the performing instrument. Therefore, it has to be a separate setting in the software, attached to the keyboard.

Agreed - the correct solution is a global curve that matches the keyboard, and per-preset curves that act as offsets.  This way the presets will sound correct with any keyboard that has a matching global curve.

Last edited by ReBased (04-07-2011 15:46)

Re: Some thoughts on velocity curves

ReBased wrote:
Adriaan van Os wrote:

The point however is that the base velocity curve is part of the keyboard used, not of the performing instrument. Therefore, it has to be a separate setting in the software, attached to the keyboard.

Agreed - the correct solution is a global curve that matches the keyboard, and per-preset curves that act as offsets.  This way the presets will sound correct with any keyboard that has a matching global curve.

From what I understand, that would mean finding out the internal velocity curve of every midi keyboard out there. It 'could' be done, but do Modartt really have the time to contact every midi keyboard manufacturer and ask them to supply the details of the velocity curves of each of their midi keyboards. And how far do we go back? '90's? '80's?
Either that or Modartt would have to find a way of getting hold of one of every midi keyboard in existance and calibrating the global curves themselves!

Don't get me wrong, you are absolutely correct that the perfect global curve for each different board would have us 'playing' from the same hymn sheet, and in an ideal world, this would be absolutely brilliant, but the work involved would surely only serve to divert resources away from other areas of equal if not more importance?

Having said all this, I would love the perfect curve. I do see an alternative however. A step by step, easily undertsandable but comprehensive instruction guide that would anable anyone who wished to create their perfect curve to do so. I am aware that there are instructions on the forum, but I think perhaps they could be more detailed for those who wish to perfect their curve. As I've said somewhere before, I've been working on the velocity curve for a couple of years, extensively, and it has been a lot of hit and miss, satisfied then dissatisfied etc.. Part of the problem is the subjectivity issue. What sounds like pp to someone will almost certainly sound like p to someone else? It's kind of morpheus.

Also, I have a NUMA Nero which has a learning system for velocity curve creation which Fatar/Studiologic call 'YouPlay'. A similiar thing might be possible within the PianoTeq software - a velocity curve calibrator?

I really don't know what the answer is, but again, it could be done.

A very interesting thread for me.

Kind regards,

Chris

Re: Some thoughts on velocity curves

sigasa wrote:

From what I understand, that would mean finding out the internal velocity curve of every midi keyboard out there. It 'could' be done, but do Modartt really have the time to contact every midi keyboard manufacturer and ask them to supply the details of the velocity curves of each of their midi keyboards.

I didn't mean that Modartt should supply the curves, but that there should be two curves available that we can edit, a global one, and one per-preset.

You would use the global one to match your keyboard, but the per-preset one can be used for special effects (eg. the super-hard sounding patch).

The added bonus is that you can now share this patch, and as long as the recipient has set up a good global curve for his own keyboard, the patch will still sound & play correct.

Last edited by ReBased (04-07-2011 17:16)

Re: Some thoughts on velocity curves

Having said all this, I would love the perfect curve. I do see an alternative however. A step by step, easily undertsandable but comprehensive instruction guide that would anable anyone who wished to create their perfect curve to do so. I am aware that there are instructions on the forum, but I think perhaps they could be more detailed for those who wish to perfect their curve.

I agree, it's hard to get a good curve.  Or more precisely, it's not too hard to get a curve that plays well - but is it correct?  Does it respond like a real piano would?

Of course if you have a real piano to compare with, it gets easier - but I don't : /.

Re: Some thoughts on velocity curves

ReBased wrote:

Having said all this, I would love the perfect curve. I do see an alternative however. A step by step, easily undertsandable but comprehensive instruction guide that would anable anyone who wished to create their perfect curve to do so. I am aware that there are instructions on the forum, but I think perhaps they could be more detailed for those who wish to perfect their curve.

I agree, it's hard to get a good curve.  Or more precisely, it's not too hard to get a curve that plays well - but is it correct?  Does it respond like a real piano would?

Of course if you have a real piano to compare with, it gets easier - but I don't : /.

Neither do I! I don't think there is an easy answer ReBased. But what 'does' a real piano play like? Which model? which manufacturer? I think real pianos also play as diversely as keyboards! But there is the general 'feel' you get at a real piano isn't there?!

Last edited by sigasa (04-07-2011 17:26)

Re: Some thoughts on velocity curves

I think it would be a fantastic idea to have two velocity-curves, one in the "option-window" (that never be changed because of changing fxp) and one in the "preset-window" that follows the fxp.

Even if I select "velocity-curve" not to be changed, it changes when draging an fxp from finder to pianoteq (using pianoteq au-plugin in Mainstage), if there were two curves this would not be happening...

God Bless!

Re: Some thoughts on velocity curves

sigasa wrote:

Neither do I! I don't think there is an easy answer ReBased. But what 'does' a real piano play like? Which model? which manufacturer? I think real pianos also play as diversely as keyboards! But there is the general 'feel' you get at a real piano isn't there?!

Yeah, my thinking is that the mathematical model (which is based on a particular real piano) makes assumptions about what each velocity value means.  So there really is a 'correct' curve that plays that piano model realistically.

Last edited by ReBased (04-07-2011 17:37)

Re: Some thoughts on velocity curves

I believe your absolutely right about that. And I believe it's probably embedded in the midi keyboard(s) Modartt uses to create them!

Last edited by sigasa (04-07-2011 20:17)

Re: Some thoughts on velocity curves

My consideration about this interesting topic

First of all I agree on the fact that a velocity curve should be saved as a separate preset and act globally on every model (freezing can help but is not exactly the same thing). Usually every person plays on the same two or three keyboards and if owns a weighted one is probably the most used for pianoteq; so I could have my clavinova preset for studio playing and a couple of other preset if I carry lighter keyboards in live situations. So make sense to me that these presets are disconnected from sounds presets. I honestly don't see big utility of having another curve for preset (most master keyboards already let you use their logs global curves for softening or hardening the playing feel if ever needed).

Second: I think is impossible to match an acoustic dynamic response because of the different physics involved. On standard (non optical) midi keyboards the velocity is given by the time passed from the moment you start to press a key to the moment you reach the keybed. Because the force of a mass is proportional to its speed this can give us a quite good result. But in real piano action this proportion is much less linear. I'm not a physicist and I don't want to bother you but I'll give you an extreme situation to let you understand my thinking: imagine to start to play a key and stop halfway (I'm supposing a single simple action here like upright one, using a double escapement it gets even more different and complicated) then after a very short pause continue to press the key as hard as you can for the remaining travel. In acoustic piano you could reach at least a mf to f dynamic value while a midi keyboard will output a velocity value of 0 even if you strike it with an hammer. Probably it's not so common to reach this extreme result in normal playing but I think that in between situations are more common and contribute to the "dull" feeling of an electronic keyboard that outputs a value assuming perfect linear acceleration of the force applied to the key..

All this to say that the mathematical model must be in the midi keyboard, not in the software (PTQ in this case). I know there is a person around here that knows much more than me in this field

Re: Some thoughts on velocity curves

I assume also that the mechanics of the particular keyboard would also pay a large part? I can see what you mean about the keyboard is the 'controlling' element. The software merely 'responds' to the data it recieves from the keyboard. So no matter how 'lifelike' a keyboards action is, unless it has the supporting electronics/sensors/triggers/programming to support it, it's simply a nice feeling action, but without the abilty to produce a true playing experience.

This begs the question, is the VAX77 such a keyboard that DOES have the hardware/
electronics/software/programming to faithfully reproduce the grand piano experience faithfully? Other than the VAX I can't think of anything else that might? Only problem, where's the 88 note version if indeed it does?

Regards,

Chris

Last edited by sigasa (04-07-2011 22:22)

Re: Some thoughts on velocity curves

The problem with a "velocity curve attached to the keyboard" is that there is not only one...see this estimate of 900 possibilities for my Yamaha P80:

http://www.forum-pianoteq.com/viewtopic.php?id=1212

And on top of that, there is the piece played, the mood and physical state we are in and maybe the temperature of the room... (just kidding)

I don't think it is necessary to add any complexity beyond what is already a very powerful preset generating system, in my opinion.

If there was a perfect velocity curve for Sigasa's keyboard, don't you think he would have found it already after so many attempts? To me, the velocity curve is just another parameter to play with in creating a preset.

Re: Some thoughts on velocity curves

Not directly on topic, but given the discussion of adjusting velocity, I feel compelled to again mention this Windows-only program that lets you edit the velocity response of a keyboard note by note. Requires Midi-yoke, but the setup time is well worthwhile and the loading is transparent in a host once the initial setup is done if you create a template:

http://users.belgacom.net/gc813607/index.html

It greatly expands the possible variations in the response to velocity. Hard to believe, really, that this is the only program out there that can do what it can do.

Last edited by Jake Johnson (05-07-2011 04:14)

Re: Some thoughts on velocity curves

@Jake Johnson, I can see your extreme point about how key travel works differently in a real piano, and that a MIDI keyboard can't fully simulate it - but that's not really an issue most of the time, when keys are played in a straightforward way.

In that scenario, the measured speed of a MIDI key is related to the force applied to that key - but unfortunately there's no standard how that should translate to velocity values (that's a real shame, else all keyboards would output very similar data).

So the point of PT's velocity curve is to match that force curve (encoded as velocity) to the force expectations of the mathematical model.  When set correctly the curve can then get pretty close to the 'correct' key force for the model and give you a realistic response.

(of course there can be limitations, eg. if the keyboard doesn't send a note at all until you hit it really hard, the curve can't make up for that.  But if it gives a good velocity range from soft to hard, then you can adjust it correctly.)

As for the usefulness of a per-preset curve (as well as a global one), I gave an example.  Basically whenever you want to adjust the touch of a particular preset to (say) very hard or soft.  I realise not everybody needs to do this, but I've done it before to get a real hard sound without having to play too hard (just changing the hammer hardness for example is not the same, as a higher velocity affects all the parameters simultaneously).  Or just think of it as changing the keyboard on a particular piano - if you program (say) a beaten up upright, it might be fun to make the response more clunky?

Last edited by ReBased (05-07-2011 13:03)