On Tue, 17 Dec 2024 09:28:29 +0100
Kristian Amlie <krist...@amlie.name> wrote:

>I recently bought myself a Zynthian (Open Synth Platform with a 
>Raspberry Pi inside), and I'm trying to integrate Yoshimi with it. So 
>far it's going pretty well (you saw my LV2 fix the other day, Will), and 
>things are working and playing fine.
>
>But one issue I've bumped into is with channels. The way that the 
>platform works is that you load LV2 presets (a Yoshimi state file, 
>basically) for each instrument you load in their Zynthian UI [1]. This 
>works well as long as I'm playing on channel 1. But each track that I 
>add on the device (they are called "chains"), uses a new channel by 
>default, and if I load Yoshimi on a track which is not set to channel 1, 
>then the MIDI messages will go to a disabled Yoshimi part, since the 
>state file will only contain the instrument in the first part.
>
>There are several ways that this could be handled, but I'm a bit unsure 
>which one is the best.
>
>1. Make an exception in the Zynthian software to always convert to 
>channel 1 before sending to the plugin. Zynthian already has such hacks 
>for some plugins, so such exceptions are not unheard of. Still, I don't 
>really like this approach; it feels nonstandard, and I also think it 
>will be difficult to maintain because of [2].
>
>2. Load the same instrument into all 16 parts, and save that in the 
>state file, so that at least one of them will play after loading it. 
>This uses 16 times the memory, which is especially bad for Padsynth 
>patches. It's also bad because if you bring up the UI to actually edit 
>the patch (possible by using remote connection), then it's very 
>confusing which one you have to edit. And if you save it, it won't even 
>be loaded correctly if you add it to a track with a different channel 
>next time! To fix that you'd have to manually copy it 15 times!
>
>3. Make a special "Omni" mode for Yoshimi, where the part that has it 
>enabled reacts to messages from all channels (for example it could be 
>channel 0). I think this is the one I like the best.
>
>4. Something else I'm overlooking? I have a quite poor understanding of 
>the Solo mode in the Mixer, for example. Is there anything to harvest here?
>
>
>Footnotes:
>
>[1] You can't load an instrument directly, it has to be a state file. 
>I'm planning to make a script to quickly convert the existing banks into 
>state files. Alternatively, you can load the instruments using the 
>regular Yoshimi UI, and save it as a preset on the device, but this will 
>take ages for all the banks.
>
>[2] Even if I finish all this, I don't think I will aim for integrating 
>Yoshimi into their platform as an offering. There isn't enough value for 
>them since they already have ZynAddSubFX, and there are very few Yoshimi 
>instruments that are truly Yoshimi-only. So I'm simply aiming for 
>"possible to install" support, for people such as myself who prefer 
>Yoshimi despite ZynAddSubFX being available. This means that adding 
>Yoshimi specific code fixes is something they will probably be reluctant 
>to do, and I don't blame them. More likely I will aim for having an 
>install layer somewhere, which gives you simple instructions on how to 
>install it yourself, if you already have one of their units.
>

My first thought is that you should be able to set part 1 to look at channel
2 (or any other), and this would be saved in the state file. I use this
frequently when running standalone. Have you tried that?

Also I'm wonder what affect all of this will have on Vectors or MIDI-Learn.
I've never tried either with LV2.

If an 'Omni' option is the way to go, then I think an extension to Solo would be
the simplest route - it already does quite a bit of channel/part manipulation.

Finally, are you running the basic Yoshimi LV2 or Yoshimi multi? Andrew and I
had quite a lot of discussion about that, but I'm afraid I've almost completely
forgotten it all, so can't say if it's relevant :(

-- 
Will J Godfrey


_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to