I have been working on some acoustic synthesis software for modelling several acoustic instruments. I am using the principle of modal synthesis, where every mode of vibration is individually synthesized, generally using a resonant bandpass filter (or sine wave). I have used this approach to get great results on stringed instruments like guitar/cello where the relationship between modes is simple and reasonably predictable. However, I am struggling with drums.
As a 2D circular membrane, the vibrational properties of a drumhead (and even more so, a two headed drum with a drum shell between) are much more complicated than a simple string. However, I still believe this should be possible to synthesize well given modern computing power. With the correct data, I can easily synthesize 500+ modes simultaneously to give a likely good sound.
Imagine a simple 2D circular membrane excited by a strike of energy at it's dead center. The information I ideally need for each mode is:
1) Frequency ratio relative to the fundamental (0,1) - this is easily given in an ideal circular membrane by the Bessel zeros. Things would be different in a "nonideal" membrane, but this is easy to get from any program like ANSYS either way, and I would prefer an "ideal" simulation first.
2) Maximum amplitude of sound of each mode relative to the fundamental (0,1). If a point of reference is needed, let's say we are measuring sound at 2-3" from the center of the excited membrane.
3) Decay rate of each mode, where decay rate is given by time to reach 1/e amplitude relative to that mode's highest initial amplitude, or alternatively in dB/s.
4) Time delay from excitation to beginning of a mode's oscillation in ms or in radians/degrees for that mode's frequency.
If I have a table of that data for the first 500 significant resonances of a circular membrane (or full drum model), I can easily put that into synthesis to see what I get.
ANSYS is okay even in simple usage for providing basic modal frequencies (#1). But I am uncertain if/how it or another program can possibly provide #2-4 on that list.
Is this a very simple or challenging set of data to try to get? How would you approach it, ie. with what program or modelling technique?
Alternatively, the biggest component of the "sound" besides the frequency ratios is the decay rates. If you are aware of any equation that can, using an arbitrary damping coefficient "c", express the theoretical decay rate of any (m,n) mode from a given decay rate of (0,1), that would likely work well enough too. It was easy enough in strings to work in this way, but I don't think it will be so easy in 2D. I'm sure such an equation can be derived, but I don't know it, and I'm not sure anyone else does either. I am hoping to be able to work that relationship out from modeled data if I can get modeling working.