| hi csound
thanks to the people who suggested some ways to make underwater sounds
> if you mean a water flowing sorta sound then take a sample and hold
> (whitenoise as its input) and feed its output to the Vc input of a resonant
> low pass (or bandpass) filter (with no audio input) and tweak it until you
> get a convincing water sound. KIM
> Many phase vocoding artifacts have a bubbly water-like sound. Tim
> Well, in the analog days, a technique for underwater sound was to
> modulate a low pass filter cutoff (with some resonance, probably) both
> below and above the fundamental of the audio input, perhaps by a
> sample&hold.
> It actually sounds like an interesting problem. (What is the
> underlying physical model) Larry
i pretty much took larry's advice about an underlying physical model
and thought of the bubbles as overlapping noise sources sort of
like grains in granular synthesis
- small bubbles make small short high many overlapping noises,
- big bubbles make low, long, not many overlapping noises
here is my attempt at an underwater scene made out of noises
;///////////////////////////////////////////////////////////////////////////
;// stephen barrass
;// bathtub.orc
;// june 1997
;//
;//
sr = 8000
kr = 8000
ksmps = 1
nchnls = 1
;///////////////////////////////////////////////////////////////////////////
; bubbles
;
instr 1
; initialise ------------
iamp = ampdb(p4)
ihz = p5
ihzlo = 0.8*ihz
ibw = p6
ibwlo = 0.8*ibw
; control rate ------------
kamp linseg 0, 0.003, 0, 0.007, iamp, p3-0.02, iamp, 0.01, 0; declick
khz linseg ihzlo, p3, ihz
kbw linseg ibwlo, p3, ibw
; audio rate ------------
ao0 randi khz, kbw, 0 ; noise source
ao1 oscil kamp, ao0, 1
; send it out
out ao1
endin
;///////////////////////////////////////////////////////////////////////////
; ping
;
instr 2
iamp = ampdb(p4)
ihz = p5
ihzlo = 0.8*ihz
ibw = p6
ibwlo = 0.5*ibw
; control rate ------------
kamp linseg 0, 0.01, iamp, 0.9, 0; declick
khz linseg ihzlo, p3, ihz
kbw linseg ibw, p3, ibwlo
; audio rate ------------
ao0 randi 80, kbw, 0 ; noise source
ao1 oscil kamp, khz+ao0, 1
; send it out
out ao1
endin
;///////////////////////////////////////////////////////////////////////////
; calling
;
instr 3
iamp = ampdb(p4)
ihz = p5
ihzlo = 0.5*ihz
ibw = p6
ibwlo = 0.5*ibw
; control rate ------------
kamp expseg 1, 0.01, iamp, p3-0.01, 1; declick
khz expseg 100, 0.1, ihz, p3-0.1, ihzlo
kbw linseg ibwlo, p3, ibw
; audio rate ------------
ao0 rand kbw ; noise source
ao1 oscili kamp, khz+ao0, 1
ao2 reverb ao1, 0.3, 1
ao3 delay ao2*0.9, 0.05, 0
ao4 delay ao3*0.6, 0.9, 0
ao5 delay ao3*0.4, 1.8, 0
; send it out
out ao2+ao3+ao4+ao5
endin
;///////////////////////////////////////////////////////////////////////////
;// stephen barrass
;// bathtub.sco
;// june 1997
;//
f1 0 8193 10 1 ;sin
t 0 60 ; tempo
;///////////////////////////////////////////////////////////////////////////
; bubbles
;
; start dur ampdb hz bw
i1 + 0.01 70 1000 500
i1 0 15 40 500 300
i1 1 6 60 200 30
i1 6 3 . 100 20
i1 10 5 . 300 60
i1 12 4 70 400 200
;///////////////////////////////////////////////////////////////////////////
; ping
;
i2 0.3 1 40 800 200
i2 3 . . . .
i2 6 . . . .
i2 9 . . . .
i2 12 . . . .
i2 15 . . . .
;///////////////////////////////////////////////////////////////////////////
; calling
;
i3 4 4 40 300 30
i3 8 . 60 600 20
i3 11 3 60 440 90
--------------------------------------------------------------------------------
stephen.barrass@cmis.csiro.au @ * ~
ftp://ftp.cbr.dit.csiro.au/staff/stephen/stephen.html whiz pop splash
|