MixerSend
Mixes an arate signal into a channel of a buss.
Syntax
Initialization
isend -- The number of the send, for example the number of the instrument sending the signal. The gain of the send is controlled by the MixerSetLevel opcode. The reason that the sends are numbered is to enable different levels for different sends to be set independently of the actual level of the signals.
ibuss -- The number of the buss, for example the number of the instrument receiving the signal.
ichannel -- The number of the channel. Each buss has
Performance
asignal -- The signal that will be mixed into the indicated channel of the buss.
Use of the mixer requires that instruments setting gains have smaller numbers than instruments sending signals, and that instruments sending signals have smaller numbers than instruments receiving those signals. However, an instrument may have any number of sends or receives. After the final signal is received, MixerClear must be invoked to reset the busses to 0 before the next kperiod.
Examples
instr 100 ; Fluidsynth output
; INITIALIZATION
; Normalize so iamplitude for p5 of 80 == ampdb(80).
iamplitude = ampdb(p5) * 2.0
; AUDIO
aleft, aright fluidAllOut giFluidsynth
asig1 = aleft * iamplitude
asig2 = aright * iamplitude
; To the chorus.
MixerSend asig1, 100, 200, 0
MixerSend asig2, 100, 200, 1
; To the reverb.
MixerSend asig1, 100, 210, 0
MixerSend asig2, 100, 210, 1
; To the output.
MixerSend asig1, 100, 220, 0
MixerSend asig2, 100, 220, 1
endin
Here is a complete example of the MixerSend opcode. It uses the file Mixer.csd
See also
Credits
Michael Gogins (gogins at pipeline dot com).