Discussion:
[fluid-dev] My latest project - with FS2.0.0 !
Ben Gonzales
2018-10-05 07:23:04 UTC
Permalink
Here it is...

The Pi-Synth. I know it's not the first, but it has some nice features....

https://gonzos.net/projects/pi-synth/

Ben
Tom M.
2018-10-07 15:14:30 UTC
Permalink
Nice project, thanks for sharing.

One potential improvement: Rather than taking a soundfont and manually adding CC2 modulators for each instrument, you could have used fluid_synth_add_default_mod() to add your custom CC2 modulator once, which would then be applied for all instruments and soundfonts automatically. Currently only possible via API, not sure how you use fluidsynth.

Tom
Ben Gonzales
2018-10-07 20:21:15 UTC
Permalink
Thanks Tom.

OK, now I have a reason to learn how to use the API...

While I was fiddling with the soundfont I encountered the following
modulator at the instrument zone:

Loading Image...

It was reducing the volume significantly for normal tongued notes, and
when I changed notes in legato mode the volume spiked. I've now removed
these modulators, but I don't understand what they do. Any help pls?

Ben
Post by Tom M.
Nice project, thanks for sharing.
One potential improvement: Rather than taking a soundfont and manually adding CC2 modulators for each instrument, you could have used fluid_synth_add_default_mod() to add your custom CC2 modulator once, which would then be applied for all instruments and soundfonts automatically. Currently only possible via API, not sure how you use fluidsynth.
Tom
Tom M.
2018-10-08 06:37:51 UTC
Permalink
One of the default modulators required by the SF2 spec is the "MIDI
Note-On Velocity to Filter Cutoff", cf. section 8.4.2. Implementation
details of this particular modulator are not quite consistent in the
specs. That's why fluidsynth does not implement this modulator. If
however fluidsynth had implemented this modulator (according to 2.01
spec), the modulator listed by your instrument would cancel this
modulator entirely. But as it's not implemented, it's safe to remove
it.

However I cant explain the volume spikes. Perhaps jjc can help out.

Also I just noticed we already have a CC2 modulator implemented in
fluidsynth. You simply need to 'setbreathmode' via the shell to
activate it, cf. section 3.4.5:

https://github.com/FluidSynth/fluidsynth/raw/master/doc/polymono/FluidPolyMono-0004.pdf

Tom
Ben Gonzales
2018-10-08 10:40:13 UTC
Permalink
Thanks Tom.

The soundfont I used was set up for keyboard and I added the CC2
modulators. What the effect felt like (with the filter cutoff modulator
in place) was:
note 1 starts with low velocity, and gives low volume and little or no
increase in volume with increased breath pressure. Note 2 comes in
(legato mode) with CC2 already high and therefore velocity is high, so
the volume of note 2 is much higher than note 1. What I don't understand
is why that cutoff modulator was holding back note 1's volume. As soon
as I removed it all was fixed.

I read the spec 8.4.2, but I don't understand what the purpose of the
modulator as specified is.

I'd forgotten all about the setbreathmode. I might try that with the
original un-CC2'd soundfont.

Ben
Post by Tom M.
One of the default modulators required by the SF2 spec is the "MIDI
Note-On Velocity to Filter Cutoff", cf. section 8.4.2. Implementation
details of this particular modulator are not quite consistent in the
specs. That's why fluidsynth does not implement this modulator. If
however fluidsynth had implemented this modulator (according to 2.01
spec), the modulator listed by your instrument would cancel this
modulator entirely. But as it's not implemented, it's safe to remove
it.
However I cant explain the volume spikes. Perhaps jjc can help out.
Also I just noticed we already have a CC2 modulator implemented in
fluidsynth. You simply need to 'setbreathmode' via the shell to
https://github.com/FluidSynth/fluidsynth/raw/master/doc/polymono/FluidPolyMono-0004.pdf
Tom
_______________________________________________
fluid-dev mailing list
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Ceresa Jean-Jacques
2018-10-08 18:16:40 UTC
Permalink
Hi

 
I'd forgotten all about the setbreathmode. I might try that with the original un-CC2'd soundfont.
To get a quick try it is probably the easiest way instead of edit soundfont. Then adding CC breath modulator in sounfont can be done later.

As explained in FluidPolyMono-0004.pdf section 3.4.5, setbreathmode command allows to set a cc Breath modulator to REPLACE the default "velocity to initial Attenuation" modulator for a channel.

It is useful when there is no CC breath to initial Attenuation in the SoundFont and the musician don't want to edit the Soundfont. Note that if a CC breath to initial Attenuation exits in the soundfont it supersedes the default modulator added by setbreathmode.
setbreathmode 2  0  1  0 #cc Breath modulator to REPLACE the default "velocity to initial Attenuation" modulator for channel 2 (assumed played in monophonic mode)
breathmode 2 # to verify your setting.
 

Important: when setbreathmode is not used and the musician want to add solely a "CC breath to initial Attenuation" modulator in soundfont, without cancelling the default "velocity to initial Attenuation" modulator. In this case, "velocity to initial Attenuation" modulator is still in effect and if the velocity of the received note is too low then the sound will be alway quiet even if the received CC breath value is high.

1) Normally, if the ewi controller puts the breath value in the velocity field before sending noteon messages this problem is fixed.

2) Also, the ewi controller could send a constant velocity value (above 0 , of course) to fix this problem.

Case (1) should be the typical default behaviour for any ewi. Also, case (1) and/or (2) can be often configured in most ewi setup.

jjc

 
Message du 08/10/18 12:40
De : "Ben Gonzales"
Objet : Re: [fluid-dev] My latest project - with FS2.0.0 !
Thanks Tom.
The soundfont I used was set up for keyboard and I added the CC2
modulators. What the effect felt like (with the filter cutoff modulator
note 1 starts with low velocity, and gives low volume and little or no
increase in volume with increased breath pressure. Note 2 comes in
(legato mode) with CC2 already high and therefore velocity is high, so
the volume of note 2 is much higher than note 1. What I don't understand
is why that cutoff modulator was holding back note 1's volume. As soon
as I removed it all was fixed.
I read the spec 8.4.2, but I don't understand what the purpose of the
modulator as specified is.
I'd forgotten all about the setbreathmode. I might try that with the
original un-CC2'd soundfont.
Ben
Post by Tom M.
One of the default modulators required by the SF2 spec is the "MIDI
Note-On Velocity to Filter Cutoff", cf. section 8.4.2. Implementation
details of this particular modulator are not quite consistent in the
specs. That's why fluidsynth does not implement this modulator. If
however fluidsynth had implemented this modulator (according to 2.01
spec), the modulator listed by your instrument would cancel this
modulator entirely. But as it's not implemented, it's safe to remove
it.
However I cant explain the volume spikes. Perhaps jjc can help out.
Also I just noticed we already have a CC2 modulator implemented in
fluidsynth. You simply need to 'setbreathmode' via the shell to
https://github.com/FluidSynth/fluidsynth/raw/master/doc/polymono/FluidPolyMono-0004.pdf
Tom
_______________________________________________
fluid-dev mailing list
https://lists.nongnu.org/mailman/listinfo/fluid-dev
_______________________________________________
fluid-dev mailing list
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Loading...