|Subject:||Re: [fluid-dev] synth.audio-groups and LADSPA effects|
|Date:||Tue, 4 Aug 2020 02:15:55 +0200 (CEST)|
>but maybe I'm not understanding how synth.audio-channels and synth.audio-groups interact
This is not obvious, here some general notes:
1)The number of rendered audio output (nbr_outputs) is dependant of synth.audio-channels and synth.audio-group:
nbr_outputs = max(synth.audio-channels, synth.audio-groups) (default is 1).
These audio outputs will be played by the sound card (if it is capable to play this nbr_outputs amount of course).
If LADSPA is not used, typically both synth.audio-channels and synth.audio-groups should be set to the same value (default 1).
2)synth.audio-groups is only used by LADSP.
3)Mapping between note played and audio output #:
Actually the way a note played on MIDI channel chan will be mapped to audio output j is rigid and depends on chan and nbr_outputs values.
The mapping is simple, MIDI channels number are distributed on available output amount.
For example with nbr_outputs = 1, the mapping is:
- All MIDI MIDI channel 0,1,2,...synth.midi-channels -1 will be rendered to the unique audio output 0.
With nbr_outputs = 2, the mapping is:
- MIDI channel 0(piano),2(harpsichord) ,4 ,6 ,8... are rendered to audio output 0.
- MIDI channel 1 (rhodes) ,3(vibes) ,5 ,7 ,9... are rendered to audio output 1.
3)When using LADSPA :
In the later example (nbr_outputs = 2), piano and hapsichord are mixed on the same audio output (i.e 0). That means that any LADSPA input effect connected
to this node (output 0) should apply the same effect to both piano and hapsichord.
If we expect piano and hapsichord with distinct LADSPA effect, that means that respective MIDI channel need to be set so that
piano and hapsichord are mapped to distinct audio output (e.g MIDI channel 0(piano) to audio output 0, MIDI channel 1(harpsichord) to audio output 1).
4) Which output, internal effects (reverb, chorus) are mapped on ?
As Marcus already said, both internal reverb and chorus are mapped only to output 0 (because "synth.effects-groups" has a default value of 1).
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 ?
> Message du 03/08/20 06:40
> De : "Bill Peterson" <firstname.lastname@example.org>
> A : "Tom M." <email@example.com>
> Copie à : "FluidSynth mailing list" <firstname.lastname@example.org>
> Objet : Re: [fluid-dev] synth.audio-groups and LADSPA effects
>Hi Tom - thanks for the reply. I tried to follow the LADSPA documentation's advice, but maybe I'm not understanding how synth.audio-channels and synth.audio-groups interact. Here's the command line I'm using:
>sudo fluidsynth -a alsa -o midi.autoconnect=1 -o synth.ladspa.active=1 -o synth.audio-channels=1 -o synth.audio-groups=2 -f effects.txt
>and effects.txt:load /usr/share/sounds/sf2/FluidR3_GM.sf2
> select 0 1 0 0 # piano
> select 1 1 0 4 # rhodes
> select 2 1 0 6 # harpsichord
> select 3 1 0 11 # vibes
> ladspa_effect dL /usr/lib/ladspa/delay.so
> ladspa_effect dR /usr/lib/ladspa/delay.so
> ladspa_link dL Inp Main:L1
> ladspa_link dR Inp Main:R1
> ladspa_link dL Out Main:L1
> ladspa_link dR Out Main:R1
>My intent is for the delay effect to only apply to some channels (e.g. piano and harpsichord), but I hear the delay effect on all channels. Oddly, channels 1 and 3 (rhodes and harpsichord), also sound quiet, as if they're coming through the Reverb/Chorus channels only. I get the same result with synth.audio-channels=2. What am I doing wrong?
>On Sat, Jul 25, 2020 at 8:03 AM Tom M. <email@example.com> wrote:
>> experimenting with various combinations of values synth.audio-channels and synth.audio-groups either gets me effects on all channels or none
> Seems like you created the Ladspa effects on the Main:L and Main:R
> ports. Have you tried explicitly specifying the subgroups as described
fluid-dev mailing list
|[Prev in Thread]||Current Thread||[Next in Thread]|