Hi, David

 

Many thanks for the description of eplayOrgan. This answers all the questions.

Indirectly we understand that the cpu on which eplayOrgan is running have four 
cores.

 

just it is a surprise that you find V2.x.x are using extra .dll's.

Here, I am using V2 correctly configured (using CMake) and compiled and I 
confirm that there are no extra dll.

But maybe are you using the already pre-compiled binaries ?. Did you use 
fluidsynth configured and compiled by yourself 

on your Windows system ?.

 

Great that tremolo works now, this should had a nice more realistic effect to 
organ instruments.

jjc

 

> Message du 05/07/20 21:06
> De : "David Back" 
> A : "Ceresa Jean-Jacques" 
> Copie à : "Tom M." , "FluidSynth Mailing List" 
> Objet : Re: Fluid Synth CC1 Tremolo
> 
>

 
Hi

>
Thanks for the comments.

>
I think you are used to using FS with its associated midi driver. I am not 
using your midi driver and thus my input midi channels do not have to (and 
indeed do not) correspond with the FS channels.

>
As I have never had any need to use any part of FS except the synth itself I 
only claim to understand the synth. The midi driver, midi player and any other 
parts are all foreign to me because they do not do what I needed for an organ.

>
I am using four instances of FS because with real time midi, execution speed is 
important - four instances are around four times faster than one instance would 
be. Each instance corresponds to one division (division = keyboard) of the 
organ. There are four keyboards on the organ. All four instances of FS reside 
within the organ app. and all execute simultaneously. Thus eplayOrgan provides 
128 (= 4X32) channels of midi action simultaneously.

>
Also each instance of FS provides one stereo output, so four instances can 
provide up to four stereo outputs. This is convenient for giving a realistic 
audio output.

>
eplayOrgan is fast enough to run at least 6 instances simultaneously on one 
ordinary PC. This is 24 instances of FS running concurrently. eplayOrgan can 
also drive (or be driven by) other organs such as GrandOrgue or Hauptwerk all 
at the same time. The only limitation I have found is screen space on the 
computer.

>
I hope this answers all the questions. By the way the tremolo works OK with 
V1.1.8 of FS so I have no need to update to V2. V2 uses a whole host of extra 
.dll's and, as far as I can tell, provides no useful extra functionality for an 
organ.

>
David(csw900)

>

>

>

>

>



On Sunday, 5 July 2020, 18:05:58 BST, Ceresa Jean-Jacques  wrote:

>

>



> Hi, David

>  

> >Also midi channels contain midi events in a specified defined format. The 
> >FSchannels are driven by software procedures in a completely different 
> >specified format.

Thus there is no way that midi channels  are equivalent to FSchannels.
 
When talking to a MIDI compliant synthesizer the synthesizer must understand 
what is a MIDI channel. The semantic of int chan parameter of fluidsynth's API
is the same that the four channel bits in any of the MIDI event described by 
the MIDI specs. Any synthesizer, FS or another should react equivalent to this 
information.
The format of the data and the meaning of the data are two things different. 
The only difference is that fluidsynth is less restrictive that the MIDI specs 
(256 channels instead of
16 ). When using The MIDI driver, the MIDI information received on the MIDI 
input hardware (channel,note,velocity) is transmitted directly to the parameter 
of fluidsynth's MIDI API which react as described by the MIDI specs. How could 
we think that the documentation is wrong ?
 
>From the description of eplayOrgan, it seems that the application is an 
>interface between multiple physical keyboards (manuals) and fluidsynth 
>instance(s).
Using 4 fluidsynth instances with 16 MIDI channel by instance means that 
eplayOrgan need to supply 4 x 16 = 64 MIDI Channels on its output. Please, is 
my understanding correct ?
 
>The notes from EACH incoming midi channel are fed simultaneously to 32 
>FSchannels for processing by the synths. (eplayOrgan actually uses four synths 
>- one for each division).
1)Please, what could be the reason to map one incoming midi channel 
simultaneously to 32 distinct FSChannels ?
2)Are the 4 synths running on the same machine ?, and in this case what is the 
reason of using 4 instances on the same machine ?
> Regards.

> jjc

>  

> Message du 05/07/20 16:32> De : "David Back" > A : "FluidSynth Mailing List" 
> > Copie à : "Tom M." , "Ceresa Jean-Jacques" > Objet : Re: Fluid Synth CC1 
> Tremolo
> >

 
Thanks for your comment. Even though the FS documentation is wrong and 
confusing when you consider midi and FSchannels I know you are not going to 
change it.
>
Your argument that these channels are equivalent may be right a simple case 
such as your command interface but when you consider an organ they most 
definately are not the same or even equivalent. And it is very confusing to 
think they are.
>
The midi inputs for eplayOrgan arrive in midi channels whether from a keyboards 
or midi files. There is ONE midi channel for each input. Each midi input is 
processed and then sent on to the synth. The notes from EACH incoming midi 
channel are fed simultaneously to 32 FSchannels for processing by the synths. 
(eplayOrgan actually uses four synths - one for each division).
>
Also midi channels contain midi events in a specified defined format. The 
FSchannels are driven by software procedures in a completely different 
specified format.
>
Thus there is no way that midi channels  are equivalent to FSchannels.
>
Now the good news - Now I have changed the channels from midi channels to 
FSchannels,    fluid_synth_cc(synth, FSchan, 1,100) now works and produces 
tremolo using the sound font Tom successfully tested.
>
I have learnt quite a bit about sound fonts - especially how their modulation 
system works. I hope to learn even more by experimenting now I have a working 
system to play with. So thank you all for your help.
>
Best Wishes
David (csw900)
>
>
>
>
>
>



On Sunday, 5 July 2020, 11:43:27 BST, Tom M.  wrote:
>
>

There is no such thing as "FSchannels". The documentation of the synth always 
talks about "midi channels". The only way you communicate with the synth is via 
"midi channels". Just because the number of midi channels is limited to 16 in 
standard midi files does not mean it's limited in the same way for fluidsynth. 
Neither does it mean something is "completely different".JJC already pointed 
out how the number of channels can be changed, 
seehttp://www.fluidsynth.org/api/fluidsettings.xml#synth.midi-channelsThe 
naming "midi channels" was given to indicate that channels of a midi file are 
semantically equivalent to the channels provided by the synthesizer.
> Just because something works from the command prompt does not necessarily 
> mean that it will work when another programmer tries to make it work
Since the command prompt uses the same synth API calls as you used in your app, 
it is definitely suited as proof of concept.Tom












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

Reply via email to