STKSimple — STKSimple is a wavetable/noise instrument.
STKSimple is a wavetable/noise instrument. It combines a looped wave, a noise source, a biquad resonance filter, a one-pole filter, and an ADSR envelope to create some interesting sounds.
ifrequency -- Frequency of note played, in Hertz.
iamplitude -- Amplitude of note played (range 0-1).
kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8 -- Up to 8 optional k-rate controller pairs for the STK opcodes. Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 4 controller numbers and values that work for STKSimple are:
kc, kv -- 2, position of filter pole.
kc, kv -- 4, noise/pitched cross-fade.
kc, kv -- 11, rate of envelope.
kc, kv -- 128, gain.
![]() |
Note |
---|---|
The code for this opcode is taken directly from the Simple class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here: https://ccrma.stanford.edu/software/stk/classes.html |
Here is an example of the STKSimple opcode. It uses the file STKSimple.csd.
Example 785. Example of the STKSimple opcode.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;RT audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o STKSimple.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifrq = p4 kfil line p5, p3, p6 ;Filter Pole Position knois line 20, p3, 90 ;Noise/Pitched Cross-Fade asig STKSimple cpspch(p4), 1, 2, kfil, 4, knois, 11, 100, 128, 120 outs asig, asig endin </CsInstruments> <CsScore> i 1 0 .5 7.00 100 0 120 i 1 + . 7.05 10 127 220 i 1 + . 8.03 100 0 320 i 1 + 5 5.00 10 10 127 e </CsScore> </CsoundSynthesizer>