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