I have a brand new fresh install of Zynthian downloaded today, so the version is whatever the current version is as of this post.
I run updates and reboot.
I go onto the web interface to make sure Sfizz is installed under Software → Engines → Midi Instrument
I use SFTP to upload my soundfonts since the web interface uploader can never work for anyone ever and therefore shouldn’t be included in the main branch or at least not yet.
I run updates and reboot again just to be sure.
Then I go to “Add new instrument chain” in the main menu and Sfizz isn’t there. It’s checked in the “Engines” list on the web interface and I have updated and rebooted and it still isn’t there.
Why isn’t Sfizz there? Sfizz should be there. I’m sure there’s a reason why Sfizz isn’t there on the list in the Add New Instrument Chain menu, but I’m pretty confident that there isn’t a good reason why it’s not there. Whatever the reason is, it’s going to be a bad reason.
If I should be using something else to play soundfonts instead then I guess that’d be fine but it has to play sfz and sf2. Please advise. This thing is driving me nuts because I do everything right and it still won’t work.
It seems like every little thing I ever try to do with Zynthian is an all-day nightmare which leaves it still not working in the end, even with the most basic obvious no-nonsense use case of just can it play a normal soundfont, I just want it to be a soundfont player and that’s all why can’t it just play a soundfont oh my god, every single step towards making anything work is always fighting against this little box from hell, never working with it.
I finally found this guy’s post explaining that despite “samplers” being under “engines” in the web UI, “samplers” are completely separate from “engines” in the zynthian UI, so it’s hidden in another menu. We have all the samplers under “Engines” on the web but hide the samplers so that they don’t count as engines in the zynthian UI. What the hell.
If there’s a way to make something obscure, counter-intuitive, misdirected, named inconsistently, confusing, broken or literally sideways, the Zynthian UI will find a way every time.
Anyway … I did eventually find where the samplers were hidden, but now I find that the /zynthian/zynthian-my-data/soundfonts/sf2 path which is the correct place to put user soundfonts according to the documentation is not mapped for LinuxSampler or Sfizz. Only FluidSynth has it mapped and FluidSynth’s menu ignores the bank folders I created for to just show every installed soundfont in one big list. So while I did manage to get it to play soundfonts, the Zynthian UI is doing its thing once again in the most broken, counter-intuitive and/or insane way possible.
It sounds like you’re not aware of the new categories instruments are divided into. Depending on what kind of kit you have you just have to turn the knob “above” the one you’re using to choose a category. Hopefully that will point you in the right direction. I’m not at my Zynthian right now so I have to be somewhat vague.
@BenMcLean you sound quite frustrated! For many months the engines have been categorised to make it easier to navigate and fine the relevant engine. You might say they are hidden in plain sight! This has caught quite a few users out who may have been familiar with the previous, one-big-list implementation or new users who haven’t read the documentation but the question has been asked and answered many times here in the forum. We are considering how to make this more obvious so, any suggestions are welcome. I suspect that, once a user knows, it is no longer and issue so any indication becomes screen clutter.
Regarding using sf2 in sfizz / linuxsampler, you have raised a ticket which we will consider. I think (but @jofemodo may have a better recollection) that fluidsynth has the best support for sf2 (and also supports sf3) so we may have preferred its use for sf2 and sfizz/linuxsampler for sfz. (Each of those has pros and cons, hence why they are both available.)
There are far more insane ways… Most users don’t suffer your angst with zynthian but there are some truely terrible UI out there!
You shouldn’t be talking on everyone’s behalf! I just used webconf to upload a sf2 file which appears properly in fluidsynth and a sfz file that appears properly in sfizz and linuxsampler. Maybe you are not quite hitting the right buttons in the right order…
In webconf, navigate to LIBRARY->Presets & Soundfonts.
From the dropdown, select the engine to which you want to upload the soundfont, e.g. sfizz: SFZ.
Expand the tree SD->User by clicking on the folder icon.
Select the folder into which to upload the file.
If there is no suitable folder, click on the tree root, enter the name of a new folder and click the ‘+’ button to add it to the tree. (You may need to expand the tree again after this.)
Click the upload button.
Drag and drop the file or click “click and choose” to select from you OS file browser.
Click “UPLOAD!” button.
The presets within the uploaded file should now be available within the preset menu of the relevant engine.
With sf2/sf3 soundfonts you would upload to Fluidsynth, selecting the root folder because the children are actually the soundfonts, not installable directories.
If you find any issues with this process then please report a bug in the issue tracker. This process worked fine for me today.
I wasn’t aware yesterday that despite the fact that Sfizz and LinuxSampler could potentially support SF2 in theory, FluidSynth is the only engine actually intended to support SF2 on Zynthian in practice.
I call FluidSynth an “Engine” because in the web UI, it’s under “Software → Engines.” If samplers aren’t engines then the web UI should match that categorization and only list engines under Engines.
In the uploader on the web interface, I could make a new folder, but then the new folder wouldn’t appear in the web interface to let me add files to it. Also, I was getting some kind of error when I tried to upload files. But I think I had been trying to upload SF2 files to Sfizz because the “Software → Engines” page said Sfizz supported SF2 even though it turns out that Sfizz isn’t actually intended to support SF2.
In zynthian we call the software module that processes sound an engine. Fluidsynth is an engine. Sfizz is an engine. Jalv hosting samplv1 is an engine. In webconf there is a page where you can enable/disable engines from being shown in the zynthian UI. (They remain available to load if already in a snapshot.) Webconf splits these into MIDI Instruments, MIDI Tools, etc. to differentiate the types of engine. In the UI, the releavant engines are offered when you try to add a chain, e.g. Instruments are shown for an instrument chain, audio effects are shown if you try to add an audio chain, etc. To reduce the amount of scrolling and provide the user with some context, these are then split into categories, e.g. instruments include synths, pianos, organs, etc. Audio effects include reverbs, delays, dynamics, etc.
After a user chooses the engine, zynthian creates or reuses an instance of this and presents that as a processor. A chain may have several processors and a processor may represent a single instance of an engine or might be partial use, e.g. two Fluidsynth processors both use the same Fluidsynth instance. (This is a bit low-level and may be of little interest to normal users, but it may help some to understand zynthian’s architecture.)
So, samplers are engines. Fluidsynth, LinuxSampler, SFfizz are each an engine and are listed under the “Sampler” category of the “MIDI Instrument” presentation of engines in the UI.
Folders are collapsed and expanded by clicking on the folder icon. I just checked and the current stable (oram-2412.5) version has an issue showing this for sfizz. This is fixed in the next version (oram staging).