Understanding sympathetic resonance in a piano

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

I'm trying to understand sympathetic resonance in a piano, but I'm not completely getting it.

Example 1:
If I silently hold down C4 & G4, then tap C3, I hear C4 & G4 resonating. This makes sense to me as C4 and G4 are harmonic frequencies of C3.

Example 2:
If I silently hold down C2 & F2, then tap C4, I hear C4 resonating. Why don't I hear C2 & F2 resonating?

I would think that tapping a note that is a harmonic of an open string, would cause that string to resonate at it's own frequency, like example 1. What's going on in example 2?

Post

Sympathetic resonances will happen wherever the harmonics of two strings overlap. The C2 and F2 strings in your second example are resonating, but not at their fundamental frequencies, because C4 contains no energy at those lower frequencies. The resonances will only occur where the harmonics of the lower strings overlap with those of C4. So after you strike and release the C4, you should still hear something like C4 faintly ringing until you release the lower keys.

Post

Ok, that makes sense. C2 & F2 have harmonics at C4 and that's why they would resonate at the frequency of C4 when C4 is struck.

So, simulating that sounds fairly complex. For every new keyDown, you'd have to scan for keys with open dampers, then see if they share common frequencies in their harmonics with the new key, then ask that string to vibrate at that common frequency.

Does that sound correct?

If so, assuming one is using waveguides for strings, you would add energy to that string at the resonant frequency?

Post

In a physical instrument, the vibration of the struck string propagates through the instrument frame and body (and the air) and excites any other strings that are able to vibrate freely. The excitation from a hammer strike is a high amplitude signal that contains energy at all frequencies, and the structure of a string will convert that energy into vibrations at all of its resonant frequencies. Those vibrations in turn excite neighboring strings, but at a lower amplitude than the initial strike, and those strings will resonate sympathetically if that excitation contains frequencies at which they are also capable of resonating.

If you are using waveguides for a physical model, you shouldn't need to do anything so complicated as actively search for common harmonics because like a string, a waveguide will resonate naturally at any frequency that is a harmonic of the fundamental. The great thing about waveguides is that they can produce a recognizable string-like sound just by exciting them with an impulse like a click or short noise burst. If you then take the output of the "struck" waveguide and use that to excite all the open strings with an attenuated version of the signal produced by the struck string, you will also produce sympathetic resonances like you would get in a piano.

At the basic level, it's not super complex. You can basically feed an impulse into a tuned delay line, then feed the output of that (at an appropriately reduced amplitude) into another tuned delay line, and you'll be on your way to a rudimentary physical model with sympathetic resonance. The complexities of physical modeling mostly have to do with modeling deviations from an ideal string, the dampening of the various materials that comprise the instrument, and the feedback between the various strings. The specifics of that are mostly beyond my knowledge, though.

Post

So, if I strike my C4 waveguide, and then feed the output of that (at lower amplitude) into a waveguide that's tuned to F2, it will output a C4?

Does it matter how long a burst to feed into the other waveguides? Like, one cycles worth? Or a constant stream?

Post

joshb wrote: Fri Oct 08, 2021 7:22 pm So, simulating that sounds fairly complex. For every new keyDown, you'd have to scan for keys with open dampers, then see if they share common frequencies in their harmonics with the new key, then ask that string to vibrate at that common frequency.
If you're going for realism, what you need to do is simulate all the 230 strings all the time (well, at least when pedal is held), so might as well take the output and feed it back to all the strings at low level.

If you're not going for realism, then you should be able the fake the most significant case where the pedal is held (since practically speaking you don't often hold individual keys manually just to get specific symphatetic resonances, but when pedal is held the combined effect is fairly obvious) by assuming that (at least at low level) the strings are LTI, so we can compute a combined IR for the whole piano in bulk and then use that as an additional convolution reverb that's automatically gated whenever you release the pedal.

ps. Basically, find a piano, hit the sustain pedal down hard enough that it makes "thumb" noise, then continue holding it down and listen: there's your symphatetic resonance. The key thing to realize is that you can't really "choose which keys will resonate" because they all will from hammer and pedal noise and all that.

Post

Ah, I see. Thanks for those explanations, gents.

Now, is this similar to string coupling? Where, I believe, the output of each string in a key is fed back into the other strings of the key? I've seen some references to coupling filters, but I don't really understand if there's more to it than that.

Thanks again.

Post

Though the theory of string overtones and piano sympathetic resonances seems quite understandable, I've found that a real grand-piano gives more complicated sound. Here is a simple example:

I silently press a piano key A0 (note 21 in MIDI). Its harmonics in musical notes are 33, 40, 45, 49, 52, 55, 57, 59, 61, 62/63, 64, etc (I’m not taking in the consideration a detune of some overtones).

Then I hit and release right away the key C#3 (note 49). Its harmonics are: 61, 68, 73, 77, 80, 83, 85, 87, 89, 90/91, 92. Plus, of course, the main tone – 49.

Here is a table for a better visualization:
21-49.png

Comparing numbers in the table I see that theoretically the open A0 must resonate with (marked in bold): 5th harmonic (not 49), 10th harmonic (note 61), 15th harmonic (note 68) and 20th harmonic (note 73), the most upper. The energy of even higher harmonic is weak, and they can be discarded, I suppose.

However on a real grand-piano I hear and see (in iZotope RX) the following:
1709162289946.png

1) Obviously note 45 (A2, 110Hz) does sound also, despite that according to the theory it can’t be excited by the higher note 49. Then why there's note 45!? And if the one was supposedly excited by hammer of key 49 just mechanically via piano frame and body, then why there are no harmonics with notes 33 and 40? And no main tone 21?

2) Checking the spectrum I see, as expected, the strong and bright harmonics with notes 49 and 61. But the same time there is the whole bunch of harmonics like 52, 55, 57, 59, 61, etc. Almost all belonging to key (string) A0 all the way up to 25th harmonic. Check the 700Hz boldly shining in the spectrum (note 77, F5). What excited these harmonics like 52, 55, 57, 59? Because the vibration of the string for key 49 had no frequencies corresponding to them?

Also, why the harmonics higher than 10th, ok, higher than 15th are so prominent in the graph? As I understand the amplitude of harmonic is proportional to 1/N, where N is harmonic number in sequence. So all those upper harmonics like 20-25th must be really weak to be heard or tracked in the spectrum. But they are obviously present in my experiment.

These couple points are bugging me? Any suggestions what the theory of sympathetic resonances is missing when applied to just two piano strings?

P.S. When listening and recording I damped the treble (open) strings (keys above note 90) of grand-piano I had access to. Plus this model doesn’t have duplex scale, which could resonate.
You do not have the required permissions to view the files attached to this post.

Post Reply

Return to “DSP and Plugin Development”