Topic: Pedal noise responds strange to half pedaling

I noticed that the pedal noise is louder depressing the pedal only partially as opposed to depressing it fully. Also when you depress it partially pedal noise is sustained indefinitely as long as you keep the pedal in that position. My guess is that I am unable to keep the pedal exactly at one particular point in its path up or down, so any slight fluctuation of the position of my foot will trigger that noise again.

Re: Pedal noise responds strange to half pedaling

Yes, based on my previous testing of how Pianoteq handles continuous sustain messages it will tend to do that when you attempt to hold a half-pedal position. Its behavior is really only suited to relatively continuous and progressive movements from all the way up to all the way down and back. "Jittering" values around the mid-point will retrigger the "scraping" sound of the dampers moving against the strings, and the deeper you hold it (short of completely releasing the strings at the default level of 95 IIRC), the louder the sound will be because the strings can ring more freely and the retriggering "stacks up". In order to prevent that, programmers would need to build in some hysteresis in retriggering the sound based on the amount and direction of the change in value - e.g. some minimum number of messages all trending in the same direction at a significant rate of change.

Re: Pedal noise responds strange to half pedaling

brundlefly wrote:

In order to prevent that, programmers would need to build in some hysteresis in retriggering the sound based on the amount and direction of the change in value - e.g. some minimum number of messages all trending in the same direction at a significant rate of change.

Your explanation here is better than my attempt at a similar concept in the recent longer thread on Pianoteq's pedal. Since the resolution of continuous MIDI pedals varies so much, the software might need to not only look at the number of messages trending in one direction in a certain amount of time, but also in the difference in value between those messages. Certainly lower resolution pedals would never work as well (as should be expected), but perhaps they could still be made to work decently. The software might even be able to measure a pedal's resolution with a few slow up/down sweeps, and take that into consideration; giving much improved results for high-res pedals, and guessing a bit more with lower-res pedals.

There's got to be some way to crack these MIDI pedal limitations.

Re: Pedal noise responds strange to half pedaling

NathanShirley wrote:

Your explanation here is better than my attempt at a similar concept in the recent longer thread on Pianoteq's pedal. Since the resolution of continuous MIDI pedals varies so much, the software might need to not only look at the number of messages trending in one direction in a certain amount of time, but also in the difference in value between those messages. Certainly lower resolution pedals would never work as well (as should be expected), but perhaps they could still be made to work decently. The software might even be able to measure a pedal's resolution with a few slow up/down sweeps, and take that into consideration; giving much improved results for high-res pedals, and guessing a bit more with lower-res pedals.

There's got to be some way to crack these MIDI pedal limitations.

Yes, when I mentioned "rate of change" I was referring to the difference in value between messages divided by the time between them.

Regarding resolution. It's actually the keyboard that generates the messages, not the pedal, and it's not clear that Pianoteq does anything different with high-resolution sustain controller messages. The documentation only mentions Velocity. But the way the pedal noise is implemented, I could see high-resolution messages actually makeing this problem worse because the greater the number of discrete pedal samples are triggered in a given amount of time, the louder they will stack up unless the smaller "steps" translate to discrete sounds having a lower level. And the high rate of attacks can actually start to sound like a pitched "buzz".

Ultimately I think the "modeling" of the pedal response will need to be revisited to solve this. Triggering a series of discrete samples at progressively higher or lower volumes is not a very sophisticated approach, and isn't modeling from first principles the "bowing" effect of the strings being excited by the dampers rubbing them as they are released. On further testing, I also found that playing notes does not alter or interrupt the indepedent "loom of strings" sound of the pedal noise sample as it would in a real piano if it were truly "modeled". In practice, it works well enough for "typical" performance scenarios, especially if the volume of the pedal noise is kept low. But I can imagine a lot of scenarios where it's going to behave in an undesirable way.

All that said, the existing implementation is fine for my purposes, and I really have no complaints in practice.

Last edited by brundlefly (19-01-2023 20:46)

Re: Pedal noise responds strange to half pedaling

brundlefly wrote:

Regarding resolution. It's actually the keyboard that generates the messages, not the pedal

I guess that makes sense, but wouldn't the resolution still be at least in part limited by the pedal being used? Not that it really matters I suppose, but I've used 3 different pedals plugged into my keyboard; each give different results (Kawai, Roland, Yamaha).

brundlefly wrote:

But the way the pedal noise is implemented, I could see high-resolution messages actually makeing this problem worse because the greater the number of discrete pedal samples are triggered in a given amount of time...

Yes, in the case of the current behavior for half pedaling specifically, higher resolution definitely can result in more noise (unless you have super-human control of your foot!). With a real piano you have basically no discernible noise when you move the pedal extremely slowly.

Regarding resolution, I was in part thinking of a broader discussion from another thread, discussing other aspects of how piano pedaling could be modeled with more depth/nuance. That's here: https://forum.modartt.com/viewtopic.php?id=10047

Last edited by NathanShirley (20-01-2023 17:26)

Re: Pedal noise responds strange to half pedaling

brundlefly wrote:

Ultimately I think the "modeling" of the pedal response will need to be revisited to solve this. Triggering a series of discrete samples at progressively higher or lower volumes is not a very sophisticated approach, and isn't modeling from first principles the "bowing" effect of the strings being excited by the dampers rubbing them as they are released. On further testing, I also found that playing notes does not alter or interrupt the indepedent "loom of strings" sound of the pedal noise sample as it would in a real piano if it were truly "modeled". In practice, it works well enough for "typical" performance scenarios, especially if the volume of the pedal noise is kept low. But I can imagine a lot of scenarios where it's going to behave in an undesirable way.

Pianoteq is not triggering dicrete samples: the pedal noise is generated by the friction of individual dampers on the strings, this friction is produced when the pedal is moving. But with MIDI we only receive pedal position events, at unpredictable moments (it is not sampled with a fixed rate). So we need to smooth this discrete pedal signal in order to approximate its continous movement (and at which speed). The task is not easy for pedals that send very few position events, especially since we can't add too much latency in the smoothing process. We will try to improve this.

Re: Pedal noise responds strange to half pedaling

julien wrote:

Pianoteq is not triggering discrete samples: the pedal noise is generated by the friction of individual dampers on the strings, this friction is produced when the pedal is moving. But with MIDI we only receive pedal position events, at unpredictable moments (it is not sampled with a fixed rate). So we need to smooth this discrete pedal signal in order to approximate its continous movement (and at which speed). The task is not easy for pedals that send very few position events, especially since we can't add too much latency in the smoothing process. We will try to improve this.

Thanks for the correction and clarification, Julien. On further experimentation and listening I understand that the amount of excitement of the strings and the freedom they have to vibrate is based on the amount of change in position of the damper (i.e. the difference in successive CC64 message values), how quickly the change occurs (time between messages), and where in the overall range of damper positions the change occurs (allowing progressively more 'ringing' of the strings as the dampers get closer to full release) So it is more sophisticated than I first thought. But, as you point out, there is only so much you can do without being able to predict the timing or level of the next message when the input is real-time, and very sparse messages can result in discrete-sounding events. An interesting wrinkle in the overall challenge of modelling piano behavior with control by MIDI messages.

Re: Pedal noise responds strange to half pedaling

julien wrote:
brundlefly wrote:

Ultimately I think the "modeling" of the pedal response will need to be revisited to solve this. Triggering a series of discrete samples at progressively higher or lower volumes is not a very sophisticated approach, and isn't modeling from first principles the "bowing" effect of the strings being excited by the dampers rubbing them as they are released. On further testing, I also found that playing notes does not alter or interrupt the indepedent "loom of strings" sound of the pedal noise sample as it would in a real piano if it were truly "modeled". In practice, it works well enough for "typical" performance scenarios, especially if the volume of the pedal noise is kept low. But I can imagine a lot of scenarios where it's going to behave in an undesirable way.

Pianoteq is not triggering dicrete samples: the pedal noise is generated by the friction of individual dampers on the strings, this friction is produced when the pedal is moving. But with MIDI we only receive pedal position events, at unpredictable moments (it is not sampled with a fixed rate). So we need to smooth this discrete pedal signal in order to approximate its continous movement (and at which speed). The task is not easy for pedals that send very few position events, especially since we can't add too much latency in the smoothing process. We will try to improve this.

Hi, I recently purchased  pianoteq 8, mainly to be able to play on my Yamaha grand piano equipped with a disklavier and avoid spending insane amounts of money and excessive amounts of time recording myself using traditional methods. I was very pleasantly surprised by the result, except for one detail: the sound of the sustain pedal. For now I solved it by assigning the sound of the sustain pedal to a midi controller and correcting the defects in post production. I must say that when recording solo piano, especially when playing pianissimo or softly, the defect in the sound of the pedal, if not corrected, is clearly heard. I hope that in the future this defect can be fixed because, at least in my current experience, otherwise the software is phenomenal