Topic: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

As has been mentioned previously on the forum, at least some higher end Yamaha models (and the Kawai Novus range) output fixed- rather than variable-velocity MIDI note-off signals.

According to Yamaha's MIDI reference guides, no Avantgrand model (past or present) outputs variable note-off velocity. Though the reference states that the new P-525 keyboard does output variable velocity, I have just tested this now and it behaves the same way as the other fixed-velocity models, outputting a value of 64 under all circumstances. I've also found the same to be true on the CLP-785 (and therefore CLP-795), and I presume the same applies at least to the CLP-775.

Yamaha appears to use an alternative system with all of these models, taking continuous measurement of the key position as it is released and using that in some non-MIDI-standard way to determine note-off. Though this is a better system than a single note-off velocity, it isn't something that the MIDI standard supports AFAIK. They do output this data though MIDI standard per-note aftertouch, but from what I can see, they do not do this in a reliable or useful way that can make up for the lost note-off data.

One forum user suggested brute-force remapping this aftertouch data to note-off, however sending this key-position data as-is on the note-off channel seems meaningless as far as I can tell and I can't see why they claimed it was a good idea or had good results (see here: https://forum.modartt.com/viewtopic.php?id=9557).

In any case - given that Yamaha are moving away from using note-off velocity in their MIDI data, is there anything that can be done at the Pianoteq end to work with these instruments? This is only going to become more of a problem over time as far as I can see.

Last edited by thesloth (09-01-2024 16:55)

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

thesloth wrote:

As has been mentioned previously on the forum, at least some higher end Yamaha models (and the Kawai Novus range) output fixed- rather than variable-velocity MIDI note-off signals.

According to Yamaha's MIDI reference guides, no Avantgrand model (past or present) outputs variable note-off velocity. Though the reference states that the new P-525 keyboard does output variable velocity, I have just tested this now and it behaves the same way as the other fixed-velocity models, outputting a value of 64 under all circumstances. I've also found the same to be true on the CLP-785 (and therefore CLP-795), and I presume the same applies at least to the CLP-775.

Yamaha appears to use an alternative system with all of these models, taking continuous measurement of the key position as it is released and using that in some non-MIDI-standard way to determine note-off. Though this is a better system than a single note-off velocity, it isn't something that the MIDI standard supports AFAIK. They do output this data though MIDI standard per-note aftertouch, but from what I can see, they do not do this in a reliable or useful way that can make up for the lost note-off data.

One forum user suggested brute-force remapping this aftertouch data to note-off, however sending this key-position data as-is on the note-off channel seems meaningless as far as I can tell and I can't see why they claimed it was a good idea or had good results (see here: https://forum.modartt.com/viewtopic.php?id=9557).

In any case - given that Yamaha are moving away from using note-off velocity in their MIDI data, is there anything that can be done at the Pianoteq end to work with these instruments? This is only going to become more of a problem over time as far as I can see.

What you are describing is actually data about damper position that’s sent in the Disklavier XP dialect. It is more advanced than standard midi and can’t be interpreted as standard midi. However, you can change midi dialect in Pianoteq to Disklavier XP and then those aftertouch messages change to damper position, however it doesn’t seem to have any audible effect in Pianoteq default settings.

Last edited by johanibraaten (09-01-2024 17:15)

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

johanibraaten wrote:

What you are describing is actually data about damper position that’s sent in the Disklavier XP dialect. It is more advanced than standard midi and can’t be interpreted as standard midi. However, you can change midi dialect in Pianoteq to Disklavier XP and then those aftertouch messages change to damper position, however it doesn’t seem to have any audible effect in Pianoteq default settings.

Interesting, thank you for this - so the damper position data are part of Yamaha's proprietary Disklavier XP protocol. And as you point out, Pianoteq is able to decipher this protocol, and yet doesn't appear to be making any use of these damper data even if you switch the MIDI dialect in settings?

[Edit: it appears that 'Damper Position' (Disklavier XP) and 'Aftertouch' (standard MIDI) are different labels for the same data, so Pianoteq has access to this info regardless of the MIDI dialect, the issue seems to be that it does not support using that data as part of its model.]

Last edited by thesloth (09-01-2024 21:28)

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

Also, is it possible that I've made some kind of mistake when connecting the P-525 and CLP-7xx models? Their MIDI reference manuals all explicitly state that they do support variable note-off velocity as shown below (note-off velocities 1-127 are transmitted), but I can't get anything other than 64 out of them. The same setup that only receives 64 from these Yamahas works fine with all the Roland and Casio models so it's hard to see what could be wrong at my end, but just in case, has anyone else got values other than 64 from any of these models?

https://i.ibb.co/pbWxYVy/Screenshot-2024-01-09-at-23-00-32.png

Last edited by thesloth (10-01-2024 00:34)

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

thesloth wrote:

And as you point out, Pianoteq is able to decipher this protocol, and yet doesn't appear to be making any use of these damper data even if you switch the MIDI dialect in settings?

I don't have a suitable keyboard to test, but IIRC Pianoteq uses the MIDI aftertouch data (not to be confused with the acoustic piano aftertouch which is a totally different thing) for the clavichord, which does have a behavior similar to turning the pitch bend. Try it!

For the rest of your questions, I have no idea, I think you should ask their support. I am pretty sure they must have thought about this.

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

thesloth wrote:

it appears that 'Damper Position' (Disklavier XP) and 'Aftertouch' (standard MIDI) are different labels for the same data, so Pianoteq has access to this info regardless of the MIDI dialect

Yes, standard midi always interprets Disklavier XP damper position values as aftertouch as it doesn't understand the XP commands and it will have no effect. Of course, you could leave the midi dialect at standard midi and then re-map the aftertouch values to whatever but there is one thing that makes it worth to change midi dialect to Disklavier XP, especially if you have the older generation AvantGrand and that is for silent keypress. What I mean is when you press a note very slowly so you won't get any sound and then either catch the released damper with the sostenuto pedal or holding the key down with a finger and then plays other notes, the sound of those notes will trigger harmonics from the silent note that has the damper released. I don't think this was a thing in standard midi back in 2009 when the AvantGrand line first was introduced and therefor it will not produce the default value for this (note on 1) but instead it produces the Disklavier XP value for it (Damper position 127) which is interpreted as Aftertouch 127 by standard midi and will have no effect. However, if you change the dialect in Pianoteq to Disklavier XP it will have the proper effect which is the same as "note on 1" in standard midi as produced by modern instruments.

Anyway, it seems strange that the Clavinova CLP-7XX and P-525 sends fixed note-off values as the earlier generation of these instruments (CLP-6XX and P-515) do indeed send variable note-off values. I wonder why this is?

Last edited by johanibraaten (10-01-2024 11:54)

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

johanibraaten wrote:

Anyway, it seems strange that the Clavinova CLP-7XX and P-525 sends fixed note-off values as the earlier generation of these instruments (CLP-6XX and P-515) do indeed send variable note-off values. I wonder why this is?

Indeed, it's a major regression if this is really the case - but the fact that their MIDI reference manuals all state that they do indeed send the data leaves me scratching my head as to why they don't seem to do so in practice.

Would be amazing if an owner of any one of these could confirm if they've ever received variable note-off values...

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

thesloth wrote:
johanibraaten wrote:

Anyway, it seems strange that the Clavinova CLP-7XX and P-525 sends fixed note-off values as the earlier generation of these instruments (CLP-6XX and P-515) do indeed send variable note-off values. I wonder why this is?

Indeed, it's a major regression if this is really the case - but the fact that their MIDI reference manuals all state that they do indeed send the data leaves me scratching my head as to why they don't seem to do so in practice.

Would be amazing if an owner of any one of these could confirm if they've ever received variable note-off values...

Can you make a MIDI recording on the P525 using the onboard usb port and upload it here? I would like to see if midi file has data for the note-off velocity.

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

Evo wrote:
thesloth wrote:
johanibraaten wrote:

Anyway, it seems strange that the Clavinova CLP-7XX and P-525 sends fixed note-off values as the earlier generation of these instruments (CLP-6XX and P-515) do indeed send variable note-off values. I wonder why this is?

Indeed, it's a major regression if this is really the case - but the fact that their MIDI reference manuals all state that they do indeed send the data leaves me scratching my head as to why they don't seem to do so in practice.

Would be amazing if an owner of any one of these could confirm if they've ever received variable note-off values...

Can you make a MIDI recording on the P525 using the onboard usb port and upload it here? I would like to see if midi file has data for the note-off velocity.

My CSP-170 sends variable note off values. IIRC it came after the CLP-6XX, but before the CLP-7XX. Im pretty certain the new ones should send variable note off. Im using pianoteq on iPad and usb-c to send midi. If you are using a DAW or another method of sending MIDI, it might not work for that reason?

I think pianoteq could change the standard curve from flat to linear. I dont know what difference it makes to have a flat curve if the instrument just sends one velocity, it would be the exact same result right? Or do different makes send different default values? In that case I sort of understand.

If thats not the case, the only thing they achieve with a flat curve is that ppl that do have this feature is missing out on it if they don't calibrate or adjust manually.

Last edited by snurrfint (31-01-2024 14:14)

Re: Pianoteq support for Yamaha CLP-7xx/Avantgrand/P-525 note-off?

thesloth wrote:

Also, is it possible that I've made some kind of mistake when connecting the P-525 and CLP-7xx models? Their MIDI reference manuals all explicitly state that they do support variable note-off velocity as shown below (note-off velocities 1-127 are transmitted), but I can't get anything other than 64 out of them. The same setup that only receives 64 from these Yamahas works fine with all the Roland and Casio models so it's hard to see what could be wrong at my end, but just in case, has anyone else got values other than 64 from any of these models?

https://i.ibb.co/pbWxYVy/Screenshot-2024-01-09-at-23-00-32.png

A MIDI Implementation of a keyboard with constant Note OFF transmission = 64 is the Korg D1. From its chart:

https://i.postimg.cc/m2tVqx0G/Korg-D1-MIDI-implementation-Velocity.png

It is easy to control the transmisson of any MIDI keyboard with Pianoteq's MIDI monitor ("MIDI options"). From there Note OFF is routed through Pianoteq's Note OFF velocity curve. The factory default of a Pianoteq preset is V=127 usually (a flat line). For a Korg D1 this means Note off 64 is transmitted and 127 is send to Pianoteq's audio rendering.

Last edited by groovy (31-01-2024 21:44)