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 247. Example of the dripwater opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; 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 </CsOptions> <CsInstruments> 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 endin </CsInstruments> <CsScore> {100 CNT i1 [0.1 * $CNT] 0.5 0.5 430 1000 800 } e </CsScore> </CsoundSynthesizer>