Topic: Some results with Kawai NV10

This isn’t a question really. It’s me sharing a few of the hard-work / experimental results I’ve got. After I’ve introduced myself, I will give you some Velocity Curves and bits of general advice related to using a Kawai NV10 as the keyboard for Pianoteq.

Just before I go any further, remember that you can Copy / Paste the Curve sets I have given below into Pianoteq; you don’t have to type in numbers.

I am an ex-pro classical pianist. I no longer have an acoustic piano but I do have “neighbours” and they don’t like “classical music” (or many other things, truth be told). My sole interest is in getting a high quality normal acoustic grand piano emulation with high quality headphones from a Kawai NV10. I’m not interested in heritage / wacky / weird stuff.

I quickly dismissed the Kawai’s internal voices as useless because of their limited dynamic range (ff .. fff only)

The biggest problem I’ve had to solve with Pianoteq is getting the FULL dynamic range smoothly from ppp to fff without any “sudden” jumps. (I found that setting the Dynamics value too high tended to cause that).

Obviously the main variable here is the keyboard velocity curve. To get this right you have to know exactly what touch response curve the Keyboard is going to send to Pianoteq. To measure this, I built a home-made key-energy calibration gadget which allowed me to measure the MIDI values generated by dropping a known weight (metal rod) from various known heights onto a key. I could calculate the energy with which the metal test rod hit the keys easily as Energy in Joules = Mass * Gravity * Height. However, we don’t really need the energy values themselves here; just the height will do (since the Mass and Gravity are both constants, the height alone can give you a valid relative set of values to work with).

I set the Kawai key touch curve to the default diagonal line first.
ppp    pp    p    mp    mf    f    ff    fff
14    28    42    56    71    85    99    113

I did the tests several times on each of several keys and then average/guessed the best-fit values to eliminate maverick values / outliers and smooth the resulting curve a bit

I guessed that the Kawai would be outputting a roughly logarithmic curve and indeed, it does. The key word here is “roughly”.  Here is a table of one of the results:

The top row is the height in cm that I dropped the weight from.
The bottom row is the Midi value from the Kawai (shown by Pianoteq).

H cm   0.5 1    2    3    4    5    6    7    8    9    10    11    12    20
Midi       2     28    41    70    82    99    103    105    108    109    111    112    113    117
                                                       
The values for 2 and 4 are way out of line with the rest. I left them out and fed the remaining values into Maple and asked it to do a logarithmic fit. The pure log-fit function for the reduced set is:
32.3093037494015 + 34.1056973560305 * ln(t). It’s quite a “rough” fit !

However, the next step is to find an inverse function that Pianoteq can use to undo this curve and give you a smooth dynamic straight-line response. This is easy to work out and gives:
7 * (exp((n - 32.3)/34.1)). Where n is the Midi value from the Kawai. (The factor 7 converts the scaled energy value 0.5 .. 20 to “roughly” 7 bit range.)

Taking 13 points along the received Midi values range:

Midi value    10    20    30    40    50    60    70    80    90    100    110    120   
Convert to    3.6    4.9    6.5    8.8    11.7    15.8    21    28.4    38    50.8    68    92   
Round to            4    5    6    9    12    16    21    28    38    51    68    92   

This produces the basic Pianoteq curve values:

Velocity = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120; 4, 5, 6, 9, 12, 16, 21, 28, 38, 51, 68, 92]

These values then need adjusting to the real world to allow for:
a) errors in the original energy curve data
b) the error of the log-fit curve on the original data
c) the arbitrary force / bit range multiplier of “roughly” 7

Playing with several presets from the Grotrian and Bluthner set, I found the following Velocity curves gave very good results:

Bluthner
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 114]
Dynamics 42
Vol -7.5

Grotrian
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 113]
Dynamics 40
Vol -10


Grotrian
Velocity = [1, 53, 63, 68, 73, 78, 83, 88, 93, 98, 103, 108, 112; 0, 1, 4, 7, 11, 16, 22, 31, 40, 53, 67, 87, 110]
Dynamics 39
Vol -10

Before I did all this calculation stuff, I did manage to get some quite convincing Velocity curves just by ear and experiment, but actually calculating a proper exponential curve and then munging that to sound good has given me a really nice, acoustic-piano-like dynamic range from the Kawai Keyboard. I’m glad I made the effort. It’s much better.

The two most vital other factors that come in are the Dynamics and Volume settings. The Dynamics settings I found are pretty non-negotiable at around 39 .. 42. I know it’s tempting to crank the Dynamics up and enjoy a billion db of dynamic range but the higher you go above about 42 the worse and less smooth the actual dynamic ramp gets; you find that two adjacent notes played with pretty well exactly the same force produce wildly different volumes and that is pants! The Volume settings, on the other hand, are obviously down to personal taste.

I found that once I had got a few real-life Velocity curves, I didn’t need to play with things like the hammer hardness so much – or even at all. I always set hammer / pedal noise to zero.

I did find that I had to play around a little with the dynamics of certain ranges of notes in the note-edit section of Pianoteq but not as much as I did before.

Another important thing in getting the feel of a real acoustic piano is the response of the Sustainer pedal. I did the bit-of-cardboard munge to the sustainer on my NV10 the day after it arrived – the huge dead-zone at the top of the pedal response was absolutely unacceptable. I simply followed the instruction in a YouTube video I found to do this.

The best sustain pedal curve seems to be:
Sustain Velocity = [0, 1, 4, 32, 55, 82, 98, 111, 127; 0, 43, 86, 93, 100, 109, 119, 126, 127]

I use a SoundBlaster unit to drive my headphones (DX300 Pro circa £270). I found that it’s best to simply disable all the clever stuff it can do and use it as an amplifier and headphone driver.

I have a very fast, 15-core Windows Tower running Pianoteq so I have been able to set all the sample rates and polyphony etc. as fast as possible.

I would love to dump the headphones and play around with getting real acoustic piano sounds using the Kawai’s internal speakers driven from Pianoteq but I would finish up having to murder my neighbours, so it’s not going to happen any time soon.

I have put a Bluthner-based preset in the fxp area of this forum that you might like to play with. 2024_03_18_Kawai_NV10_BlüthnerPlayer_H

Re: Some results with Kawai NV10

yeq30 wrote:

This isn’t a question really. It’s me sharing a few of the hard-work / experimental results I’ve got. After I’ve introduced myself, I will give you some Velocity Curves and bits of general advice related to using a Kawai NV10 as the keyboard for Pianoteq.

Just before I go any further, remember that you can Copy / Paste the Curve sets I have given below into Pianoteq; you don’t have to type in numbers.

I am an ex-pro classical pianist. I no longer have an acoustic piano but I do have “neighbours” and they don’t like “classical music” (or many other things, truth be told). My sole interest is in getting a high quality normal acoustic grand piano emulation with high quality headphones from a Kawai NV10. I’m not interested in heritage / wacky / weird stuff.

I quickly dismissed the Kawai’s internal voices as useless because of their limited dynamic range (ff .. fff only)

The biggest problem I’ve had to solve with Pianoteq is getting the FULL dynamic range smoothly from ppp to fff without any “sudden” jumps. (I found that setting the Dynamics value too high tended to cause that).

Obviously the main variable here is the keyboard velocity curve. To get this right you have to know exactly what touch response curve the Keyboard is going to send to Pianoteq. To measure this, I built a home-made key-energy calibration gadget which allowed me to measure the MIDI values generated by dropping a known weight (metal rod) from various known heights onto a key. I could calculate the energy with which the metal test rod hit the keys easily as Energy in Joules = Mass * Gravity * Height. However, we don’t really need the energy values themselves here; just the height will do (since the Mass and Gravity are both constants, the height alone can give you a valid relative set of values to work with).

I set the Kawai key touch curve to the default diagonal line first.
ppp    pp    p    mp    mf    f    ff    fff
14    28    42    56    71    85    99    113

I did the tests several times on each of several keys and then average/guessed the best-fit values to eliminate maverick values / outliers and smooth the resulting curve a bit

I guessed that the Kawai would be outputting a roughly logarithmic curve and indeed, it does. The key word here is “roughly”.  Here is a table of one of the results:

The top row is the height in cm that I dropped the weight from.
The bottom row is the Midi value from the Kawai (shown by Pianoteq).

H cm   0.5 1    2    3    4    5    6    7    8    9    10    11    12    20
Midi       2     28    41    70    82    99    103    105    108    109    111    112    113    117
                                                       
The values for 2 and 4 are way out of line with the rest. I left them out and fed the remaining values into Maple and asked it to do a logarithmic fit. The pure log-fit function for the reduced set is:
32.3093037494015 + 34.1056973560305 * ln(t). It’s quite a “rough” fit !

However, the next step is to find an inverse function that Pianoteq can use to undo this curve and give you a smooth dynamic straight-line response. This is easy to work out and gives:
7 * (exp((n - 32.3)/34.1)). Where n is the Midi value from the Kawai. (The factor 7 converts the scaled energy value 0.5 .. 20 to “roughly” 7 bit range.)

Taking 13 points along the received Midi values range:

Midi value    10    20    30    40    50    60    70    80    90    100    110    120   
Convert to    3.6    4.9    6.5    8.8    11.7    15.8    21    28.4    38    50.8    68    92   
Round to            4    5    6    9    12    16    21    28    38    51    68    92   

This produces the basic Pianoteq curve values:

Velocity = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120; 4, 5, 6, 9, 12, 16, 21, 28, 38, 51, 68, 92]

These values then need adjusting to the real world to allow for:
a) errors in the original energy curve data
b) the error of the log-fit curve on the original data
c) the arbitrary force / bit range multiplier of “roughly” 7

Playing with several presets from the Grotrian and Bluthner set, I found the following Velocity curves gave very good results:

Bluthner
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 114]
Dynamics 42
Vol -7.5

Grotrian
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 113]
Dynamics 40
Vol -10


Grotrian
Velocity = [1, 53, 63, 68, 73, 78, 83, 88, 93, 98, 103, 108, 112; 0, 1, 4, 7, 11, 16, 22, 31, 40, 53, 67, 87, 110]
Dynamics 39
Vol -10

Before I did all this calculation stuff, I did manage to get some quite convincing Velocity curves just by ear and experiment, but actually calculating a proper exponential curve and then munging that to sound good has given me a really nice, acoustic-piano-like dynamic range from the Kawai Keyboard. I’m glad I made the effort. It’s much better.

The two most vital other factors that come in are the Dynamics and Volume settings. The Dynamics settings I found are pretty non-negotiable at around 39 .. 42. I know it’s tempting to crank the Dynamics up and enjoy a billion db of dynamic range but the higher you go above about 42 the worse and less smooth the actual dynamic ramp gets; you find that two adjacent notes played with pretty well exactly the same force produce wildly different volumes and that is pants! The Volume settings, on the other hand, are obviously down to personal taste.

I found that once I had got a few real-life Velocity curves, I didn’t need to play with things like the hammer hardness so much – or even at all. I always set hammer / pedal noise to zero.

I did find that I had to play around a little with the dynamics of certain ranges of notes in the note-edit section of Pianoteq but not as much as I did before.

Another important thing in getting the feel of a real acoustic piano is the response of the Sustainer pedal. I did the bit-of-cardboard munge to the sustainer on my NV10 the day after it arrived – the huge dead-zone at the top of the pedal response was absolutely unacceptable. I simply followed the instruction in a YouTube video I found to do this.

The best sustain pedal curve seems to be:
Sustain Velocity = [0, 1, 4, 32, 55, 82, 98, 111, 127; 0, 43, 86, 93, 100, 109, 119, 126, 127]

I use a SoundBlaster unit to drive my headphones (DX300 Pro circa £270). I found that it’s best to simply disable all the clever stuff it can do and use it as an amplifier and headphone driver.

I have a very fast, 15-core Windows Tower running Pianoteq so I have been able to set all the sample rates and polyphony etc. as fast as possible.

I would love to dump the headphones and play around with getting real acoustic piano sounds using the Kawai’s internal speakers driven from Pianoteq but I would finish up having to murder my neighbours, so it’s not going to happen any time soon.

I have put a Bluthner-based preset in the fxp area of this forum that you might like to play with. 2024_03_18_Kawai_NV10_BlüthnerPlayer_H

Thank you for sharing. Quite a methodic and rigorous approach ! Just a question regarding your measurement in the low velocities. Without any adjustment , how easy can you consistently generate velocity between let's say 8 and 28 on the NV10 with linear standard settings ?

Re: Some results with Kawai NV10

Pianistically wrote:
yeq30 wrote:

This isn’t a question really. It’s me sharing a few of the hard-work / experimental results I’ve got. After I’ve introduced myself, I will give you some Velocity Curves and bits of general advice related to using a Kawai NV10 as the keyboard for Pianoteq.

Just before I go any further, remember that you can Copy / Paste the Curve sets I have given below into Pianoteq; you don’t have to type in numbers.

I am an ex-pro classical pianist. I no longer have an acoustic piano but I do have “neighbours” and they don’t like “classical music” (or many other things, truth be told). My sole interest is in getting a high quality normal acoustic grand piano emulation with high quality headphones from a Kawai NV10. I’m not interested in heritage / wacky / weird stuff.

I quickly dismissed the Kawai’s internal voices as useless because of their limited dynamic range (ff .. fff only)

The biggest problem I’ve had to solve with Pianoteq is getting the FULL dynamic range smoothly from ppp to fff without any “sudden” jumps. (I found that setting the Dynamics value too high tended to cause that).

Obviously the main variable here is the keyboard velocity curve. To get this right you have to know exactly what touch response curve the Keyboard is going to send to Pianoteq. To measure this, I built a home-made key-energy calibration gadget which allowed me to measure the MIDI values generated by dropping a known weight (metal rod) from various known heights onto a key. I could calculate the energy with which the metal test rod hit the keys easily as Energy in Joules = Mass * Gravity * Height. However, we don’t really need the energy values themselves here; just the height will do (since the Mass and Gravity are both constants, the height alone can give you a valid relative set of values to work with).

I set the Kawai key touch curve to the default diagonal line first.
ppp    pp    p    mp    mf    f    ff    fff
14    28    42    56    71    85    99    113

I did the tests several times on each of several keys and then average/guessed the best-fit values to eliminate maverick values / outliers and smooth the resulting curve a bit

I guessed that the Kawai would be outputting a roughly logarithmic curve and indeed, it does. The key word here is “roughly”.  Here is a table of one of the results:

The top row is the height in cm that I dropped the weight from.
The bottom row is the Midi value from the Kawai (shown by Pianoteq).

H cm   0.5 1    2    3    4    5    6    7    8    9    10    11    12    20
Midi       2     28    41    70    82    99    103    105    108    109    111    112    113    117
                                                       
The values for 2 and 4 are way out of line with the rest. I left them out and fed the remaining values into Maple and asked it to do a logarithmic fit. The pure log-fit function for the reduced set is:
32.3093037494015 + 34.1056973560305 * ln(t). It’s quite a “rough” fit !

However, the next step is to find an inverse function that Pianoteq can use to undo this curve and give you a smooth dynamic straight-line response. This is easy to work out and gives:
7 * (exp((n - 32.3)/34.1)). Where n is the Midi value from the Kawai. (The factor 7 converts the scaled energy value 0.5 .. 20 to “roughly” 7 bit range.)

Taking 13 points along the received Midi values range:

Midi value    10    20    30    40    50    60    70    80    90    100    110    120   
Convert to    3.6    4.9    6.5    8.8    11.7    15.8    21    28.4    38    50.8    68    92   
Round to            4    5    6    9    12    16    21    28    38    51    68    92   

This produces the basic Pianoteq curve values:

Velocity = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120; 4, 5, 6, 9, 12, 16, 21, 28, 38, 51, 68, 92]

These values then need adjusting to the real world to allow for:
a) errors in the original energy curve data
b) the error of the log-fit curve on the original data
c) the arbitrary force / bit range multiplier of “roughly” 7

Playing with several presets from the Grotrian and Bluthner set, I found the following Velocity curves gave very good results:

Bluthner
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 114]
Dynamics 42
Vol -7.5

Grotrian
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 113]
Dynamics 40
Vol -10


Grotrian
Velocity = [1, 53, 63, 68, 73, 78, 83, 88, 93, 98, 103, 108, 112; 0, 1, 4, 7, 11, 16, 22, 31, 40, 53, 67, 87, 110]
Dynamics 39
Vol -10

Before I did all this calculation stuff, I did manage to get some quite convincing Velocity curves just by ear and experiment, but actually calculating a proper exponential curve and then munging that to sound good has given me a really nice, acoustic-piano-like dynamic range from the Kawai Keyboard. I’m glad I made the effort. It’s much better.

The two most vital other factors that come in are the Dynamics and Volume settings. The Dynamics settings I found are pretty non-negotiable at around 39 .. 42. I know it’s tempting to crank the Dynamics up and enjoy a billion db of dynamic range but the higher you go above about 42 the worse and less smooth the actual dynamic ramp gets; you find that two adjacent notes played with pretty well exactly the same force produce wildly different volumes and that is pants! The Volume settings, on the other hand, are obviously down to personal taste.

I found that once I had got a few real-life Velocity curves, I didn’t need to play with things like the hammer hardness so much – or even at all. I always set hammer / pedal noise to zero.

I did find that I had to play around a little with the dynamics of certain ranges of notes in the note-edit section of Pianoteq but not as much as I did before.

Another important thing in getting the feel of a real acoustic piano is the response of the Sustainer pedal. I did the bit-of-cardboard munge to the sustainer on my NV10 the day after it arrived – the huge dead-zone at the top of the pedal response was absolutely unacceptable. I simply followed the instruction in a YouTube video I found to do this.

The best sustain pedal curve seems to be:
Sustain Velocity = [0, 1, 4, 32, 55, 82, 98, 111, 127; 0, 43, 86, 93, 100, 109, 119, 126, 127]

I use a SoundBlaster unit to drive my headphones (DX300 Pro circa £270). I found that it’s best to simply disable all the clever stuff it can do and use it as an amplifier and headphone driver.

I have a very fast, 15-core Windows Tower running Pianoteq so I have been able to set all the sample rates and polyphony etc. as fast as possible.

I would love to dump the headphones and play around with getting real acoustic piano sounds using the Kawai’s internal speakers driven from Pianoteq but I would finish up having to murder my neighbours, so it’s not going to happen any time soon.

I have put a Bluthner-based preset in the fxp area of this forum that you might like to play with. 2024_03_18_Kawai_NV10_BlüthnerPlayer_H

Thank you for sharing. Quite a methodic and rigorous approach ! Just a question regarding your measurement in the low velocities. Without any adjustment , how easy can you consistently generate velocity between let's say 8 and 28 on the NV10 with linear standard settings ?


Very good question. It was nearly impossible. The values varied widely in the bottom region. The slope of the Kawai's curve there is darned nearly vertical, all the way from 0 to about 50. What I did was loads of tests with a height of 0.5 cm then looked at the rest of the curve and did a pencil-best-fit. I actually doubt if the Kawai Keyboard is reliably / repeatably accurate below values of 50. However, on the bright side, this doesn't actually matter much as that region is right at the bottom of the human force-perception range. I don't think a human could reliably / repeatably play a value of, say, 16 or something. The important part of the curve starts at about 50 and that is where the Kawai starts to talk sense.

Re: Some results with Kawai NV10

yeq30 wrote:
Pianistically wrote:
yeq30 wrote:

This isn’t a question really. It’s me sharing a few of the hard-work / experimental results I’ve got. After I’ve introduced myself, I will give you some Velocity Curves and bits of general advice related to using a Kawai NV10 as the keyboard for Pianoteq.

Just before I go any further, remember that you can Copy / Paste the Curve sets I have given below into Pianoteq; you don’t have to type in numbers.

I am an ex-pro classical pianist. I no longer have an acoustic piano but I do have “neighbours” and they don’t like “classical music” (or many other things, truth be told). My sole interest is in getting a high quality normal acoustic grand piano emulation with high quality headphones from a Kawai NV10. I’m not interested in heritage / wacky / weird stuff.

I quickly dismissed the Kawai’s internal voices as useless because of their limited dynamic range (ff .. fff only)

The biggest problem I’ve had to solve with Pianoteq is getting the FULL dynamic range smoothly from ppp to fff without any “sudden” jumps. (I found that setting the Dynamics value too high tended to cause that).

Obviously the main variable here is the keyboard velocity curve. To get this right you have to know exactly what touch response curve the Keyboard is going to send to Pianoteq. To measure this, I built a home-made key-energy calibration gadget which allowed me to measure the MIDI values generated by dropping a known weight (metal rod) from various known heights onto a key. I could calculate the energy with which the metal test rod hit the keys easily as Energy in Joules = Mass * Gravity * Height. However, we don’t really need the energy values themselves here; just the height will do (since the Mass and Gravity are both constants, the height alone can give you a valid relative set of values to work with).

I set the Kawai key touch curve to the default diagonal line first.
ppp    pp    p    mp    mf    f    ff    fff
14    28    42    56    71    85    99    113

I did the tests several times on each of several keys and then average/guessed the best-fit values to eliminate maverick values / outliers and smooth the resulting curve a bit

I guessed that the Kawai would be outputting a roughly logarithmic curve and indeed, it does. The key word here is “roughly”.  Here is a table of one of the results:

The top row is the height in cm that I dropped the weight from.
The bottom row is the Midi value from the Kawai (shown by Pianoteq).

H cm   0.5 1    2    3    4    5    6    7    8    9    10    11    12    20
Midi       2     28    41    70    82    99    103    105    108    109    111    112    113    117
                                                       
The values for 2 and 4 are way out of line with the rest. I left them out and fed the remaining values into Maple and asked it to do a logarithmic fit. The pure log-fit function for the reduced set is:
32.3093037494015 + 34.1056973560305 * ln(t). It’s quite a “rough” fit !

However, the next step is to find an inverse function that Pianoteq can use to undo this curve and give you a smooth dynamic straight-line response. This is easy to work out and gives:
7 * (exp((n - 32.3)/34.1)). Where n is the Midi value from the Kawai. (The factor 7 converts the scaled energy value 0.5 .. 20 to “roughly” 7 bit range.)

Taking 13 points along the received Midi values range:

Midi value    10    20    30    40    50    60    70    80    90    100    110    120   
Convert to    3.6    4.9    6.5    8.8    11.7    15.8    21    28.4    38    50.8    68    92   
Round to            4    5    6    9    12    16    21    28    38    51    68    92   

This produces the basic Pianoteq curve values:

Velocity = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120; 4, 5, 6, 9, 12, 16, 21, 28, 38, 51, 68, 92]

These values then need adjusting to the real world to allow for:
a) errors in the original energy curve data
b) the error of the log-fit curve on the original data
c) the arbitrary force / bit range multiplier of “roughly” 7

Playing with several presets from the Grotrian and Bluthner set, I found the following Velocity curves gave very good results:

Bluthner
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 114]
Dynamics 42
Vol -7.5

Grotrian
Velocity = [0, 45, 57, 68, 79, 88, 94, 99, 104, 108, 112, 115; 0, 3, 5, 11, 19, 30, 42, 54, 68, 81, 99, 113]
Dynamics 40
Vol -10


Grotrian
Velocity = [1, 53, 63, 68, 73, 78, 83, 88, 93, 98, 103, 108, 112; 0, 1, 4, 7, 11, 16, 22, 31, 40, 53, 67, 87, 110]
Dynamics 39
Vol -10

Before I did all this calculation stuff, I did manage to get some quite convincing Velocity curves just by ear and experiment, but actually calculating a proper exponential curve and then munging that to sound good has given me a really nice, acoustic-piano-like dynamic range from the Kawai Keyboard. I’m glad I made the effort. It’s much better.

The two most vital other factors that come in are the Dynamics and Volume settings. The Dynamics settings I found are pretty non-negotiable at around 39 .. 42. I know it’s tempting to crank the Dynamics up and enjoy a billion db of dynamic range but the higher you go above about 42 the worse and less smooth the actual dynamic ramp gets; you find that two adjacent notes played with pretty well exactly the same force produce wildly different volumes and that is pants! The Volume settings, on the other hand, are obviously down to personal taste.

I found that once I had got a few real-life Velocity curves, I didn’t need to play with things like the hammer hardness so much – or even at all. I always set hammer / pedal noise to zero.

I did find that I had to play around a little with the dynamics of certain ranges of notes in the note-edit section of Pianoteq but not as much as I did before.

Another important thing in getting the feel of a real acoustic piano is the response of the Sustainer pedal. I did the bit-of-cardboard munge to the sustainer on my NV10 the day after it arrived – the huge dead-zone at the top of the pedal response was absolutely unacceptable. I simply followed the instruction in a YouTube video I found to do this.

The best sustain pedal curve seems to be:
Sustain Velocity = [0, 1, 4, 32, 55, 82, 98, 111, 127; 0, 43, 86, 93, 100, 109, 119, 126, 127]

I use a SoundBlaster unit to drive my headphones (DX300 Pro circa £270). I found that it’s best to simply disable all the clever stuff it can do and use it as an amplifier and headphone driver.

I have a very fast, 15-core Windows Tower running Pianoteq so I have been able to set all the sample rates and polyphony etc. as fast as possible.

I would love to dump the headphones and play around with getting real acoustic piano sounds using the Kawai’s internal speakers driven from Pianoteq but I would finish up having to murder my neighbours, so it’s not going to happen any time soon.

I have put a Bluthner-based preset in the fxp area of this forum that you might like to play with. 2024_03_18_Kawai_NV10_BlüthnerPlayer_H

Thank you for sharing. Quite a methodic and rigorous approach ! Just a question regarding your measurement in the low velocities. Without any adjustment , how easy can you consistently generate velocity between let's say 8 and 28 on the NV10 with linear standard settings ?


Very good question. It was nearly impossible. The values varied widely in the bottom region. The slope of the Kawai's curve there is darned nearly vertical, all the way from 0 to about 50. What I did was loads of tests with a height of 0.5 cm then looked at the rest of the curve and did a pencil-best-fit. I actually doubt if the Kawai Keyboard is reliably / repeatably accurate below values of 50. However, on the bright side, this doesn't actually matter much as that region is right at the bottom of the human force-perception range. I don't think a human could reliably / repeatably play a value of, say, 16 or something. The important part of the curve starts at about 50 and that is where the Kawai starts to talk sense.

PS. I uploaded a demo MP3 (Ugh!) of me messing around with Henry Mancini's beautiful number Moon River this morning. As you can hear, I haven't quite got used to the feel of this preset but it's a superb tone range.