Horowitz Duo finished.
This commit is contained in:
parent
2901857b9f
commit
a7ca4de15d
|
@ -46,6 +46,51 @@ nchnls = 2
|
|||
|
||||
giSplit[] fillarray 0, 59, 64, 20, 109
|
||||
|
||||
;Author: Iain McCurdy (2012)
|
||||
;http://iainmccurdy.org/csound.html
|
||||
|
||||
opcode StChorus,aa,aakkakk
|
||||
ainL,ainR,krate,kdepth,aoffset,kwidth,kmix xin ;READ IN INPUT ARGUMENTS
|
||||
ilfoshape ftgentmp 0, 0, 131072, 19, 1, 0.5, 0, 0.5 ;POSITIVE DOMAIN ONLY SINE WAVE
|
||||
kporttime linseg 0,0.001,0.02 ;RAMPING UP PORTAMENTO VARIABLE
|
||||
kChoDepth portk kdepth*0.01, kporttime ;SMOOTH VARIABLE CHANGES WITH PORTK
|
||||
aChoDepth interp kChoDepth ;INTERPOLATE TO CREATE A-RATE VERSION OF K-RATE VARIABLE
|
||||
amodL osciliktp krate, ilfoshape, 0 ;LEFT CHANNEL LFO
|
||||
amodR osciliktp krate, ilfoshape, kwidth*0.5 ;THE PHASE OF THE RIGHT CHANNEL LFO IS ADJUSTABLE
|
||||
amodL = (amodL*aChoDepth)+aoffset ;RESCALE AND OFFSET LFO (LEFT CHANNEL)
|
||||
amodR = (amodR*aChoDepth)+aoffset ;RESCALE AND OFFSET LFO (RIGHT CHANNEL)
|
||||
aChoL vdelay ainL, amodL*1000, 1.2*1000 ;CREATE VARYING DELAYED / CHORUSED SIGNAL (LEFT CHANNEL)
|
||||
aChoR vdelay ainR, amodR*1000, 1.2*1000 ;CREATE VARYING DELAYED / CHORUSED SIGNAL (RIGHT CHANNEL)
|
||||
aoutL ntrpol ainL*0.6, aChoL*0.6, kmix ;MIX DRY AND WET SIGNAL (LEFT CHANNEL)
|
||||
aoutR ntrpol ainR*0.6, aChoR*0.6, kmix ;MIX DRY AND WET SIGNAL (RIGHT CHANNEL)
|
||||
xout aoutL,aoutR ;SEND AUDIO BACK TO CALLER INSTRUMENT
|
||||
endop
|
||||
|
||||
opcode StChorusRspline,aa,aakkkkkk
|
||||
ainL,ainR,krate,kdereg,kdepth,koffset,kwidth,kmix xin ;READ IN INPUT ARGUMENTS
|
||||
kporttime linseg 0,0.001,0.02 ;RAMPING UP PORTAMENTO VARIABLE
|
||||
kChoDepth portk kdepth*0.01, kporttime ;SMOOTH VARIABLE CHANGES WITH PORTK
|
||||
kmod1 rspline koffset,kChoDepth, krate*4+0.01, ((krate*4*kdereg)+0.01)
|
||||
kmod2 rspline kChoDepth,koffset, krate*4+0.01, ((krate*4*kdereg)+0.01)
|
||||
kmod1 limit kmod1,0.0001,1.2
|
||||
kmod2 limit kmod2,0.0001,1.2
|
||||
amod1 interp kmod1
|
||||
amod2 interp kmod2
|
||||
aCho1 vdelay ainL, amod1*1000, 1.2*1000 ;CREATE VARYING DELAYED / CHORUSED SIGNAL (LEFT CHANNEL)
|
||||
aCho2 vdelay ainR, amod2*1000, 1.2*1000 ;CREATE VARYING DELAYED / CHORUSED SIGNAL (RIGHT CHANNEL)
|
||||
kpan rspline 0,1,krate,2*krate*kdereg ;PANNING
|
||||
kpan limit kpan,0,1
|
||||
apan interp kpan
|
||||
aChoL = (aCho1*apan)+(aCho2*(1-apan))
|
||||
aChoR = (aCho2*apan)+(aCho1*(1-apan))
|
||||
aChoL ntrpol aChoL,aCho1,kwidth ;WIDTH PROCESSING BETWEEN AUTO-PANNED AND HARD-PANNED
|
||||
aChoR ntrpol aChoR,aCho2,kwidth
|
||||
aoutL ntrpol ainL*0.6, aChoL*0.6, kmix ;MIX DRY AND WET SIGNAL (LEFT CHANNEL)
|
||||
aoutR ntrpol ainR*0.6, aChoR*0.6, kmix ;MIX DRY AND WET SIGNAL (RIGHT CHANNEL)
|
||||
xout aoutL,aoutR ;SEND AUDIO BACK TO CALLER INSTRUMENT
|
||||
endop
|
||||
|
||||
|
||||
;instrument will be triggered by keyboard widget
|
||||
instr 1
|
||||
irawsplit chnget "split"
|
||||
|
@ -100,16 +145,51 @@ instr 1
|
|||
|
||||
if inotnum>isplit then
|
||||
kVol chnget "hi_volume"
|
||||
chnmix aOut*kEnv*kVol, "ahi"
|
||||
else
|
||||
kVol chnget "lo_volume"
|
||||
chnmix aOut*kEnv*kVol, "alo"
|
||||
endif
|
||||
|
||||
outs aOut*kEnv*kVol, aOut*kEnv*kVol
|
||||
;outs aOut*kEnv*kVol, aOut*kEnv*kVol
|
||||
endin
|
||||
|
||||
instr 2
|
||||
khi_chorus chnget "hi_chorus"
|
||||
klo_chorus chnget "lo_chorus"
|
||||
|
||||
aHi chnget "ahi"
|
||||
aLo chnget "alo"
|
||||
krate = 0.5
|
||||
kdereg = 0
|
||||
kdepth = 0.2
|
||||
koffset = 0.001
|
||||
kwidth = 0.75
|
||||
|
||||
; TODO - reverse engineer this part
|
||||
kporttime linseg 0,0.001,0.05
|
||||
koffset portk koffset,kporttime*0.5
|
||||
aoffset interp koffset
|
||||
|
||||
kdereg rspline -kdereg, kdereg, 0.1, 0.5
|
||||
ktrem rspline 0,-1,0.1,0.5
|
||||
ktrem pow 2,ktrem
|
||||
|
||||
|
||||
aHiL,aHiR StChorus aHi,aHi,krate*octave(kdereg),kdepth*ktrem,aoffset,kwidth,khi_chorus
|
||||
aLoL,aLoR StChorus aLo,aLo,krate*octave(kdereg),kdepth*ktrem,aoffset,kwidth,klo_chorus
|
||||
|
||||
outs aHiL + aLoL, aHiR + aLoR
|
||||
|
||||
chnclear "ahi"
|
||||
chnclear "alo"
|
||||
endin
|
||||
|
||||
|
||||
</CsInstruments>
|
||||
<CsScore>
|
||||
;causes Csound to run for about 7000 years...
|
||||
f0 z
|
||||
i2 0 -1
|
||||
</CsScore>
|
||||
</CsoundSynthesizer>
|
||||
|
|
Loading…
Reference in New Issue