MembraneCircle, MembraneHexagonal Waveguide mesh physical models of drum membranes 


MembraneCircle.ar(excitation, tension, loss)


MembraneCircle and MembraneHexagonal are rather similar, being triangular waveguide meshes of a drum-like membrane.  You input some excitation, such as a pulse of noise, and can adjust the tension and loss while it plays.


They're named after the shape made out of triangular meshes. Obviously you can't make a circle out of triangles, but it tries.  At the moment MembraneCircle is a bit bigger than MembraneHexagon, using more waveguides and therefore more CPU.


// Change MembraneCircle to MembraneHexagonal for a different shaped

// circular drum head 

s.boot;

s.reboot;

(

{ var excitation = EnvGen.kr(Env.perc, 

                        MouseButton.kr(0, 1), 

                             timeScale: 0.1, doneAction: 0

                            ) * PinkNoise.ar(0.4);

  var tension = MouseX.kr(0.01, 0.1);

  var loss = MouseY.kr(0.999999, 0.999, 1);

  MembraneCircle.ar(excitation, tension, loss);

}.play;

)


These UGens are by Alex McLean (c) 2008.



More info


My stuff is here:

  http://doc.gold.ac.uk/~ma503am/


I also recommend the following thesis:

  The Physical Modelling of Drums Using Digital Waveguides

  JA Laird, University of Bristol - 2001 - University of Bristol


this book:

  Real Sound Synthesis for Interactive Applications, Perry R. Cook

  http://books.google.co.uk/books?id=20p7Jg_ZdkMC


and these websites:

  http://ccrma.stanford.edu/~jos/wg.html

  http://www-ccrma.stanford.edu/~be/drum/drum.htm