vibes — Physical model related to the striking of a metal block.
Audio output is a tone related to the striking of a metal block as found in a vibraphone. The method is a physical model developed from Perry Cook, but re-coded for Csound.
ihrd -- the hardness of the stick used in the strike. A range of 0 to 1 is used. 0.5 is a suitable value.
ipos -- where the block is hit, in the range 0 to 1.
imp -- a table of the strike impulses. The file marmstk1.wav is a suitable function from measurements and can be loaded with a GEN01 table. It is also available at ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/.
ivfn -- shape of vibrato, usually a sine table, created by a function
idec -- time before end of note when damping is introduced
idoubles (optional) -- percentage of double strikes. Default is 40%.
itriples (optional) -- percentage of triple strikes. Default is 20%.
kamp -- Amplitude of note.
kfreq -- Frequency of note played.
kvibf -- frequency of vibrato in Hertz. Suggested range is 0 to 12
kvamp -- amplitude of the vibrato
Here is an example of the vibes opcode. It uses the file vibes.csd, and marmstk1.wav.
Example 427. Example of the vibes opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out Audio in No messages
-odac -iadc -d ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o vibes.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; Initialize the global variables.
sr = 22050
kr = 2205
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
; kamp = 20000
; kfreq = 440
; ihrd = 0.5
; ipos = 0.561
; imp = 1
; kvibf = 6.0
; kvamp = 0.05
; ivibfn = 2
; idec = 0.1
a1 vibes 20000, 440, 0.5, 0.561, 1, 6.0, 0.05, 2, 0.1
out a1
endin
</CsInstruments>
<CsScore>
; Table #1, the "marmstk1.wav" audio file.
f 1 0 256 1 "marmstk1.wav" 0 0 0
; Table #2, a sine wave for the vibrato.
f 2 0 128 10 1
; Play Instrument #1 for four seconds.
i 1 0 4
e
</CsScore>
</CsoundSynthesizer>