ChucK

STK - Instruments

Physical Modelling

StkInstrument

Super-class for STK instruments. Useful for abstracting sets of such ugens.

  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change - numbers are instrument specific, value range: [0.0 - 128.0]

See examples/ugen/STKinstrument.txt

BandedWG

Banded waveguide modeling class. Extends STKInstrument

  • .bowPressure (float, READ/WRITE) bow pressure [0.0 - 1.0]
  • .bowMotion (float, READ/WRITE) bow motion [0.0 - 1.0]
  • .bowRate (float, READ/WRITE) strike Position
  • .strikePosition (float, READ/WRITE) strike Position
  • .integrationConstant - ( float , READ/WRITE ) - ?? [0.0 - 1.0]
  • .modesGain (float, READ/WRITE) amplitude for modes [0.0 - 1.0]
  • .preset (int, READ/WRITE) instrument presets (0 - 3, see above)
  • .pluck (float, READ/WRITE) pluck instrument [0.0 - 1.0]
  • .startBowing (float, READ/WRITE) start bowing [0.0 - 1.0]
  • .stopBowing (float, READ/WRITE) stop bowing [0.0 - 1.0] (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/BandedWG.txt

BlowBotl

STK blown bottle instrument. Extends STKInstrument

  • .noiseGain - ( float , READ/WRITE ) - noise component gain [0.0 - 1.0]
  • .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .volume - ( float , READ/WRITE ) - yet another volume knob [0.0 - 1.0]
  • .startBlowing (float, READ/WRITE) begin blowing [0.0 - 1.0]
  • .stopBlowing (float, READ/WRITE) stop blowing [0.0 - 1.0]
  • .rate (float, READ/WRITE) - rate of attack (sec) (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/BlowBotl.txt

BlowHole

STK clarinet physical model with one register hole and one tonehole. Extends STKInstrument

  • .reed (float, READ/WRITE) reed stiffness [0.0 - 1.0]
  • .noiseGain - ( float , READ/WRITE ) - noise component gain [0.0 - 1.0]
  • .vent (float, READ/WRITE) vent frequency [0.0 - 1.0]
  • .pressure (float, READ/WRITE) pressure [0.0 - 1.0]
  • .tonehole (float, READ/WRITE) tonehole size [0.0 - 1.0]
  • .startBlowing (float, READ/WRITE) start blowing [0.0 - 1.0]
  • .stopBlowing (float, READ/WRITE) stop blowing [0.0 - 1.0]
  • .rate (float, READ/WRITE) rate of change (sec) (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/BlowHole.txt

Bowed

STK bowed string instrument class. Extends STKInstrument

  • .bowPressure - ( float , READ/WRITE ) - bow pressure [0.0 - 1.0]
  • .bowPosition - ( float , READ/WRITE ) - bow position [0.0 - 1.0]
  • .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .volume - ( float , READ/WRITE ) - volume [0.0 - 1.0]
  • .startBowing (float, READ/WRITE) begin bowing [0.0 - 1.0]
  • .stopBowing (float, READ/WRITE) stop bowing [0.0 - 1.0]
  • .rate (float, READ/WRITE) - rate of attack (sec) (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/Bowed.txt

Brass

STK simple brass instrument class. Extends STKInstrument

  • .lip - ( float , READ/WRITE ) - lip tension [0.0 - 1.0]
  • .slide - ( float , READ/WRITE ) - slide length [0.0 - 1.0]
  • .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .volume - ( float , READ/WRITE ) - volume [0.0 - 1.0]
  • .clear - ( float , WRITE only ) - clear instrument
  • .startBlowing (float, READ/WRITE) start blowing [0.0 - 1.0]
  • .stopBlowing (float, READ/WRITE) stop blowing [0.0 - 1.0]
  • .rate (float, READ/WRITE) rate of change (sec) (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/Brass.txt

Clarinet

STK clarinet physical model class. Extends STKInstrument

  • .reed - ( float , READ/WRITE ) - reed stiffness [0.0 - 1.0]
  • .noiseGain - ( float , READ/WRITE ) - noise component gain [0.0 - 1.0]
  • .clear - ( ) - clear instrument .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .pressure - ( float , READ/WRITE ) - pressure/volume [0.0 - 1.0]
  • .startBlowing - ( float , WRITE only ) - start blowing [0.0 - 1.0]
  • .stopBlowing - ( float , WRITE only ) - stop blowing [0.0 - 1.0]
  • .rate - ( float , READ/WRITE ) - rate of attack (sec) (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/Clarinet.txt

Flute

STK flute physical model class. Extends STKInstrument

  • .jetDelay - ( float , READ/WRITE ) - jet delay [...] item
  • .jetReflection - ( float , READ/WRITE ) - jet reflection [...]
  • .endReflection - ( float , READ/WRITE ) - end delay [...]
  • .noiseGain - ( float , READ/WRITE ) - noise component gain [0.0 - 1.0]
  • .clear - ( ) - clear instrument .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .pressure - ( float , READ/WRITE ) - pressure/volume [0.0 - 1.0]
  • .startBlowing (float, READ/WRITE) begin bowing [0.0 - 1.0]
  • .stopBlowing (float, READ/WRITE) stop bowing [0.0 - 1.0]
  • .rate (float, READ/WRITE) - rate of attack (sec) (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/Flute.txt

Mandolin

STK mandolin instrument model class. Extends STKInstrument

  • .bodySize (float, READ/WRITE) body size (percentage)
  • .pluckPos (float, READ/WRITE) pluck position [0.0 - 1.0]
  • .stringDamping (float, READ/WRITE) string damping [0.0 - 1.0]
  • .stringDetune (float, READ/WRITE) detuning of string pair [0.0 - 1.0]
  • .afterTouch (float, READ/WRITE) aftertouch (currently unsupported)
  • .pluck - ( float , WRITE only ) - pluck instrument [0.0 - 1.0] (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/mand-o-matic.ck examples/ugen/Mandolin.txt

ModalBar

STK resonant bar instrument class. Extends STKInstrument

  • .stickHardness - ( float , READ/WRITE ) - stick hardness [0.0 - 1.0]
  • .strikePosition - ( float , READ/WRITE ) - strike position [0.0 - 1.0]
  • .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .directGain - ( float , READ/WRITE ) - direct gain [0.0 - 1.0]
  • .masterGain - ( float , READ/WRITE ) - master gain [0.0 - 1.0]
  • .volume - ( float , READ/WRITE ) - volume [0.0 - 1.0]
  • .preset - ( int , READ/WRITE ) - choose preset (see above)
  • .strike - ( float , WRITE only ) - strike bar [0.0 - 1.0]
  • .damp - ( float , WRITE only ) - damp bar [0.0 - 1.0]
  • .clear - ( ) - reset [none]
  • .mode - ( int , READ/WRITE ) - select mode [0.0 - 1.0]
  • .modeRatio - ( float , READ/WRITE ) - edit selected mode ratio [...]
  • .modeRadius - ( float , READ/WRITE ) - edit selected mode radius [0.0 - 1.0]
  • .modeGain - ( float , READ/WRITE ) - edit selected mode gain [0.0 - 1.0] (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/modalbot.ck examples/ugen/ModalBar.txt

Saxofony

STK faux conical bore reed instrument class. Extends STKInstrument

  • .stiffness - ( float , READ/WRITE ) - reed stiffness [0.0 - 1.0]
  • .aperture - ( float , READ/WRITE ) - reed aperture [0.0 - 1.0]
  • .blowPosition - ( float , READ/WRITE ) - lip stiffness [0.0 - 1.0]
  • .noiseGain - ( float , READ/WRITE ) - noise component gain [0.0 - 1.0]
  • .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .clear - ( ) - clear instrument
  • .pressure - ( float , READ/WRITE ) - pressure/volume [0.0 - 1.0]
  • .startBlowing (float, READ/WRITE) begin blowing [0.0 - 1.0]
  • .stopBlowing (float, READ/WRITE) stop blowing [0.0 - 1.0]
  • .rate (float, READ/WRITE) - rate of attack (sec) (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/Saxofony.txt

Shakers

PhISEM and PhOLIES class emulating systems of particles. Extends STKInstrument

  • .preset - ( int , READ/WRITE ) - select instrument (0 - 22; see below)
  • .energy - ( float , READ/WRITE ) - shake energy [0.0 - 1.0]
  • .decay - ( float , READ/WRITE ) - system decay [0.0 - 1.0]
  • .objects - ( float , READ/WRITE ) - number of objects [0.0 - 128.0] (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

Instrument preset numbers;

  • Maraca = 0
  • Cabasa = 1
  • Sekere = 2
  • Guiro = 3
  • Water Drops = 4
  • Bamboo Chimes = 5
  • Tambourine = 6
  • Sleigh Bells = 7
  • Sticks = 8
  • Crunch = 9
  • Wrench = 10
  • Sand Paper = 11
  • Coke Can = 12
  • Next Mug = 13
  • Penny + Mug = 14
  • Nickle + Mug = 15
  • Dime + Mug = 16
  • Quarter + Mug = 17
  • Franc + Mug = 18
  • Peso + Mug = 19
  • Big Rocks = 20
  • Little Rocks = 21
  • Tuned Bamboo Chimes = 22

See examples/shake-o-matic.ck examples/ugen/Shakers.txt

Sitar

STK sitar string model class. extends STKInstrument

  • .pluck (float, WRITE only) pluck string [0.0 - 1.0]
  • .clear () reset (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/ugen/Sitar.txt

StifKarp

STK plucked stiff string instrument named after and based on the "Karplus-Strong" method of delay-based plucked string synthesis. Extends STKInstrument

  • .pickupPosition - ( float , READ/WRITE ) - pickup position [0.0 - 1.0]
  • .sustain - ( float , READ/WRITE ) - string sustain [0.0 - 1.0]
  • .stretch - ( float , READ/WRITE ) - string stretch [0.0 - 1.0]
  • .pluck - ( float , WRITE only ) - pluck string [0.0 - 1.0]
  • .baseLoopGain - ( float , READ/WRITE ) - ?? [0.0 - 1.0]
  • .clear - ( ) - reset instrument (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/stifkarp.ck examples/ugen/StifKarp.txt

VoicForm

Four formant synthesis instrument. Extends STKInstrument

  • .phoneme (string, READ/WRITE) select phoneme ( see "name" in the table below )
  • .phonemeNum - ( int , READ/WRITE ) - select phoneme by number [0.0 - 128.0] (see "number" in the table below)
  • .speak (float, WRITE only) start singing [0.0 - 1.0]
  • .quiet (float, WRITE only) stop singing [0.0 - 1.0]
  • .voiced (float, READ/WRITE) set mix for voiced component [0.0 - 1.0]
  • .unVoiced (float, READ/WRITE) set mix for unvoiced component [0.0 - 1.0]
  • .pitchSweepRate (float, READ/WRITE) pitch sweep [0.0 - 1.0]
  • .voiceMix (float, READ/WRITE) voiced/unvoiced mix [0.0 - 1.0]
  • .vibratoFreq (float, READ/WRITE) vibrato frequency (Hz)
  • .vibratoGain (float, READ/WRITE) vibrato gain [0.0 - 1.0]
  • .loudness (float, READ/WRITE) 'loudness' of voice [0.0 - 1.0] (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change
 number name
 description  notes
 0  "eee"  beet  
 1  "ihh"  bit  
 2
 "ehh"  bet  
 3
 "aaa"  bat  
 4
 "ahh"  father  
 5
 "aww"  bought  
 6  "ohh"  bone  same as aww (bought)
 7
 "uhh"  but  
 8
 "uuu"  foot  
 9
 "ooo"  boot  
10  "rrr"  bird  
11
 "lll"  lull  
12
 "mmm"  mom  
13
 "nnn"  nun  
14
 "nng"  sang  
15
 "ngg"  bong  
16
 "fff"    
17
 "sss"    
18
 "thh"    
19
 "shh"    
20
 "xxx"    not  done yet
21
 "hee"  beet  
22
 "hoo"  boot  
23
 "hah"  father  
24
 "bbb"    not  done yet
25
 "ddd"    not  done yet
26
 "jjj"    not  done yet
27
 "ggg"    not  done yet
28
 "vvv"    not  done yet
29
 "zzz"    not  done yet
30
 "thz"    not  done yet
31
 "zhh"    
 

See examples/voic-o-form.ck examples/ugen/VoicForm.txt

STK Wavetable Synthesis

Moog

STK moog-like swept filter sampling synthesis class Extends ugen_STKStkInstrument

  • .filterQ - ( float , READ/WRITE ) - filter Q value [0.0 - 1.0]
  • .filterSweepRate - ( float , READ/WRITE ) - filter sweep rate [0.0 - 1.0]
  • .vibratoFreq - ( float , READ/WRITE ) - vibrato frequency (Hz)
  • .vibratoGain - ( float , READ/WRITE ) - vibrato gain [0.0 - 1.0]
  • .afterTouch - ( float , WRITE only ) - aftertouch [0.0 - 1.0] (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See examples/moogie.ck examples/ugen/Moog.txt 

STK - FM Synths

FM

STK abstract FM synthesis base. Extends STKInstrument.

  • .lfoSpeed (float, READ/WRITE) modulation speed (Hz)
  • .lfoDepth (float, READ/WRITE) modulation depth [0.0 - 1.0]
  • .afterTouch (float, READ/WRITE) aftertouch [0.0 - 1.0]
  • .control1 (float, READ/WRITE) FM control 1 [instrument specific]
  • .control2 (float, READ/WRITE) FM control 2 [instrument specific] it (inherited from StkInstrument)
  • .noteOn - (float velocity) - trigger note on
  • .noteOff - (float velocity) - trigger note off
  • .freq - (float frequency) - set/get frequency (Hz)
  • .controlChange - (int number, float value) - assert control change

See class examples/ugen/FM.txt

BeeThree

STK Hammond-oid organ FM synthesis instrument. Extends FM (see super classes)

See examples/ugen/BeeThree.txt

FMVoices

STK singing FM synthesis instrument. Extends FM (see super classes).

  • .vowel (float, WRITE only) select vowel [0.0 - 1.0]
  • .spectralTilt (float, WRITE only) spectral tilt [0.0 - 1.0]
  • .adsrTarget (float, WRITE only) adsr targets [0.0 - 1.0]

See examples/ugen/FMVoices.txt

HevyMetl STK

STK heavy metal FM synthesis instrument. Extends FM (see super classes)

See examples/ugen/HevyMetl.txt

PercFlut

STK percussive flute FM synthesis instrument. Extends FM (see super classes)

See examples/ugen/PercFlut.txt

Rhodey

STK Fender Rhodes-like electric piano. Extends FM (see super classes)

extends FM (see super classes)

See examples/rhodey.ck examples/ugen/Rhodey.txt

TubeBell

STK tubular bell (orchestral chime) FM bell. Extends FM (see super classes).

See examples/ugen/TubeBell.txt 

Wurley

STK Wurlitzer electric piano. Extends FM (see super classes).

See examples/wurley.ck