summaryrefslogtreecommitdiff
path: root/examples/partikkel.csd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/partikkel.csd')
-rw-r--r--examples/partikkel.csd78
1 files changed, 78 insertions, 0 deletions
diff --git a/examples/partikkel.csd b/examples/partikkel.csd
new file mode 100644
index 0000000..83d255c
--- /dev/null
+++ b/examples/partikkel.csd
@@ -0,0 +1,78 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out Audio in
+-odac -iadc ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o partikkel.wav -W ;;; for file output any platform
+</CsOptions>
+
+<CsInstruments>
+
+sr = 44100
+ksmps = 20
+nchnls = 2
+
+giSine ftgen 0, 0, 65537, 10, 1
+giCosine ftgen 0, 0, 8193, 9, 1, 1, 90
+
+instr 1
+
+kgrainfreq = 200 ; 4 grains per second
+kdistribution = 0 ; periodic grain distribution
+idisttab = -1 ; (default) flat distribution used for grain distribution
+async = 0 ; no sync input
+kenv2amt = 0 ; no secondary enveloping
+ienv2tab = -1 ; default secondary envelope (flat)
+ienv_attack = -1 ; ; default attack envelope (flat)
+ienv_decay = -1 ; ; default decay envelope (flat)
+ksustain_amount = 0.5 ; time (in fraction of grain dur) at sustain level for each grain
+ka_d_ratio = 0.5 ; balance between attack and decay time
+kduration = (0.5/kgrainfreq)*1000 ; set grain duration relative to grain rate
+kamp = 5000 ; amp
+igainmasks = -1 ; (default) no gain masking
+kwavfreq = 440 ; fundamental frequency of source waveform
+ksweepshape = 0 ; shape of frequency sweep (0=no sweep)
+iwavfreqstarttab = -1 ; default frequency sweep start (value in table = 1, which give no frequency modification)
+iwavfreqendtab = -1 ; default frequency sweep end (value in table = 1, which give no frequency modification)
+awavfm = 0 ; no FM input
+ifmamptab = -1 ; default FM scaling (=1)
+kfmenv = -1 ; default FM envelope (flat)
+icosine = giCosine ; cosine ftable
+kTrainCps = kgrainfreq ; set trainlet cps equal to grain rate for single-cycle trainlet in each grain
+knumpartials = 3 ; number of partials in trainlet
+kchroma = 1 ; balance of partials in trainlet
+ichannelmasks = -1 ; (default) no channel masking, all grains to output 1
+krandommask = 0 ; no random grain masking
+kwaveform1 = giSine ; source waveforms
+kwaveform2 = giSine ;
+kwaveform3 = giSine ;
+kwaveform4 = giSine ;
+iwaveamptab = -1 ; (default) equal mix of all 4 sourcve waveforms and no amp for trainlets
+asamplepos1 = 0 ; phase offset for reading source waveform
+asamplepos2 = 0 ;
+asamplepos3 = 0 ;
+asamplepos4 = 0 ;
+kwavekey1 = 1 ; original key for source waveform
+kwavekey2 = 1 ;
+kwavekey3 = 1 ;
+kwavekey4 = 1 ;
+imax_grains = 100 ; max grains per k period
+
+a1 partikkel kgrainfreq, kdistribution, idisttab, async, kenv2amt, ienv2tab, \
+ ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, kduration, kamp, igainmasks, \
+ kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \
+ ifmamptab, kfmenv, icosine, kTrainCps, knumpartials, \
+ kchroma, ichannelmasks, krandommask, kwaveform1, kwaveform2, kwaveform3, kwaveform4, \
+ iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
+ kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains
+
+outs a1, a1
+endin
+
+</CsInstruments>
+<CsScore>
+i1 0 5 ; partikkel
+e
+</CsScore>
+</CsoundSynthesizer>