fixed chorus and using modwheel to morph.

This commit is contained in:
severak 2021-01-01 17:50:45 +01:00
parent 687df836eb
commit 8e5e65b4cc
1 changed files with 15 additions and 30 deletions

View File

@ -1,6 +1,6 @@
<Cabbage> bounds(0, 0, 0, 0)
form caption("Amateur") size(400, 300), colour(0, 51, 153),pluginid("amat")
keyboard bounds(6, 170, 381, 95)
keyboard bounds(6, 170, 381, 95) value(53)
combobox bounds(4, 38, 110, 20) channel("osc1") text("piano", "el piano (SIN)", "e-bass", "e-organ (SAW)", "distorted", "guitar (SQR)", "organ", "oboe")
combobox bounds(172, 38, 103, 20) text("piano", "el piano (SIN)", "e-bass", "e-organ (SAW)", "distorted", "guitar (SQR)", "organ", "oboe") channel("osc2") value(2)
@ -10,7 +10,7 @@ rslider bounds(204, 0, 37, 33) range(1, 3, 2, 1, 1) channel("osc2transpose")
rslider bounds(122, 30, 45, 37) range(0, 1, 0.5, 1, 0.001) channel("oscmix")
label bounds(106, 8, 80, 16) text("OSC")
label bounds(20, 74, 80, 16) text("ENV")
label bounds(36, 74, 80, 16) text("ENV")
rslider bounds(4, 96, 55, 43) range(0.01, 1, 0.01, 1, 0.001) channel("attack")
rslider bounds(94, 94, 53, 45) range(0.01, 1, 0.5, 1, 0.001) channel("decay")
checkbox bounds(64, 100, 27, 30) channel("hold") value(1)
@ -31,6 +31,8 @@ rslider bounds(346, 98, 48, 41) range(0, 1, 0, 1, 0.001) channel("reverb")
label bounds(346, 142, 49, 16) text("reverb")
vslider bounds(152, 72, 50, 87) range(0, 1, 0.5, 1, 0.001) channel("vol")
checkbox bounds(8, 272, 18, 19) channel("wheelmix")
label bounds(32, 274, 179, 17) text("mix with modwheel?") channel("wheelmix")
</Cabbage>
<CsoundSynthesizer>
<CsOptions>
@ -83,29 +85,6 @@ opcode Phaser,a,akkkKki
xout aout ;SEND AUDIO BACK TO CALLER INSTRUMENT
endop
opcode PhaserSt,aa,aakkkKki
ainL,ainR,krate,kdepth,kfreq,kstages,kfback,ishape xin ;READ IN INPUT ARGUMENTS
if ishape=1 then
klfo lfo kdepth*0.5, krate, 1 ;LFO FOR THE PHASER (TRIANGULAR SHAPE)
elseif ishape=2 then
klfo lfo kdepth*0.5, krate, 0 ;LFO FOR THE PHASER (SINE SHAPE)
elseif ishape=3 then
klfo lfo kdepth*0.5, krate, 2 ;LFO FOR THE PHASER (SQUARE SHAPE)
elseif ishape=4 then
klfo lfo kdepth*0.5, krate, 4 ;LFO FOR THE PHASER (SAWTOOTH)
elseif ishape=5 then
klfo lfo kdepth*0.5, krate, 5 ;LFO FOR THE PHASER (SAWTOOTH)
elseif ishape=6 then
klfo randomi -kdepth*0.5, kdepth*0.5, krate*8 ;LFO FOR THE PHASER (RANDOMI SHAPE)
klfo portk klfo, 1/(krate*8) ;SMOOTH CHANGES OF DIRECTION
elseif ishape=7 then
klfo randomh -kdepth*0.5, kdepth*0.5, krate ;LFO FOR THE PHASER (RANDOMH SHAPE)
endif
aoutL phaser1 ainL, cpsoct((klfo+(kdepth*0.5)+kfreq)), kstages, kfback ;PHASER1 IS APPLIED TO THE INPUT AUDIO
aoutR phaser1 ainR, cpsoct((klfo+(kdepth*0.5)+kfreq)), kstages, kfback ;PHASER1 IS APPLIED TO THE INPUT AUDIO
xout aoutL,aoutR ;SEND AUDIO BACK TO CALLER INSTRUMENT
endop
/* ------- */
;instrument will be triggered by keyboard widget
@ -115,13 +94,19 @@ instr 1
iosc1 chnget "osc1"
iosc1_transpose chnget "osc1transpose"
aOutA poscil3 0.6, kcps, giWaves[iosc1]
aOutA poscil3 0.6, kcps * giTranspose[iosc1_transpose], giWaves[iosc1]
iosc2 chnget "osc2"
iosc2_transpose chnget "osc2transpose"
aOutB poscil3 0.6, kcps * giTranspose[iosc2_transpose], giWaves[iosc2]
koscmix chnget "oscmix"
iwheelmix chnget "wheelmix"
if iwheelmix==1 then
koscmix midictrl 1 , 0 , 1
printk(0.2,koscmix)
else
koscmix chnget "oscmix"
endif
aOut ntrpol aOutA, aOutB, koscmix
iattack chnget "attack"
@ -166,8 +151,8 @@ instr 2
aLchorus = aL + a1
aRchorus = aR + a2
aL = aL + (aLchorus * kchorus)
aR = aR + (aRchorus * kchorus)
aL ntrpol aL, aLchorus, kchorus
aR ntrpol aR, aRchorus, kchorus
; reverb
kreverb chnget "reverb"