Skip to content

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}
💡breath (i.e gamma), airdensity, airviscosity, zeta, frontangle, aperturewidth, canallength, underarea and weight, are controllers. If a numerical value is passed, a dynamic controller is automatically created, controllable using Max messages:
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.


★     ★