fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth


From: CERESA Jean-Jacques ENAC/ENAC
Subject: Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth
Date: Fri, 24 Jun 2016 15:04:33 +0200

Hi Ben

>I've read the pdf doc and understand a lot of it, but I don't understand the need for the "base" channels.
1)"Basic channels"  is a MIDI specification.In short this allows to split the whole set of synthesizer channels in distinct MIDI channels groups.
Each group is composed of continus MIDI channels starting from the first called "Basic Channel".
Each group can be set in different mode via MIDI CCs (Polyphonic,Mono, OmniOn,OmniOff) that have to be send to the Basic Channel.

>Does it mean you need less cpu to run Fluidsynth?.No, assuming no reverb, no chorus, cpu usage is  hightly related to the number of a voice a simple note need.
For example on RPi2 Fluidsynth (using the 4 cores) can plays 180 voices maximum.(note that a "voice" in FluidSynth spelling is what is called an "Instrument Zone" in SF2.1)

Assuming the patch applied, by default a FluidSynth instance have a default Basic Channel number 0, Poly, Omni On. That mean that
this instance is ready to play on 16 MIDI channels (the default channel settings), in Polyphonic.

2) So in this state the FluidSynth instance plays polyphonically on each channels.
If a CC legato On is send to a channel, this one switchs from polyphonic to monophonic and behave monophonically.
This is a MIDI behavior specifications. This is a real-time Poly/mono control of a MIDI channels.

On a MIDI channel in the monophonic state, the "legato playing" manner works , but with serious limitations (discuted in the pdf).

3)>How do I test this patch? Download the latest git and re-compile? Add the patch somehow?
You cannot download the latest git until the patch will be accepted and committed .
You need to apply this patch by your own on your actual source version (1.1.6). The manner depends on the platform you works.
I am not an expert in patch, i don't know how to do but, i wish that it isn't complicated to do.
I hope this post will be read by a developer who practice the procedure and can describe it.
Note that apart the patch file that adds functionality to existing file (fluid_synth.c, ...), there are 2
new files (fluid_synth_polymono.c, fluid_synth_mono.c) that must be added to the make steps.
May be Pedro Lopez-Cabanillas can help on this matter ?

Le 24/06/16, Ben Gonzales <address@hidden> a écrit :
Hi Jean-Jacques.

I've read the pdf doc and understand a lot of it, but I don't understand the need for the "base" channels. Does it mean you need less cpu to run Fluidsynth?

The legato effect looks really useful. How do I test this patch? Download the latest git and re-compile? Add the patch somehow?

Please excuse my ignorance.

Ben

On 23/06/16 00:48, jean-jacques.ceresa wrote:
>Hi,
>
>A patch to add poly/mono functionality to FluidSynth has been posted.
>https://sourceforge.net/p/fluidsynth/tickets/160/.
>
>This is the result of a thread [Help about EWI behavior] 30 Apr 2015.
>http://lists.nongnu.org/archive/html/fluid-dev/2015-04/msg00011.html
>
>At this time, Louis B. followed giving informations about monophonic instrument.
>
>As i don't have an EWI to experiment with this patch, i hope that EWI player can do.
>
>jjc
>
>_______________________________________________
>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]