Csound Csound-dev Csound-tekno Search About

underwater love

Date1997-06-18 08:00
FromStephen Barrass
Subjectunderwater love
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