/***************************************************
"Vibrato Trajectories"
by Darren Nelsen
2007
Code revised 2008 - with updated csound techniques, ie. ftgen and named instruments, and higher sine wave resolution
© 2007, 2008 Darren Nelsen. Licensed to the public under http://creativecommons.org/licenses/by-nc-sa/3.0/
***************************************************/
sr = 44100
ksmps = 1
nchnls = 2
gi_sine ftgen 0, 0, 2^16, 10, 1
gi_sawtooth ftgen 0, 0, 2^14, 10, 1, .5, .333333, .25, .2, .166667, .142857, .125, .111111, .1, .090909, .083333, .076923, .071, .066, .062
gi_square ftgen 0, 0, 2^14, 10, 1, 0, .333333, 0, .2, 0, .142857, 0, .111111, 0, .090909, 0, .076923
instr MainIns
; Main Drone Instrument
idur = p3
iamp = p4
ifqc = p5
ifun = p6
iatk = p7
irel = p8
iVibratoSpeed1 = p9
iVibratoSpeed2 = p10
iVibratoSpeed3 = p11
iGoldenRatio = 1.618
; low freq osc for vibrato
kVibratoDepth = k(p12)
kVibratoSpeed linseg iVibratoSpeed1, idur/iGoldenRatio, iVibratoSpeed2, idur-(idur/iGoldenRatio), iVibratoSpeed3
;display kVibratoSpeed, idur
iVibratoWaveform = 103
klfo oscil kVibratoDepth, kVibratoSpeed, iVibratoWaveform
; output of the vibrato values
outvalue "vibSpeed", kVibratoSpeed
outvalue "dur", idur
; amplitude envelope
kenv linen iamp, iatk, idur, irel
; two oscillators, detuned slightly creates impression of stereo image
asigl oscil kenv, ifqc*0.999*(1+klfo), ifun
asigr oscil kenv, ifqc*1.001*(1+klfo), ifun
outs asigl, asigr
endin
instr PanIns
;; TOP LEVEL DRONES/LINES
idur = p3
iamp = p4
ifqc = p5
ifun = p6
iatk = p7
irel = p8
iVibratoSpeed1 = p9
iVibratoSpeed2 = p10
iVibratoSpeed3 = p11
iGoldenRatio = 1.618
; low freq osc for vibrato
kVibratoDepth = k(p12)
kVibratoSpeed linseg iVibratoSpeed1, idur/iGoldenRatio, iVibratoSpeed2, idur-(idur/iGoldenRatio), iVibratoSpeed3
iVibratoWaveform = 103
klfo oscil kVibratoDepth, kVibratoSpeed, iVibratoWaveform
; output of the vibrato values
outvalue "vibSpeed", kVibratoSpeed
outvalue "dur", idur
; panning
iPanFrom = p13
iPanTo = p14
kPanLine line iPanFrom, idur, iPanTo
kpan2 = kPanLine*3.14159265*.5
kpanl = cos(kpan2)
kpanr = sin(kpan2)
; amplitude envelope
kenv linen iamp, iatk, idur, irel
aout oscil kenv, ifqc*(1+klfo), ifun
outs aout*kpanl, aout*kpanr
endin
; tempo
t 0 90
; MAIN VIBRATO DRONE
; vd = vibrato depth
; vs = vibrato speed
; parameter1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12
; instrument st dur amp pch wvshp atk rel vs1 vs2 vs3 vd
i "MainIns" 0 310 10000 140 101 10 20 3 20 4 .1
; MID VIBRATO DRONE
; vd = vibrato depth
; vs = vibrato speed
; parameter1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14
; instrument st dur amp pch wvshp atk rel vs1 vs2 vs3 vd panfr panto
i "PanIns" 18 280 2500 140 102 20 15 1 10 2 .1 .4 .6
; HIGHER VIBRATO DRONES
; higher pitched, "moving" lines.
i "PanIns" 38 240 4100 280 103 20 15 20 3 7 .6 .9 .1
i "PanIns" 46 . . 260 . . . . . . .5 .1 .9
e
Version: 3
Render: File
Ask: No
Functions: ioObject
Listing: ioObject
WindowBounds: 317 172 1483 1145
CurrentView: options
IOViewEdit: Off
Options: -b128 -A -o/Users/darren/Music/Csound/Vibrato Trajectories/Vibrato Trajectories.aif -l -m7 -R
ioView background {60108, 65535, 63132}
ioListing {75, 438} {699, 325}
ioGraph {163, 38} {496, 396}
ioSlider {90, 39} {34, 229} 20.000000 2000.000000 139.988007 pitch
ioText {64, 267} {87, 24} display 139.988007 0.001000 "pitch" center "Lucida Grande" 10 {0, 0, 0} {65535, 65535, 65535} nobackground noborder
ioText {70, 16} {75, 24} label 0.000000 0.001000 "" center "Lucida Grande" 10 {0, 0, 0} {65535, 65535, 65535} nobackground noborder Pitch
ioSlider {699, 56} {34, 249} 60.000000 20000.000000 2801.750000 centerFreq
ioSlider {746, 105} {207, 34} 1.000000 1000.000000 755.844421 bandwidth
ioText {676, 307} {80, 24} display 2801.750000 0.001000 "centerFreq" center "Lucida Grande" 10 {0, 0, 0} {65535, 65535, 65535} nobackground noborder
ioText {808, 142} {83, 24} display 755.844421 0.001000 "bandwidth" center "Lucida Grande" 10 {0, 0, 0} {65535, 65535, 65535} nobackground noborder
ioText {665, 16} {102, 37} label 0.000000 0.001000 "" center "Lucida Grande" 10 {0, 0, 0} {65535, 65535, 65535} nobackground noborder Bandpass FilterÂCenter Freq
ioText {798, 65} {102, 37} label 0.000000 0.001000 "" center "Lucida Grande" 10 {0, 0, 0} {65535, 65535, 65535} nobackground noborder Bandpass FilterÂBandwidth