MembraneCircle and MembraneHexagon 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.
excitation |
sound in |
tension | |
loss | |
mul | |
add |
// Change MembraneCircle to MembraneHexagon for a different shaped
// circular drum head
s.boot;
s.reboot;
(
{ var excitation = EnvGen.kr(Env.perc,
MouseButton.kr(0, 1, 0),
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.
My stuff is here:
I also recommend the following thesis:
this book:
and these websites: