• From: Stefan Westerfeld <stefan space twc de>
• To: Hanno <shaftoe nurfuerspam de>
• Cc: beast gnome org
• Subject: Re: Think about piano
• Date: Sat, 7 Apr 2007 16:05:16 +0200

```   Hi!

On Mon, Dec 18, 2006 at 12:35:20PM +0100, Hanno wrote:
> When I was at my old music teacher I investigated some effects of a piano with
> him and I want to tell you some interesting features that are used in some
> common piano-pieces.
>
> When you press down a piano-key with very low velocity you can hear no sound.
> But the damper of the strings are released, so the strings for those keys are
>
> Then you press a key some octaves lower than the keys you hold and release
> that. The tone stops - but the still hold down keys on high pitch swing. You
> can hear them like they have been played and hold down. The swing on
> resonance.
>
> This effect is simulated by no piano-simulator yet. And its the point all
> piano-players make jokes about piano-synths: "They never can do this! Ha!"
> Just like my teacher.
>
> Would be nice if we could do this. How? Any ideas?

If I understood the article I read about it right, the proprietary

http://www.pianoteq.com

Piano (available as VST) does just this. So if you want it proprietary,
a VST loader for BEAST would be sufficient.

If you want a free reimplementation, I think the way to get there is
first to try to formulate a mathematical model of a piano, which does
not necessarily need to be implementable in real time. I think it could
be based on some of the following

(a) energy conservation

for instance, given the key C-0 is held down and C-1 gets hit, then the
total energy that you put in C-1 gets

- lost (some percentage)
- transferred to the C-0 (some percentage, based on how well C-0 and
C-1 match)
- emitted as C-1 sound (rest energy)

(b) differential equations

that could be about pretty much anything, like the amount of energy in
the n-th harmonics of the m-th key gets increased/decreased relative to
something else (like wether the key is held down, or whether another key
is playing)

(c) existing physical modelling approaches

there should be lots of papers out there

(d) probably there are more mathematical techniques that could be used
that I didn't mention here

Then, once a non-realtime mathematical model is defined, the sound can
be tested. Finally, one can try to find shortcuts or simplifications
that allow doing the thing that needs to be done, in realtime. Since
this needs effects where one voice influences another, i think even
within BEAST, (at least parts of) the piano would need to be implemented
as one big poliphonic module.

In any case, a model that describes /how exactly/ the influence between
different notes affects the sound produced by the piano is needed,
before its possible to find "the right way" to do it in BEAST.

Cu... Stefan
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan

```