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.


asignal STKSimple ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4]]]]


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] 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:


Here is an example of the STKSimple opcode. It uses the file STKSimple.csd.

Example 757. Example of the STKSimple opcode.

; 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

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


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

See Also



Author: Michael Gogins (after Perry Cook)
Irreducible Productions
New York, NY

New in Csound version 5.11