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 its 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 milliseconds 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.


  • $\begingroup$ How do you account for tension - is a real drumskin tensioned perfectly evenly in all directions? Is the thickness constant? Is it likely that those natural variations are what makes the natural sound « warmer » compared to synthesized ? $\endgroup$
    – Solar Mike
    Jun 17, 2018 at 6:02
  • $\begingroup$ I want to synthesize a perfectly ideal drumskin with perfectly ideal tension. I am not interested in "warmth" but rather capturing the ideal relationship between the frequencies, levels, decays, and phases of the modes. The Bessels zeros give the ideal frequency ratios, but not the rest. I am sure there must be equations that can predict the rest, but they are beyond my knowledge. Any ideas, particularly with respect to the decay rates? The math was easy for a string but I don't know where to start working in two dimensions. That is why I proposed modelling first, and working back from that. $\endgroup$
    – mike
    Jun 17, 2018 at 6:35
  • 1
    $\begingroup$ You are missing a very important part of the model: the elasticity of the air inside the drum couples the vibration modes of the heads together, and the combined mode frequencies may be completely different from a single membrane in a vacuum, which is what the Bessel function model will give you. Try doing a fluid-solid coupled vibration analysis in Ansys. $\endgroup$
    – alephzero
    Jun 17, 2018 at 8:12
  • 1
    $\begingroup$ To model the damping, you also need a coupled fluid-solid model that models the rate at which energy is radiated from the drum head into the air. Acoustic simulation software can do that. You can't easily do it with a standard FE program because the volume of air outside the drum that you need to model is (theoretically) infinite - if you try to model the drum in a "room", i.e. a "large box with rigid walls" the results will be confusing because of all the room resonances! Alternatively, estimate the decay time for the sound of some real drums, and set your damping factor(s) to match that. $\endgroup$
    – alephzero
    Jun 17, 2018 at 8:18
  • $\begingroup$ Hi @alephzero. I am not worried about coupling of drum heads to start, although in a subsequent model I will want this. Single headed drums, even without a proper drum shell definitely sound drum-like! eg. youtube.com/watch?v=z4P7FTDqqww So to begin with I just need to model the properties of an ideal circular membrane and get data from that. From what you say, a fluid-solid coupled vibration analysis in ANSYS will have this capability? Will it be able to give me decay rate in dB/s of the modes? If so, any tips on how to get this from a basic membrane model? Thanks a bunch! $\endgroup$
    – mike
    Jun 17, 2018 at 17:13


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.