[LAU] Fluidsynth: map each channel to individual jack audio output

Tito Latini tito.01beta at gmail.com
Sun Apr 24 20:47:42 UTC 2016


On Sun, Apr 24, 2016 at 05:01:55PM +0200, Lorenzo Sutton wrote:
> Thanks for testing... However I'm not really sure what to make out of 
> that apart from assuming that the use case isn't directly covered by 
> fluidsynth?
> 
> I imagine the easiest workaround would be starting multiple fluidsynth 
> instances, maybe lowering poliphony (not sure what impact this has on 
> resource consumption), possibly scripting it...

With stereo samples, "-L" seems what you want but I don't intend to
influence your choice.

Perhaps unclear but the follow options are the same (but '-o' is buggy):

  a) -o synth.audio-channels=4 -o synth.audio-groups=4 -o audio.jack.multi=no

  b) --audio-channels=4 --audio-groups=4

  c) -L 4 -G 4

  d) -L 4

Proof (src/fluidsynth.c):

    case 'L':
      audio_channels = atoi(optarg);
      fluid_settings_setint(settings, "synth.audio-channels", audio_channels);
      break;    

    [...]

    if ((audio_groups == 0) && (audio_channels != 0)) {
        audio_groups = audio_channels;
    }


Note: some options (i.e. "audio.output-channels") are registered but
never used.

With "-a jack -L N", there is a single jack client with N*2 outputs.
In my previous example (-L 4):

    output ports l_00 and r_00 for the samples used with midi chan 1
    output ports l_01 and r_01 for the samples used with midi chan 2
    output ports l_02 and r_02 for the samples used with midi chan 3
    output ports l_03 and r_03 for the samples used with midi chan 4


More information about the Linux-audio-user mailing list