STKModalBar — STKModalBar is a resonant bar instrument.
This opcode is a resonant bar instrument.It has a number of different struck bar instruments.
asignal STKModalBar ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5[, kc6, kv6[, kc7, kv7]]]]]]]
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 7 controller numbers and values that work for STKModalBar are:
kc, kv -- 2, hardness of the stick.
kc, kv -- 4, stick position.
kc, kv -- 11, speed of low-frequency oscillator.
kc, kv -- 1, depth of low-frequency oscillator.
kc, kv -- 8, direct stick mix.
kc, kv -- 128, volume.
kc, kv -- 16, instrument presets (0 = marimba, 1 = vibraphone, 2 = agogo, 3 = wood1, 4 = reso, 5 = wood2, 6 = beats, 7 = two fixed, 8 = clump).
![]() |
Note |
---|---|
The code for this opcode is taken directly from the ModalBar 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 STKModalBar opcode. It uses the file STKModalBar.csd.
Example 776. Example of the STKModalBar 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 STKModalBar.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifrq = p4 khard = p5 ;stick hardness ; asig STKModalBar cpspch(ifrq), 1, 2, khard, 4, 120, 11, 0, 1, 0, 8, 10, 16, 1 asig = asig * 3 ;amplify outs asig, asig endin </CsInstruments> <CsScore> i 1 0 2 8.00 0 i 1 + 2 8.05 120 e </CsScore> </CsoundSynthesizer>