Sends a MIDI controller data (MIDI controller number and value to use) message to a fluid engine by number on the user specified MIDI channel number.
iEngineNumber -- engine number assigned from fluidEngine
iChannelNumber -- MIDI channel number to which the Fluidsynth program is assigned: from 0 to 255. MIDI channels numbered 16 or higher are virtual channels.
iControllerNumber -- MIDI controller number to use for this message
sr = 44100
kr = 4410
ksmps = 10
nchnls = 2
0dbfs = 32767
; LOAD SOUNDFONTS
fluidload "Piano Steinway Grand Model C (21,738KB).sf2", 1, 1, 1 ; Bright Steinway, program 1, channel 1
fluidload "Piano Steinway Grand Model C (21,738KB).sf2", 2, 3, 1 ; Concert Steinway with reverb, program 2, channel 3
fluidload "63.3mg The Sound Site Album Bank V1.0.SF2", 50, 2, 1 ; General MIDI, program 50, channel 2
; SEND NOTES TO STEINWAY SOUNDFONT
instr 1 ; FluidSynth Steinway Rev
; INITIALIZATION
MIDIdefault 60, p3 ; Default duration of 60 -- overridden by score.
MIDInoteonkey p4, p5 ; Channels MIDI input to pfields.
; Use channel assigned in fluidload.
ichannel = 3
ikey = p4
ivelocity = p5
istatus = 144
fluidcontrol istatus, ichannel, ikey, ivelocity
endin
; COLLECT AUDIO FROM ALL SOUNDFONTS
instr 100 ; Fluidsynth output
; INITIALIZATION
; Normalize so iamplitude for p5 of 80 == ampdb(80).
iamplitude = ampdb(p5) * (10000.0 / 0.1)
; AUDIO
aleft, aright fluidout
outs aleft * iamplitude, aright * iamplitude
endin