fluidNote
Prev | Orchestra Opcodes and Operators | Next

## fluidNote

fluidNote — Plays a note on a channel in a fluidSynth engine.

## Syntax

    fluidNote ienginenum, ichannelnum, imidikey, imidivel

## Description

Plays a note at imidikey pitch and imidivel velocity on ichannelnum channel of number ienginenum fluidEngine.

## Initialization

ienginenum -- engine number assigned from fluidEngine

ichannelnum -- which channel number to play a note on in the given fluidEngine

imidikey -- MIDI key for note (0-127)

imidivel -- MIDI velocity for note (0-127)

## Examples

    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      fluidNote
                       outs                        aleft * iamplitude, aright * iamplitude
    endin

## Credits

Michael Gogins (gogins at pipeline dot com), Steven Yi. Thanks to Peter Hanappe for Fluidsynth.

Prev | Up | Next
fluidLoad | Home | fluidOut