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

From: Lorenzo Sutton <lorenzofsutton@email-addr-hidden>
Date: Tue Apr 26 2016 - 16:46:30 EEST

On 26/04/2016 12:22, Tito Latini wrote:
> On Tue, Apr 26, 2016 at 09:49:43AM +0200, Lorenzo Sutton wrote:
>> As I also wrote on the Fluidsynth dev list I'm essentially after two
>> possible use cases:
>> 1. Record different instruments from a "general midi" soundfont (on
>> different midi channels) independently e.g. in Ardour on a track per
>> instrument.
>> 2. Record drums from a drum soundfont independently to their own track
>> in the DAW (Ardour). In that case I would be sequencing each drum on its
>> own (MIDI) channel.
>>
>> I'm not sure if / how -L might help on 2. as there still doesn't seem to
>> be a way to route a (midi) channel to an audio output.
>
> The follow example shows a possible preset. For simplicity, I use only
> a drum kit but you can select multiple drum kits and/or other samples
> (also from different soundfonts).
>
> The drum kits in FluidR3_GM.sf2 are:
>
> sh> echo -e "load /usr/share/sounds/sf2/FluidR3_GM.sf2\ninst 1" \
> | fluidsynth 2>/dev/null | grep 128-
> 128-000 Standard
> 128-001 Standard 1
> [...]
> 128-042 Brush 2
> 128-048 Orchestra Kit
>
> The format of a line is "bank-prog name".
>
> For example, with 10 stereo outputs (kick, snare, 3toms+floor, crash,
> ride, closed and open hihat), you can create a simple config file:
>
> sh> cat my.cfg
> load /usr/share/sounds/sf2/FluidR3_GM.sf2
> select 0 1 128 0
> select 1 1 128 0
> select 2 1 128 0
> select 3 1 128 0
> select 4 1 128 0
> select 5 1 128 0
> select 6 1 128 0
> select 7 1 128 0
> select 8 1 128 0
> select 9 1 128 0
>
>
> where the syntax of "select" (from "help event") is:
>
> select chan sfont bank prog
>
> Start fluidsynth with:
>
> fluidsynth -a jack -L 10 -f my.cfg
>
> Now the standard kit is used for the ten stereo outputs
> and you can play, for example, the follow samples:
>
> |--------------+--------+---------------|
> | midi channel | sample | jack output |
> |--------------+--------+---------------|
> | 1 | kick | l_00 and r_00 |
> | 2 | snare | l_01 and r_01 |
> | 3 | hhc | l_02 and r_02 |
> | 4 | hho | l_03 and r_03 |
> | 5 | floor | l_04 and r_04 |
> | 6 | toml | l_05 and r_05 |
> | 7 | tomm | l_06 and r_06 |
> | 8 | tomh | l_07 and r_07 |
> | 9 | crash | l_08 and r_08 |
> | 10 | ride | l_09 and r_09 |
> |--------------+--------+---------------|
>

Thanks Tlinux-audio-user@email-addr-hidden. Will definitely try
this, looks really cool.
Lorenzo.
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Tue Apr 26 20:15:02 2016

This archive was generated by hypermail 2.1.8 : Tue Apr 26 2016 - 20:15:02 EEST