Sorry for the delay. Marcus said: > FluidSynth does not seem to mix the internal group channels back into > the main output if you are using audio-groups=2 and audio-channels=1. > Not sure if this is a feature or a bug... Tom, do you know anything > about the design decisions here?
I'd say it's a feature of the respective audio rendering interface. The ALSA driver uses fluid_synth_write_float() or write_s16(). These functions are "single-stereo-channel-functions" and therefore only read from rvoice_mixer stereo buffer 1 (for performance reasons). This "issue" has been addressed by the fluid_synth_process() function, which always mixes all internal stereo buffers, into the user provided ones. The e.g. JACK driver uses this interface if you specify audio-channels=2. So, it's more like a limitation of the audio driver in use. JJC said: > 2)synth.audio-groups is only used by LADSP. Sry, that's not quite correct. audio-groups is always used for buffer mapping of every voice: https://github.com/FluidSynth/fluidsynth/blob/31c4e12ac9f2f4eadfb6f034845e51bff7faf223/src/synth/fluid_voice.c#L360 ..so if we replace "nbr_outputs" by "nbr_groups" in your explanations, you are correct. JJC said: > However, if "synth.effects-groups" is set to 2, two distinct internal > instances pair (reverb + chorus) should be available on each distinct audio > output (0 et 1). > @Tom, please could you confirm the "synth.effects-groups" setting behaviour > as described by the Wiki ? Your explanation is correct. And yes, as Marcus said, behaviour depends on the audio driver. Marcus said: > for all other drivers (including alsa), the reverb and chorus signals are > always rendered to the first (and only) stereo output, regardless of the > setting of synth.effects-channels. Correct, because of rvoice_mixer::mix_fx_to_out https://github.com/FluidSynth/fluidsynth/blob/31c4e12ac9f2f4eadfb6f034845e51bff7faf223/src/rvoice/fluid_rvoice_mixer.c#L174-L175 Tom _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev