STKBeeThree — STK Hammond-oid organ-like FM synthesis instrument.


STK Hammond-oid organ-like FM synthesis instrument.

This opcode a simple 4 operator topology, also referred to as algorithm 8 of the TX81Z. It simulates the sound of a Hammond-oid organ, and some related sounds.


asignal STKBeeThree ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]


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 5 controller numbers and values that work for STKBeeThree are:

  • kc, kv -- 2, gain of feedback of operator 4.

  • kc, kv -- 4, gain of operator 3.

  • kc, kv -- 11, speed of low-frequency oscillator.

  • kc, kv -- 1, depth of low-frequency oscillator.

  • kc, kv -- 128, ADSR 2 and 4 target.

[Note] Note

The code for this opcode is taken directly from the BeeThree 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 STKBeeThree opcode. It uses the file STKBeeThree.csd.

Example 738. Example of the STKBeeThree 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 STKBeeThree.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

instr 1

kfdb	=	p6
kop3	line	p4, p3, p5
kvol	line	0, p3, 100
ipch	=	p7

asig	STKBeeThree	cpspch(ipch), 1, 2, kfdb, 4, kop3, 11, 50, 1, 0, 128, kvol
	outs	asig, asig


i 1 0 2 20 100 127 8.00
i 1 + 3 120 0 0 6.09


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

New in Csound version 5.11