-odac
;Example by Joachim Heintz
sr = 44100
ksmps = 441
nchnls = 2
0dbfs = 1
giSine ftgen 0, 0, 256, 10, 1; sine wave
seed 0; each time different seed
opcode TabDirtk, 0, ikk
;"dirties" a function table by applying random deviations at a k-rate trigger
;input: function table, trigger (1 = perform manipulation),
;deviation as percentage
ift, ktrig, kperc xin
if ktrig == 1 then ;just work if you get a trigger signal
kndx = 0
loop:
krand random -kperc/100, kperc/100
kval tab kndx, ift; read old value
knewval = kval + (kval * krand); calculate new value
tabw knewval, kndx, giSine; write new value
loop_lt kndx, 1, ftlen(ift), loop; loop construction
endif
endop
instr 1
kTrig metro 1, .00001 ;trigger signal once per second
TabDirtk giSine, kTrig, 10
aSig poscil .2, 400, giSine
outs aSig, aSig
endin
i 1 0 10