[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Rendering multiple Synthesizers to a single WAV-File

From: Tom M.
Subject: Re: [fluid-dev] Rendering multiple Synthesizers to a single WAV-File
Date: Mon, 9 Jan 2023 11:29:43 +0100

No, it's not possible for multiple synths to share a single sequencer.
Each synth needs it's own sequencer instance due to the internal
sample timer making the sequencer advance (*).

It's not exactly clear to me what you mean by "shared MIDI-Channels".
Yet I think it should be possible to do it with a single synth
instance. Just "invent" additional channels. E.g. if you have N
tracks, where each track can have up to 16 MIDI channels, this would
give you a total of N*16 channels. So, just set the
synth.midi-channels settings to the number of desired channels - be
sure to not exceed 256 channels. And in your application handle the
channels as if you were accessing a two-dimensional array.

To control the effects of those channels individually, also set
synth.effects-groups to N*16, so that e.g. the first 16 channels
(corresponding to the 1st track) would have some reverb settings, the
next 16 channels (corresponding to the 2nd track) would have some
other reverb settings, etc. (Note that this will be very CPU intensive


(*) A sequencer can have many clients registered - that's true. And if
you decide to bypass / reimplement all the magic that
fluid_sequencer_register_fluidsynth() does for you, it might be
possible to share a single sequencer with many synths by manually
calling e.g. fluid_sequencer_process(). I think it would be harder to
achieve than the described above. But it would probably save a lot CPU

reply via email to

[Prev in Thread] Current Thread [Next in Thread]