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)