Csound Csound-dev Csound-tekno Search About

[Csnd] Pendula

Date2013-03-14 16:17
FromHans and Laurel Mikelson
Subject[Csnd] Pendula
Sound is here:

https://soundcloud.com/hmikelson/pendula 



;-RWfo pendula.wav


;---------------------------------------------------------
; Pendula
; Inspired by Youtube video of pendulums of various lengths like this one
; http://www.youtube.com/watch?v=eZm_-2O8ovI&list=UUeQEKFH31vvD-InkTGSvCrA 
; Hans Mikelson March 2013
;---------------------------------------------------------
sr = 44100 ; Sample rate
kr = 44100 ; Kontrol rate
ksmps = 1 ; Samples/Kontrol period This must be 1 to make sure to update time appropriately
nchnls = 2 ; Normal stereo
;---------------------------------------------------------
; Pendula
;---------------------------------------------------------
instr 50
idur	=	p3 ; Duration
iamp	=	p4	 ; Amplitude
il0 = p5	 ; Length of pendulum
ib = p6	 ; Damping factor for pendulum (smaller damping will ring longer)
ig = p7	 ; Gravity
kdclk linseg 0, .005, 1, idur-.01, 1, .005, 0
atime init 0	 ; Need to start time at 0
atime = atime + .1	 ; Time is incremented each sample
ialpha0 = ib/2/il0	; Calculate alpha exponential decay factor
aamp0 = 1*exp(-ialpha0*atime) ; Calculate exponetial decay
aout0 = aamp0*cos(sqrt(ig/il0-ib/il0/il0)*atime) ; Calculate the oscillator times amplitude
apan = .5 + aout0/2
outs aout0*iamp*apan*kdclk, aout0*iamp*(1-apan)*kdclk ; Amplify and output
;outs aout0*iamp*sqrt(apan)*kdclk, aout0*iamp*sqrt(1-apan)*kdclk ; Amplify and output
;outs aout0*iamp*kdclk, -aout0*iamp*kdclk ; Amplify and output
endin


;-------------------------------------------------------------------------
f1 0 65536 10 1
; Pendula
;	Sta	Dur	Amp PendL Damp	Gravity
i50	0.0	10	3000	 100 0.02	9.81
i50	.	.	.	 90	 .	.
i50	.	.	.	 80 .	.
i50	.	.	.	 70 .	.
i50	.	.	.	 60	 .	.
i50	.	.	.	 50	 .	.
i50	.	.	.	 40 .	.
i50	.	.	.	 30 .	.
i50	.	.	.	 20 .	.
i50	.	.	.	 10	 .	.
; Pendula
;	Sta	Dur	Amp PendL Damp	Gravity
i50	10.0	10	3000	 100 0.02	9.81
i50	.	.	.	 95	 .	.
i50	.	.	.	 90 .	.
i50	.	.	.	 85 .	.
i50	.	.	.	 80	 .	.
i50	.	.	.	 75	 .	.
i50	.	.	.	 70 .	.
i50	.	.	.	 65 .	.
i50	.	.	.	 60 .	.
i50	.	.	.	 55	 .	.
; Pendula
;	Sta	Dur	Amp PendL Damp	Gravity
i50	20.0	5	3000	 200 0.1	9.81
i50	.	.	.	 100	 .	.
i50	.	.	.	 50 .	.
i50	.	.	.	 25 .	.
i50	.	.	.	 12	 .	.
i50	.	.	.	 6	 .	.
; Pendula
;	Sta	Dur	Amp PendL Damp	Gravity
i50	25.0	5	3000	 100 0.05	9.81
i50	.	.	.	 90	 .	.
i50	.	.	.	 81 .	.
i50	.	.	.	 73 .	.
i50	.	.	.	 66	 .	.
i50	.	.	.	 59	 .	.
i50	.	.	.	 53 .	.
i50	.	.	.	 48 .	.
i50	.	.	.	 43 .	.
i50	.	.	.	 39	 .	.