Btw, about GM Bank, several years ago I've made a conversion of Fluid GM bank sf2 to Aria/sforzando format. Everything load and functioning fine. It just not having Midi CC for the presetsBruzz wrote: ↑Sun Mar 15, 2020 8:24 pm Hi all,
some findings using rgc:audio sfz version 2.0.0.1 and plogue sforzando v1.959 (Aria VST3.x plugin v2.059):
sfz Multitimbral / MIDI Multimode:
- on the first instrument you want to use in multi-mode add lochan=1 hichan=1 underneath all its <group> tags.
- Repeat on the next instrument you want to use in multi-mode with lochan=2 hichan=2 after <group>.
- can do that up to lochan=16 hichan=16
- load each modified *.sfz file one by one and verify it gets triggered on the intended channel only
- then copy all these different *.sfz into one large *.sfz file
- load that large file into rgc:audio sfz. You can now address the instruments on their corresponding channels. Nice: most of the registered MIDI controllers work for each channel independently. So you can change volume (cc07), pan(cc10), expression(cc1), reverb(cc91) ... for each instrument seperately.
(Works with rgc:audio sfz. Not working with plogue sforzando - where you would use multiple instances instead.)
MIDI Program/Patch Changes:
Although there seems to be no response for bank and patch change, a simple workaround can enable switching programs via MIDI:
Similar to the multimode method described above, you can store different instruments into one large *.sfz. Instead of the lochan and hichan filter, define a dedicated controller you want to use for program switching. For each instrument (that is for all <group> of one instrument/patch/program) define a corresponding value for that controller via loccNN and hiccNN
eg. for cc32:
<group> // patch 1
locc32=1 hicc32=1
...
<group> //patch 2
locc32=2 hicc32=2
...
In the MIDI file controller 32 = 1 will cause patch 1 to respond to all following note on and off. Sending controller 32 = 2 will cause patch 2 to respond thereafter.
Tested working with:
CC01
CC02
CC32 (Bank Select LSB)
NOT working with:
CC00 (Bank Select MSB)
CC06 (Data Entry)
CC38 (Data Entry)
(Works with both rgc:audio sfz and plogue sforzando)
A combination of multimode and program switching did not work. So it is either multi-channel (MIDI multi mode) or switchable multi patches (on one MIDI channel only) with predefined programs.
List of registered sfz standard MIDI controllers:
Note On/Off
Pitch Bend (default to ±2 semitones)
Modulation Wheel (CC1)
Volume (CC7)
Pan (CC10)
Expression (CC11)
Reverb Size (CC12)
Chorus Speed (CC13)
Sustain (CC64)
Attack (CC73)
Cutoff (CC74)
Hold (CC76)
Decay (CC75)
Reverb Level (CC91)
Chorus Level (CC93)
Sustain (CC70)
Release (CC72)
All Controllers Off (CC121)
All Notes Off (CC123)
These seem to be channel-sensitive. Which allows for different settings on different channels.
Caution: cc91 will stubbornly overwrite all effect1 definitions. So if you use different effect1 (reverb) definitions in your sfz file, (e. g. in a drum set), don't use cc91 ! May need to restart the DAW to get rid of the cc91 tenacity ...
Compatibility:
In order to get a similar response to CC11 of a sfz v1.0 file (rgc:audio sfz) on plogue sforzando add the following to the sfz file:
<global>
amplitude_oncc11=100
<control>
label_cc011=11 Expression
set_cc011=127 // Power-on Default Value: Expression
Couldn't find an appropriate solution for filter cutoff, however.
rgc:audio sfz automatically responds to cc74 (cutoff)
For sfzorzando the opcode cutoff_cc74=9600 is necessary. Works, but results are completely different.
Best regards
If anyone is interested to get it, for using or for learning purpose or anything, I can upload it to a dropbox link. Just let me know.