Hi,
[EDIT:] I try to summarize the discussion on a dedicated wiki page.
I would like to discuss about the factory soundfont library zynthian offers with each provided image. It is indeed already a comprehensive set of sounds which makes much fun to explore.
Since @jlearman recently joined the chat and brought up the question for the source location for the factory library, it might be worth to ask some questions:
Need
Is revising the factory library needed? Do enough people use these? Do you consider it good enough already?
Repository
Would it be useful to move the factory library to a github repository (if size allows this)? This would make it easier for people to edit soundfonts and fix problems usable for all. Of course Zynthian could also pull from certain third party repositories where fixes can be initiated upstream. Otherwise with an own repository it would be possible to adapt soundfonts for best use in the context of Zynthian use (Besides things mentioned below also compatibility issues with the given soundfont players sfizz, linuxsampler, …, while upstream soundfonts might be potimized for sforzando/aria use).
Licensing
It would be necessary for new (and probably some old) entries in the factory library to be 100% compliant for distributing with the open source OS. I’m no expert in these matters, but it certainly comes down to that it is ok to use CC-0, CC-BY-NC (this question was raised multiple times if Zynthian is a non-commercial project based on the question of the commercially available kit and the open sourced OS), -SA but not for -ND that way. Licensing of script and sample files can differ.
Library content
Would it make sense to include every library you can find under the given license or would it be good to curate a set of the best soundfonts of each sub category?
Possible editing goals
So if in this forum some soundfont fanatics might want to take care of these here are some questions how we would like to edit files if the license permits this:
- Fixing issues of course.
- Some libraries come with different patches, sometimes differentaiting between single articulations and full keyswitched patches. We might want to just include one comprehensive full patch with keyswitches, which can be further integrated with the newish *.yml assignments. That way we keep the soundfont patch list readable and tiny. Also rename mapping and control files that are not supposed to be played but just included in the main scripts to prevent them from being shown in the soundfont list (if any in the factory library).
- The *.yml assignments itself
- Some category dependent common controls, like vibrato for strings, tremolo for electric pianos, velocity sensitive filtering or a set of basic controls commonly ordered, like filter controls or so.
- Specifically for drums: What weights more? The intention of the original creator towards key mappings or unifying drum libraries e.g. for GM mapping (As far as possible?)
- Trying to get every library to unity gain using
global_volumeopcode or similar. - Target maximum size: Can or should the library be reduced in size for better playability or storage footprint? Selecting one microphone position or even mix samples of these? Reducing Velocity layers and approximate with velocity sensitive filtering? Or keep as much as possible, even if loading/preview times are going over the top? What to target at? 50 MB? 200MB? 1 GB? Different for different kind of instrument?
- Adding a suitable polyphony limit also regarding ressources to each instrument so we can raise the hard coded limit for each sfz player.
- Compatibility to one/all sfz players (sfizz and/or linuxsampler for sfz)
