Audio output is a tone related to a brass instrument, using a physical model developed from Perry Cook, but re-coded for Csound.
iatt -- time taken to reach full pressure
ifn -- table of shape of vibrato, usually a sine table, created by a function
iminfreq -- lowest frequency at which the instrument will play. If it is omitted it is taken to be the same as the initial kfreq. If iminfreq is negative, initialization will be skipped.
A note is played on a brass-like instrument, with the arguments as below.
kamp -- Amplitude of note.
kfreq -- Frequency of note played.
ktens -- lip tension of the player. Suggested value is about 0.4
kvibf -- frequency of vibrato in Hertz. Suggested range is 0 to 12
kvamp -- amplitude of the vibrato
NOTE |
This is rather poor, and at present uncontrolled. Needs revision, and possibly more parameters. |
Here is an example of the wgbrass opcode. It uses the files wgbrass.orc and wgbrass.sco.
Example 15-1. Example of the wgbrass opcode.
/* wgbrass.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
kamp = 31129.60
kfreq = 440
ktens = 0.4
iatt = 0.1
kvibf = 6.137
ifn = 1
; Create an amplitude envelope for the vibrato.
kvamp line 0, p3, 0.5
a1 wgbrass kamp, kfreq, ktens, iatt, kvibf, kvamp, ifn
out a1
endin
/* wgbrass.orc */
/* wgbrass.sco */
; Table #1, a sine wave.
f 1 0 128 10 1
; Play Instrument #1 for one second.
i 1 0 1
e
/* wgbrass.sco */