Name SFinst
Created At 2020-07-06 8:43pm
Submitted By Menno0
Type blue.orchestra.BlueSynthBuilder


SFinst, based on the sfinstr3 opcode, loads the instruments of a Soundfont. So it does NOT use the Presets of the Soundfont, but the instruments the Presets are made of.

SFinst is suited for use in microtonal compositions; for instance, the PianoRoll Object can contain an arbitrary tone scale, SFinst will follow the notes nicely when microtuned.

SFinst can use midi note numbers as entries for p4, but alsofrequencies. Set the parameter 'scoreMIDI' accordingly.
A PianoRoll for example, must be set to Pch Generation --> Frequency and not ticked the scoreMIDI, while a PianoRoll using the familiar 12TET set Pch Generation --> MIDI ánd tick the scoreMIDI.
Or use the AL.

Velocity (= p5) follows the normal Soundfont/midi protocol, also when scoreMIDI is NOT ticked.

Reason for this instrument is to have easy acces to those well-known acoustical musical instruments but with different and interesting transformation options and microtonality. That makes the well-known and mostly harmonic sounds "only" basic material to start molding new sounds with an already acoustal property.

ATTENTION: SoundFont Presets can be made of stereo samples. According to SF Protocol, these samples are divided over 2 Instruments. This means that if you select an Instrument, you load only the Left channel or the Right channel of that stereo sample.
There is a checkbox that makes such a Left or Right sounding sample a pseudostereo sound. Panning option is provided


File Selector - load Soundfont
instrument - check contents of Show Instrument List and set instrument accordingly
scoreMIDI - tick when using with 12 TET and normal Midi events
show instrument list - shows contents of Soundfont presets
show midi key ## - just that
start in sample - skip start of sample in seconds
pitch coarse/fine - finetune or detune the instrument
tuning - overall tuning, where 1 = neutral
dynamics - change velocity curve to compress/expand velocity range

amplitude - set amplitude envelope over note
filter - set filter envelope over note
pitch - set pitch envelope over note
scale amp/filt/pitch - scaling of envelopes over note

treat amp env as exponential - choose for linear or exponential envelope for amplitude
treat filter env as exponential - choose for linear or exponential envelope for filter

activate - on/off
depth - determine influence of filter
low/high/bandP/bandR - lowpass, highpass, bandpass and bandreject filters
freq cutoff - frequency cutoff of filter
resonance - amount of filter feedback

fade in - maximum vibrato at end of note
depth - amount of depth of vibrato
speed - frequency of LFO
wave - waveform of LFO

L/R - output gain for Left and Right
pseudostereo - position mono sounds over stereo image

Trigger On/Off - set ADSR trigger to on or off
ADSR speed - frequency of retriggering of ADSR
Attack/Decay/Sustain/Release - ADSR settings

when MIDI note events is activated
i1 0 2 45 100
when not activated
i1 0.0 1.1597222222 261.625565 100

ATTENTION: p5 (velocity) must be a value between 0 - 127- when set to MIDI or not.


version 1.3, June 2020
- added option to use MIDI score or frequecies

version 1.2, November 2019
- added mono switch and pseudostereo
- added 3 ADSR options

version 1.1, August 2019
- added Show Midi Key, so you know what keys are hit and adjust the range of the preset accordingly
- added Depth slider for filters

version 1, August 2019
- first version- that's why i call it version 1