dripwater — Semi-physical model of a water drop.


dripwater is a semi-physical model of a water drop. It is one of the PhISEM percussion opcodes. PhISEM (Physically Informed Stochastic Event Modeling) is an algorithmic approach for simulating collisions of multiple independent sound producing objects.


ares dripwater kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] \
      [, ifreq1] [, ifreq2]


idettack -- period of time over which all sound is stopped

inum (optional) -- The number of beads, teeth, bells, timbrels, etc. If zero, the default value is 10.

idamp (optional) -- the damping factor, as part of this equation:

damping_amount = 0.996 + (idamp * 0.002)

The default damping_amount is 0.996 which means that the default value of idamp is 0. The maximum damping_amount is 1.0 (no damping). This means the maximum value for idamp is 2.0.

The recommended range for idamp is usually below 75% of the maximum value. Rasmus Ekman suggests a range of 1.4-1.75. He also suggests a maximum value of 1.9 instead of the theoretical limit of 2.0.

imaxshake (optional, default=0) -- amount of energy to add back into the system. The value should be in range 0 to 1.

ifreq (optional) -- the main resonant frequency. The default value is 450.

ifreq1 (optional) -- the first resonant frequency. The default value is 600.

ifreq2 (optional) -- the second resonant frequency. The default value is 750.


kamp -- Amplitude of output. Note: As these instruments are stochastic, this is only an approximation.


Here is an example of the dripwater opcode. It uses the file dripwater.csd.

Example 248. Example of the dripwater opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o dripwater.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

imaxshake = p4
ifreq     = p5
ifreq1    = p6
ifreq2    = p7

;low amplitude
adrp dripwater .1, 0.09, 10, .9, imaxshake, ifreq, ifreq1, ifreq2 
asig clip adrp, 2, 0.9	; avoid drips that drip too loud
     outs asig, asig


{100 CNT 

i1 [0.1 * $CNT] 0.5 0.5 430 1000 800 



See Also

Models and Emulations


Author: Perry Cook, part of the PhISEM (Physically Informed Stochastic Event Modeling)
Adapted by John ffitch
University of Bath, Codemist Ltd.
Bath, UK

New in Csound version 4.07

Added notes by Rasmus Ekman on May 2002.