STKShakers

STKShakers — STKShakers is an instrument that simulates environmental sounds or collisions of multiple independent sound producing objects.

Description

STKShakers are a set of PhISEM and PhOLIES instruments: PhISEM (Physically Informed Stochastic Event Modeling) is an algorithmic approach for simulating collisions of multiple independent sound producing objects. It can simulate a Maraca, Sekere, Cabasa, Bamboo Wind Chimes, Water Drops, Tambourine, Sleighbells, and a Guiro. On http://soundlab.cs.princeton.edu/research/controllers/shakers/ PhOLIES (Physically-Oriented Library of Imitated Environmental Sounds) there is a similar approach for the synthesis of environmental sounds. It simulates of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and more..

Syntax

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

Initialization

ifrequency -- Frequency of note played, in Hertz.

iamplitude -- Amplitude of note played (range 0-1).

Performance

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

  • kc, kv -- 2, shake energy.

  • kc, kv -- 4, system decay.

  • kc, kv -- 128, shake energy.

  • kc, kv -- 11, number of objects.

  • kc, kv -- 1, resonance frequency.

  • kc, kv -- 1071, instrument selection (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).

[Note] Note

The code for this opcode is taken directly from the Shakers 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

Examples

Here is an example of the STKShakers opcode. It uses the file STKShakerscsd.

Example 756. Example of the STKShakers 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 STKShakers.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

ifrq	=	p4

asig	STKShakers cpspch(p4), 1, 2, 10, 4, 10, 11, 10, 1, 112, 128, 80, 1071, 5
asig	=	asig				;amplify
	outs asig, asig
endin

</CsInstruments>
<CsScore>

i 1 0.2 .5 7.00 75  0  20

e
</CsScore>
</CsoundSynthesizer>


Credits

Author: Michael Gogins (after Georg Essl)
Irreducible Productions
New York, NY

New in Csound version 5.11