Normalised Leaky Valve Connection
Description
This connection simulates the behavior of a 'leaky' reed or valve. The normalised leaky valve connection has fewer arguments than the leaky valve connection. This is made possible because there is a reference force, that of the complete block of the reed on the mouthpiece, to which one can normalize all force.
Syntax and Default Values
The normalised leaky valve connection can be created using the following Lisp, mlys (Max) or mlys.lua syntax:
(make-connection 'normalised-leaky-valve
valveAccess
initialPosition
objectAccess
breath
airDensity
airViscosity
zeta
frontAngle
apertureWidth
canalLength
underArea
weight)
modalys.create_connection{kind="normalised-leaky-valve",
name="MyNormalisedLeakyValve",
valveaccess=[valve/reed access],
initialposition=0.001,
objectaccess=[tube (or other object) access],
breath=0,
airdensity=1.2,
airviscosity=1.78e-5,
zeta=0.7,
frontangle=1e-8,
aperturewidth=0.001,
canallength=0.01,
underarea=2e-5,
weight=1}
•
MyNormalisedLeakyValve@breath {value}
•
MyNormalisedLeakyValve@airdensity {value}
•
MyNormalisedLeakyValve@airviscosity {value}
•
MyNormalisedLeakyValve@zeta {value}
•
MyNormalisedLeakyValve@frontangle {value}
•
MyNormalisedLeakyValve@aperturewidth {value}
•
MyNormalisedLeakyValve@canallength {value}
•
MyNormalisedLeakyValve@underarea {value}
•
MyNormalisedLeakyValve@weight {value}
Parameters
The 'normalised-leaky-valve connection takes twelve arguments:
- valveAccess: access on the object used as a valve/reed.
- initialPosition: initial height of the reed. (numerical value, not a controller)
- objectAccess: access on the object used as a resonator.
- breath: the breath envelope controller.
- airDensity: a controller for the density of air. (kg/m3)
- airViscosity: a controller for the density of air. (Pa)
- zeta: the “zeta” parameter which influences the timbre.
- frontAngle: a controller defining the angle of the aperture/opening.
- apertureWidth: a controller defining the length of the aperture/opening. (m)
- canalLength: a controller defining the length of the canal length. (m)
- underArea: a controller defining the surface of the under part of the valve. (m2)
- weight: (optional) controller weighing the interaction.
The initial positions must be a numerical value, not a controller.
The breath envelope controller is not a real-world pressure value and typically ranges in value between .3 and 1.8.
The real-world value for air density is 1.2 kg/m3, on earth at sea level at room temperature. You might need to play with this if you wish to blow in other Modalys objects.
The real-world value for air viscosity is around 1.78e-5 Pa.
The the “zeta” parameter should be a positive non-zero value. This parameter dramatically influences the timbre of the resulting sound. Values between 0 and 1 will dampen higher harmonics considerably. As the value of zeta increases from 1, the sound will become brighter and subjectively “buzzier.” A value of 5 is already quite bright. Common values range between 0.1 and 3.
The aperture angle is given in the system you selected with set_angle_mode (degrees or radians), and the aperture length, given in meters, is used to "scale" the connections.
The weight controller is optional. If not provided, it defaults to 1.
Discussion
The normalised-leaky-valve connection is similar to a reed connection, but allowing greater, more intuitive control over the brightness of the oscillation, via the zeta parameter. As with the reed connection, a two-mass, harmonic oscillator or very small plate may be used as a reed.
★