fluid-dev
[Top][All Lists]
Advanced

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

[fluid-dev] Re : Re: fluidsynth router for program change


From: CERESA Jean-Jacques ENAC/ENAC
Subject: [fluid-dev] Re : Re: fluidsynth router for program change
Date: Thu, 26 Feb 2015 17:06:31 +0100

This is a view of what we can get of the Fluidsynth components brings by Fluidsynth team (thanks to us).
 
Gino Latino wrote > This is the fluidsynth string on RPI autostart I'm using right now for a percussion pad controller:
Gino Latino wrote > fluidsynth --audio-driver=alsa  -m alsa_raw -o midi.alsa.device=hw:1 -o audio.alsa.device=hw:0.........
 
This command run the "fluidsynth" application which allows the following MIDI architecture:
     MIDI controlers --->MIDI hw-->MIDI Driver module -->Router module-->FluidSynth module --> Audio Driver module-->Audio hw--> Audio
 
Keep in mind that this "fluidsynth" application is a simple example equivalent to a simple "expander".
 
The FluidSynth internal module is the MIDI synthesizer which receive MIDI event coming from MIDI hw input.
   - MIDI Messages pass through MIDI Driver and routeur.
   - MIDI driver and router doesn't remember MIDI event data !.
   - Router module is just a simple (but powerful) way of  CC event transformation, duplication,
     keyboard spliting,transposition, and layering.
   - FluidSynth module is the only one who "understand" and "remerber" MIDI data event.
 
The power behind "fluidsynth components modules"  is that it is easy for developers (not necessary skilled developers) to
build a custom application with a custom  router version.
 
In your initial post, the need is: a way to  increment program number with note x and decrement with note y.
In the MIDI messages specifications, as far i remember, that there is no MIDI messages to do this custom job !.
The only way is to  build  a custom component  who does the job. This component need to get parameter x ,y and must do the following:
 1) When a MIDI program change is received: remember this number and forward the MIDI messages on output.
 2) When a MIDI note x is received: build a MIDI program change from the remembered number (plus 1) and send it to output.
 3) When a MIDI note y is received: build a MIDI program change from the remembered number (minus 1) and send it to output.
 
jjc
 
Le 26/02/15, Gino Latino <address@hidden> a écrit :
First of all thanks to you all for the interest.

At this point I think I need to explain my project.
I'm working on a live and mobile midi expander using raspberry PI as hardware and linux as SO.
I thought that fluidsynth could be a fast and good engine due to low latency and the use of soundfonts as instruments, but not so good as a midi router.
In live performances I just would like to connect my controllers to the raspberry and use it.
So, as you can guess, I will not have so much control on it and for the first release I'm just trying to set up the software at home contextually to the performance I'm going to play.
Till now I've been able to setup fluidsynth to autostarting on boot and let to autoconnect the controllers to the hardware (raspberry PI).
This is the fluidsynth string on RPI autostart I'm using right now for a percussion pad controller:
fluidsynth --audio-driver=alsa  -m alsa_raw -o midi.alsa.device=hw:1 -o audio.alsa.device=hw:0 -o synth.polyphony=16  -c 4  -g 1.4 /instruments/xxx.sf2
This configuration (for now) is a good compromise between my old RPI and low latency.

As you can see the midi alsa driver used is alsa_raw, that is the only method i've found to autoconnect the midi controller to the hardware.

I have to confess that i'm not so smart as programmer and honestly not so smart with the english language too :)

That said, I'm not really sure that all the tools you suggested will work with this configuration... what do you think about?


************
Regards, Max
address@hidden



Il giorno 26/feb/2015, alle ore 08.53, R.L. Horn ha scritto:

> On Thu, 26 Feb 2015, Peter Billam wrote:
>
>> I agree with that.  Except I'd write it in Lua:
>
> Oh, you kids and your crazy languages. :)
>
> _______________________________________________
> fluid-dev mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/fluid-dev


_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev

reply via email to

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