2022 our 25th year online!

Welcome to the Piano World Piano Forums
Over 3 million posts about pianos, digital pianos, and all types of keyboard instruments.
Over 100,000 members from around the world.
Join the World's Largest Community of Piano Lovers (it's free)
It's Fun to Play the Piano ... Please Pass It On!

SEARCH
Piano Forums & Piano World
(ad)
Who's Online Now
64 members (Bellyman, brennbaer, busa, Barly, 1957, btcomm, Animisha, 14 invisible), 2,018 guests, and 347 robots.
Key: Admin, Global Mod, Mod
Previous Thread
Next Thread
Print Thread
Hop To
Page 2 of 2 1 2
Joined: Jul 2010
Posts: 213
K
Full Member
Offline
Full Member
K
Joined: Jul 2010
Posts: 213
Originally Posted by Charles Cohen

1. The mapping of actual key velocity to MIDI "velocity" values;

2) The mapping of MIDI "velocity" values to the loudness of the generated sound.


This.

As I understand it corretly it works like this:

1. A key is pressed on the controller at a given force.
2. The sensors on the controller translate that to a velocity value. It has not to be between 0 and 127 because the controller internally can work with more resolution than MIDI.
3. The controller maps the velocity value to a MIDI velocity between 0-127. This mapping can be linear or not. Any kind of function can be applied here. Here is the point where the VPC touch curves are applied.
4. The MIDI note is send from the controller to the host computer and it reaches an application. Let's say it is a virtual piano.
5. The virtual piano takes the MIDI velocity and applies the curve for that particular preset. Some presets will have softer touches, some will have harder ones.
6. The sound is generated depending on the final value.

Is confusing because with any of the two transformations the other can be compensated, so as long as the user can edit one of the transformations it can set up the touch it wants.

The first transform can be used to tweak how hard / soft the controller is played, the second transform it's more the preset character (you don't want many dynamics in a clavichord, for instance), so that when the first transform is set up correctly, different presets will play well without the need of tweaking the curve in the software piano for each preset.

But if one likes to customize sounds, tweaking the curve in the sofware piano for each preset is the way to go.

Regards,
Kurt.-

Last edited by kurtie; 01/27/13 06:33 AM.
Joined: Apr 2009
Posts: 5,894
D
dmd Offline OP
5000 Post Club Member
OP Offline
5000 Post Club Member
D
Joined: Apr 2009
Posts: 5,894
Originally Posted by Macy
I think it is to adjust your keyboard response to the response used to create the software piano. That includes making sure your keyboard can actually output 0-127. So one velocity curve should work for all of the presets of any given piano.


BINGO ! We absolutely agree on that. That is my point, although apparently poorly delivered.

I, too, am trying to make the point that we should NOT have to keep changing the velocity curve for each preset and THEREFORE .... THEREFORE ... the option to change it should not be available within each preset. If the velocity curve is made available in order to account for the way different keyboards may vary in their MIDI signals, then it (the velocity curve) should be placed somewhere in a place where you modify it ONCE and then leave it alone.



Quote
Why are you changing the velocity curve for each preset?


Let's suppose, for a moment, that my keyboard does not send the complete range (0-127) of keypress velocities. If I wish to correct that, I have to change the velocity curve to accomodate that issue. AND ... because each preset presents me with a new, default velocity curve, I have to keep making that same change in every preset because the default velocity curve (for each preset) is not correct for my keyboard. That is my complaint, in a nutshell.


Now, if you do not change the velocity curve for each preset ... great. Apparently, the default velocity curve works fine for you keyboard. But, if you found that you could not get the proper dynamics with the default velocity curve ... you would have to modify the velocity curve. Then you would find yourself modifying it in every preset, also. Then, the folly of having the velocity curve in every preset would become more apparent.



Don

Kawai MP7SE, On Stage KS7350 keyboard stand, KRK Classic 5 powered monitors, SennHeiser HD 559 Headphones
Joined: Apr 2009
Posts: 5,894
D
dmd Offline OP
5000 Post Club Member
OP Offline
5000 Post Club Member
D
Joined: Apr 2009
Posts: 5,894
Originally Posted by kurtie
The first transform can be used to tweak how hard / soft the controller is played.


Ok, if I understand you correctly ... This first transform, of which you speak, is internal to the keyboard. It is the final attempt to make the keypresses into midi signals 0 - 127. I would suggest that this is up to the manufacturer to do properly. The only reason I can see for giving the user access to this is just in case the manufacturer did a poor job themselves.

Now, here is where it gets a little tricky ...

Pianoteq makes velocity curves available with keyboard names associated with them. If I have a Yamaha 640X, there is a velocity curve for it. If I have a Roland 505, there is a velocity curve for it.... etc ...

That being the case, it appears that Pianoteq has decided that various keyboards do not send the midi signals 0-127 properly and we must insert a velocity curve between that keyboard and their software in order for things to sound they way they intend. Otherwise, why put a keyboard name on the velocity curve ?

So, if that is the case, it would seem logical that we only should place that velocity curve into their software in a similar manner as a driver ... ONCE. Unless we change keyboards, the same velocity curve should work for every preset.

That is my complaint.

Quote
the second transform it's more the preset character (you don't want many dynamics in a clavichord, for instance)[quote]

We agree. Of course, the manufacture should already have built-in the lack of dynamics for the clavichord preset so the user should not have to do anything.


[quote]so that when the first transform is set up correctly, different presets will play well without the need of tweaking the curve in the software piano for each preset.


We agree again.

Quote
But if one likes to customize sounds, tweaking the curve in the sofware piano for each preset is the way to go.


Absolutely ... have at it. Enjoy.



Now ... I believe you understand and have described the process perfectly. And, in that process, you have described the need for two adjustments. The first to calibrate the keyboard so it sends standardized (0-127) midi signals AND the second to be completed within the each preset to allow the user to tweak the generated sound.

I have no problem with that.


The issue arises when I find that I need to make the first transform to the velocity curve. The only place I have to do that is within each preset. So, I end up having to put that same velocity curve into each one. That does not make sense to me.


Don

Kawai MP7SE, On Stage KS7350 keyboard stand, KRK Classic 5 powered monitors, SennHeiser HD 559 Headphones
Joined: Sep 2009
Posts: 14,439
Yikes! 10000 Post Club Member
Offline
Yikes! 10000 Post Club Member
Joined: Sep 2009
Posts: 14,439
dmd: I have Ivory 1.5. I don't use it anymore, but I remember that it has a SAVE function for the velocity curve. You can set the curve anyway you like, name it, and save it.

When loading any piano and any preset, if you don't like its velocity curve, you can replace it by loading your saved, named curve. Then you can save the preset knowing that your preferred curve will always come along with that preset.

This latter save must be done for each preset: Load the preset, load the curve, save the preset. But at least you don't have to create or re-create a curve each time.

This is not quite as good as what I think you want. But it aint bad.

It's too bad the the Galaxy pianos in Kontakt won't allow the curve to be saved separately from the presets.

Joined: Apr 2009
Posts: 5,894
D
dmd Offline OP
5000 Post Club Member
OP Offline
5000 Post Club Member
D
Joined: Apr 2009
Posts: 5,894
Originally Posted by MacMacMac
dmd: I have Ivory 1.5. I don't use it anymore, but I remember that it has a SAVE function for the velocity curve. You can set the curve anyway you like, name it, and save it.

When loading any piano and any preset, if you don't like its velocity curve, you can replace it by loading your saved, named curve. Then you can save the preset knowing that your preferred curve will always come along with that preset.

This latter save must be done for each preset: Load the preset, load the curve, save the preset. But at least you don't have to create or re-create a curve each time.

This is not quite as good as what I think you want. But it aint bad.

It's too bad the the Galaxy pianos in Kontakt won't allow the curve to be saved separately from the presets.


Absolutely. I don't have a real problem with doing it. I just would like to see the software designers acknowledge the need for a central place for inserting the velocity curve that is mean't to correct specific keyboard difficiencies.

Velocity curves within the presets can still be useful for users to adjust the sound of that particular preset.

Just give me a central place to enter the velocity curve for my keyboard so I don't have to keep inserting it every preset I use.

NOTE: The truth be known, I rarely (if ever) touch the velocity curves anymore. I just use the default curve and it seems to be fine.

I bring this up purely as a point of logic and I intend to make another run at Pianoteq to get them to acknowledge the need for that central velocity curve.



Now, on a related issue ... (I may have mentioned this previously)

The new Kawai VPC controller features the ability to assign a velocity curve which is designed to match the needs of 4 separate software packages, including Ivory II, Pianoteq, and others.

It appears that Kawai has put the velocity curve that should be in that central place within the software .... INSIDE ITS' MACHINE. That will work but seems backwards. But that is a topic for another day ...

Now, I need to take a nap ... I am exhausted. smile


Last edited by dmd; 01/27/13 10:21 AM.

Don

Kawai MP7SE, On Stage KS7350 keyboard stand, KRK Classic 5 powered monitors, SennHeiser HD 559 Headphones
Joined: Mar 2010
Posts: 856
M
500 Post Club Member
Offline
500 Post Club Member
M
Joined: Mar 2010
Posts: 856
dmd: I get it now. Sorry for being so slow.

Yes, I agree there should be a "global" velocity curve that applies to ALL the presets of any particular piano. It's purpose is to match the user's keyboard controller to the keyboard controller's velocity curve used by (or assumed by) the piano software manufacture. It should be "global" so it doesn't have to be entered for each preset of a given piano.

If the user wants to assign different velocity curves to different presets, for the purpose of modifying the characteristics of a particular preset, then that should also be an option (but not one that I would likely ever use for that purpose). A software piano like Ivory II allows the user to create velocity curves and name them so they can be quickly assigned (and saved) to separate presets to avoid entering the same velocity curve more than once. It does that in lieu of offering any "global" preset.

The reason I had such trouble understanding your point is that I use a separate program (between my MIDI input driver) and the piano software for the purpose of creating "global" velocity curves. I set the velocity curve in that program (which I wrote myself long ago - it's very versatile allowing blending of separate curves for multiple parts of the keyboard and manually/automatically remapping the velocities of individual notes, amongst a variety of other MIDI/audio correction/analysis features) so I just never use the velocity curves provided by software pianos and never experience the problem of having to load separate curves into separate presets.




Macy

CVP-409GP, Garritan CFX, Vintage D, Ivory II GP's & American Concert D, Pianoteq, True Keys American D, Ravenscroft 275, Garritan Authorized Steinway, Alicia's Keys, EWQL Pianos, MainStage, iPad Pro/forScore/PageFlip Cicada, Custom Mac MIDI/Audio Software Design, Macs Everywhere
Joined: Apr 2009
Posts: 5,894
D
dmd Offline OP
5000 Post Club Member
OP Offline
5000 Post Club Member
D
Joined: Apr 2009
Posts: 5,894
Originally Posted by Macy
dmd: I get it now. Sorry for being so slow


Oh, I am sure I had a lot to do with that. I did not present it as clearly as I might have.

Thank you for discussing it logically to the end. I feel better now that I have been able to confirm that my logic made sense. I have been trying, so far unsuccessfully, to get this point across to the folks at Pianoteq.



Quote
The reason I had such trouble understanding your point is that I use a separate program (between my MIDI input driver) and the piano software for the purpose of creating "global" velocity curves. I set the velocity curve in that program (which I wrote myself long ago - it's very versatile allowing blending of separate curves for multiple parts of the keyboard and manually/automatically remapping the velocities of individual notes, amongst a variety of other MIDI/audio correction/analysis features) so I just never use the velocity curves provided by software pianos and never experience the problem of having to load separate curves into separate presets.


You wrote this program yourself ? What language did you use to accomplish this ?


Last edited by dmd; 01/27/13 08:04 PM.

Don

Kawai MP7SE, On Stage KS7350 keyboard stand, KRK Classic 5 powered monitors, SennHeiser HD 559 Headphones
Joined: Jul 2010
Posts: 213
K
Full Member
Offline
Full Member
K
Joined: Jul 2010
Posts: 213
Originally Posted by dmd

That being the case, it appears that Pianoteq has decided that various keyboards do not send the midi signals 0-127 properly and we must insert a velocity curve between that keyboard and their software in order for things to sound they way they intend. Otherwise, why put a keyboard name on the velocity curve ?

So, if that is the case, it would seem logical that we only should place that velocity curve into their software in a similar manner as a driver ... ONCE. Unless we change keyboards, the same velocity curve should work for every preset.


I think I see your point. Yes, it would make sense having, in a software like Pianoteq, a global velocity curve applied to the MIDI input, and then a velocity curve for each one of the presets.

Regards,
Kurt.-

Joined: Apr 2009
Posts: 5,894
D
dmd Offline OP
5000 Post Club Member
OP Offline
5000 Post Club Member
D
Joined: Apr 2009
Posts: 5,894
Originally Posted by kurtie
Originally Posted by dmd

That being the case, it appears that Pianoteq has decided that various keyboards do not send the midi signals 0-127 properly and we must insert a velocity curve between that keyboard and their software in order for things to sound they way they intend. Otherwise, why put a keyboard name on the velocity curve ?

So, if that is the case, it would seem logical that we only should place that velocity curve into their software in a similar manner as a driver ... ONCE. Unless we change keyboards, the same velocity curve should work for every preset.


I think I see your point. Yes, it would make sense having, in a software like Pianoteq, a global velocity curve applied to the MIDI input, and then a velocity curve for each one of the presets.

Regards,
Kurt.-



GREAT !!! Another disciple ! LOL ...

Thank you for responding.



Don

Kawai MP7SE, On Stage KS7350 keyboard stand, KRK Classic 5 powered monitors, SennHeiser HD 559 Headphones
Joined: Mar 2010
Posts: 856
M
500 Post Club Member
Offline
500 Post Club Member
M
Joined: Mar 2010
Posts: 856
Originally Posted by dmd
Originally Posted by Macy
The reason I had such trouble understanding your point is that I use a separate program (between my MIDI input driver) and the piano software for the purpose of creating "global" velocity curves. I set the velocity curve in that program (which I wrote myself long ago - it's very versatile allowing blending of separate curves for multiple parts of the keyboard and manually/automatically remapping the velocities of individual notes, amongst a variety of other MIDI/audio correction/analysis features) so I just never use the velocity curves provided by software pianos and never experience the problem of having to load separate curves into separate presets.


You wrote this program yourself ? What language did you use to accomplish this ?


That particular program was written with Real Studio, because it is a cross-platform IDE for Mac and PC. But I never commercialized it, so I never wrote PC versions of the low-level MIDI/audio routines. Hence it only runs on Macs now.


Macy

CVP-409GP, Garritan CFX, Vintage D, Ivory II GP's & American Concert D, Pianoteq, True Keys American D, Ravenscroft 275, Garritan Authorized Steinway, Alicia's Keys, EWQL Pianos, MainStage, iPad Pro/forScore/PageFlip Cicada, Custom Mac MIDI/Audio Software Design, Macs Everywhere
Page 2 of 2 1 2

Link Copied to Clipboard
What's Hot!!
Piano World Has Been Sold!
--------------------
Forums RULES, Terms of Service & HELP
(updated 06/06/2022)
---------------------
Posting Pictures on the Forums
(ad)
(ad)
New Topics - Multiple Forums
Very Cheap Piano?
by Tweedpipe - 04/16/24 10:13 AM
Country style lessons
by Stephen_James - 04/16/24 06:04 AM
How Much to Sell For?
by TexasMom1 - 04/15/24 10:23 PM
Song lyrics have become simpler and more repetitive
by FrankCox - 04/15/24 07:42 PM
New bass strings sound tubby
by Emery Wang - 04/15/24 06:54 PM
Forum Statistics
Forums43
Topics223,386
Posts3,349,204
Members111,631
Most Online15,252
Mar 21st, 2010

Our Piano Related Classified Ads
| Dealers | Tuners | Lessons | Movers | Restorations |

Advertise on Piano World
| Piano World | PianoSupplies.com | Advertise on Piano World |
| |Contact | Privacy | Legal | About Us | Site Map


Copyright © VerticalScope Inc. All Rights Reserved.
No part of this site may be reproduced without prior written permission
Powered by UBB.threads™ PHP Forum Software 7.7.5
When you purchase through links on our site, we may earn an affiliate commission, which supports our community.