I have an idea that I think would be infinitely useful for the whole community and moderately easy to do as a feature request, and I would like to discuss it with you and hear your opinion on it. This idea is regarding the sfz format. As you know, the sfz format is quite powerful, but often the sfz files that standard musicians make are quite simple, or basic, if you will. What I mean by this, is that most people when putting together a sfz instrument, don't add much more to the instrument than just the region, root note, ranges, velocities, etc. Many sfz files do not include more advanced opcodes for things like Midi CC control of general popular use items such as ADSR, Cutoff freq, Res, pitch wheel, mod wheel, etc... The reason most people don't put this coding into their instruments, is that they simply don't know how to do it. It's too advanced for the average user. What this means, is that the majority of the instruments that are floating around are bland and less useful than they could be. Now I am aware that there are several well known, high quality exceptions to this, but by far, the majority of the sfz files don't include any of these opcodes.
The other day, I discovered work that fellow KVRAudio user, Kinwie, published in Github that made me think of my idea for a ConvertWithMoss feature. Kinwie created generic templates that users can use when creating their sfz instruments. These generic templates allow a creator to simply append the information at the beginning of an instrument to very easily grant midi CC and visual controls to Sforzando and Sfizz-ui plugins. Check out the page here:
https://github.com/kinwie/SFZ-Templates ... 20Controls
So, my idea, put simply is to create generic header code that can be copy/pasted to the sfz by ConvertWithMoss, that allows for usage of the most common midi cc codes.
When I work on sfz files, my ultimate goal is maximum compatibility. With that said, I think sfz files with advanced features should be useable regardless of whether a person uses Sforzando, sfizz-ui, LinuxSampler, Liquidsfz, or whatever (provided that the opcodes are supported by the plugin). In other words, I think it is wrong to code gui stuff either for Sforzando, or for sfizz-ui. A better solution would be to provide something that allows code to be written once and work on both plugins. So, I think not using gui code at all is best.
So, essentially what I'm suggesting, is creating a generic template, a sub-set of code, either your own or from Kinwie's template that allows a user to have and use midi cc to control ADSR, Cutoff freq, Res, pitch wheel, mod wheel, etc... You can make it a selectable option, rather than to be forced on each instrument.
The hardest part would be creating the generic template. After that, I would imagine it wouldn't be too difficult to make ConvertWithMoss append the template to the beginning of an sfz definition file when converting the instrument (as a selectable option, of course).
So, what do you think? I know that no other program in existence does this. It would make sfz instruments infinitely more usable. It doesn't look to be too difficult.
Best wishes!
