160 lines
3.6 KiB
Plaintext
160 lines
3.6 KiB
Plaintext
gktempo init 1
|
|
gkphasor init 0
|
|
gkslowph init 0
|
|
gkbeat init 0
|
|
gkgain init 0.05
|
|
#define tempo #gktempo#
|
|
|
|
instr metronome_instr
|
|
kenv = expseg(1.01, p3, 0.01) - 0.01
|
|
asig = oscili(0.3, 3000) * kenv
|
|
chnmix(asig, "out1")
|
|
chnmix(asig, "out2")
|
|
endin
|
|
|
|
opcode metronome, 0, 0
|
|
kmet = gkbeat
|
|
if (kmet == 1) then
|
|
schedulek("metronome_instr", 0, 0.1)
|
|
endif
|
|
endop
|
|
|
|
instr gclock
|
|
gkphasor = phasor:k(gktempo)
|
|
gkslowph = phasor:k(gktempo / 100)
|
|
gkbeat = metro:k(gktempo)
|
|
endin
|
|
schedule("gclock", 0, -1)
|
|
|
|
opcode reset_clock, 0, 0
|
|
turnoff2( nstrnum("gclock"), 0, 0)
|
|
schedule("gclock", 0.01, -1)
|
|
endop
|
|
|
|
instr audio_out
|
|
|
|
a1 = clip:a(chnget:a("out1"), 0, 0.99);limit:a(chnget:a("out1"), -1, 1) ;* gkgain
|
|
a2 = clip:a(chnget:a("out2"), 0, 0.99);limit:a(chnget:a("out2"), -1, 1) ;* gkgain
|
|
chnclear("out1")
|
|
chnclear("out2")
|
|
outs a1, a2
|
|
endin
|
|
schedule("audio_out", 0, -1)
|
|
|
|
|
|
gklorenz_speed init 0.00001
|
|
|
|
gklorenz_x init 0
|
|
gklorenz_y init 0
|
|
gklorenz_z init 0
|
|
gkmirlorenz_x init 0
|
|
gkmirlorenz_y init 0
|
|
gkmirlorenz_z init 0
|
|
galorenz_x init 0
|
|
galorenz_y init 0
|
|
galorenz_z init 0
|
|
|
|
opcode lorenz_ctl, aaa, kppp
|
|
kspeed, ix, iy, iz xin
|
|
kspeed = limit:k(kspeed, 0.0000001, 0.09)
|
|
ksv init 10
|
|
krv init 28
|
|
kbv init 2.6
|
|
; kh init 0.001
|
|
kh = kspeed
|
|
ix = (ix != 0) ? ix : 0.6
|
|
iy = (iy != 0) ? iy : 0.6
|
|
iz = (iz != 0) ? iz : 0.6
|
|
iskip = 1
|
|
ax1, ay1, az1 lorenz ksv, krv, kbv, kh, ix, iy, iz, iskip
|
|
|
|
ax1 /= krv
|
|
ay1 /= krv
|
|
az1 /= krv
|
|
|
|
xout ax1, ay1, az1
|
|
endop
|
|
|
|
#define LORENZ_TIME #720#
|
|
|
|
instr lorenz_sched
|
|
ix = random:i(0, 1)
|
|
iy = random:i(0, 1)
|
|
iz = random:i(0, 1)
|
|
ax, ay, az lorenz_ctl gklorenz_speed, ix, iy, iz
|
|
gklorenz_x = lag(k(ax), 0.01)
|
|
gklorenz_y = lag(k(ay), 0.01)
|
|
gklorenz_z = lag(k(az), 0.01)
|
|
gkmirlorenz_x = mirror:k(gklorenz_x, 0, 1)
|
|
gkmirlorenz_y = mirror:k(gklorenz_y, 0, 1)
|
|
gkmirlorenz_z = mirror:k(gklorenz_z, 0, 1)
|
|
galorenz_x = ax
|
|
galorenz_y = ay
|
|
galorenz_z = az
|
|
schedule("lorenz_sched", $LORENZ_TIME, $LORENZ_TIME)
|
|
endin
|
|
|
|
schedule("lorenz_sched", 0, $LORENZ_TIME)
|
|
|
|
#define FQ #
|
|
isavage_mode init p6
|
|
ifq mtof inote
|
|
|
|
ksavage init 0
|
|
if (isavage_mode == 1) then
|
|
ksavage = savage_1()
|
|
elseif (isavage_mode == 2) then
|
|
ksavage = savage_2()
|
|
elseif (isavage_mode == 3) then
|
|
ksavage = savage_3()
|
|
elseif (isavage_mode == 4) then
|
|
ksavage = savage_4()
|
|
elseif (isavage_mode == 5) then
|
|
ksavage = savage_5()
|
|
endif
|
|
|
|
kfq = limit:k(ifq + (ksavage * ifq), 20, 20000)
|
|
#
|
|
|
|
#define FQPERC #
|
|
isavage_mode = rint:i(1, 5)
|
|
ksavage init 0
|
|
if (isavage_mode == 1) then
|
|
ksavage = savage_1()
|
|
elseif (isavage_mode == 2) then
|
|
ksavage = savage_2()
|
|
elseif (isavage_mode == 3) then
|
|
ksavage = savage_3()
|
|
elseif (isavage_mode == 4) then
|
|
ksavage = savage_4()
|
|
elseif (isavage_mode == 5) then
|
|
ksavage = savage_5()
|
|
endif
|
|
#
|
|
|
|
#define SAVAGE(isavage_mode') #
|
|
ksavage init 0
|
|
if (isavage_mode == 1) then
|
|
ksavage = savage_1()
|
|
elseif (isavage_mode == 2) then
|
|
ksavage = savage_2()
|
|
elseif (isavage_mode == 3) then
|
|
ksavage = savage_3()
|
|
elseif (isavage_mode == 4) then
|
|
ksavage = savage_4()
|
|
elseif (isavage_mode == 5) then
|
|
ksavage = savage_5()
|
|
endif
|
|
#
|
|
|
|
opcode tempo, 0, k
|
|
kval xin
|
|
$tempo = limit:k(kval, 0.001, 10)
|
|
endop
|
|
|
|
opcode chaos_speed, 0, k
|
|
kval xin
|
|
gklorenz_speed = 0.0000001 * (limit:k(kval, 0.01, 100) * 10)
|
|
endop
|
|
|