[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth
From: |
jean-jacques.ceresa |
Subject: |
Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth |
Date: |
Tue, 28 Jun 2016 11:03:15 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 |
Hi Ben
A) The protocol principle.
As far i know, the development protocol is straightforward.
- 1) Anyone can propose a "patch". A patch is the result of diff between
the original source file(s) and the new modified file(s).
- 2) Than this patch is posted to sourceforge by opening a ticket.
At this state the following steps are normally done by the developer
team. Actually they are 3 persons.
- 3) The patch can be accepted or not.
- 4) When accepted the patch is commited
Once commited the patch is integrated in the current version and can be
downloaded from git by anyone.
The reason i can't help you is that don't usually use linux tools. For
historical reason i am using Visulal Studio 6 (windows platform).
I am sur that there are a lot of persons skilled in linux development
tools that can help you to build the patch you need.
B) About the Poly/mono patch ticket 160
1)As explained in chapter 3.1, this patch is the result of the initial
discussion with Louis B.
http://lists.nongnu.org/archive/html/fluid-dev/2015-04/msg00011.html
>One item immediately: In section 3.1.3, "Playing Legato", you mention
that the EWI detects legato playing and sends a "CC Legato On" message.
In my work with the EWI I had not seen these messages...
The information mentionned in the pdf comes from the midifile supplied
by Louis B (please follows the discussion above).
In this midifile Louis B plays on a EWI Akai 5000.
>so I tested for them today, and my EWI-USB does not send them.
Really curious. Are you really sure ?!!!!. What is this EWI model ?
Anyway assuming, your EWI don't send legato on/off when you are playing
legato is not an issue for the patch supplied.
As explained in the chapter 3.3.1 and 3.3.6, the patch reacts the same
regardless the type of MIDI controler on input:
In others words, as far the input MIDI channel is set in monophonic
(using Basic Channels commands/API ), the patch
will play legato if you play legato (on a keyboard or on an EWI).
Normally the path doen't need to receive legato on/off
if the channel is monophonic.
The patch needs only to receive legato on/off when the channel is
polyphonic. This behavior is MIDI standard compliant.
So, waiting for the patch to be committed, your only issue is to find a
way to integrate this patch in the source version on jessie RPi.
It worth that someone are able to give the steps to apply the patch in
the form it actually supplied.
jjc
Le 25/06/2016 11:31, Ben Gonzales a écrit :
Hi Jean-Jacques.
I haven't participated in this sort of development before, so I don't
know the protocols. I re-read a lot of the PDF and I think there are
some errors/typos. How are they normally handled? Feedback on the
forum? Private e-mail?
One item immediately: In section 3.1.3, "Playing Legato", you mention
that the EWI detects legato playing and sends a "CC Legato On"
message. In my work with the EWI I had not seen these messages, so I
tested for them today, and my EWI-USB does not send them. It may be
that only the more sophisticated models send those CC messages, or my
instrument has not been configured to do so - I don't know. Can you
comment please?
Ben
On 24/06/16 23:04, CERESA Jean-Jacques ENAC/ENAC wrote:
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 ?
_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, (continued)
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, Ben Gonzales, 2016/06/23
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, CERESA Jean-Jacques ENAC/ENAC, 2016/06/24
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, Ben Gonzales, 2016/06/25
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, Ben Gonzales, 2016/06/27
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, jean-jacques.ceresa, 2016/06/29
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, Ben Gonzales, 2016/06/29
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, jean-jacques.ceresa, 2016/06/30
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, CERESA Jean-Jacques ENAC/ENAC, 2016/06/30
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, Ben Gonzales, 2016/06/30
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth, Ben Gonzales, 2016/06/30
- Re: [fluid-dev] Adding Poly/mono functionality to FluidSynth,
jean-jacques.ceresa <=