|Re: [fluid-dev] Continuous controllers
|Fri, 24 Jun 2016 09:30:57 -0600
On 06/23/2016 08:28 PM, Element Green wrote:
There are a bunch of default modulators which cause SoundFont instruments to respond to some of the defined MIDI controllers as expected (volume control, pitch bender, etc). When attempting to modify one of these, you have to first define a modulator which reverses the effect of the default modulator (adds a value with the opposite sign). Then you can define a new modulator which has the desired effect, otherwise both modulators will be active (the default one and the user defined one).
Actually, the way to disable a default modulator is to recreate the modulator but set its value to 0 (not a negative, canceling value). If you want to modify the default modulator do use a different amount (while keeping the same curves), simply recreate the default modulator and then give it a different amount value. No need to cancel the modulator and then re-add it in this case. However, if you wanted to, for example, change the default velocity-to-attenuation modulator curve to be linear instead of concave, you would have to first cancel the modulator (create it and set its value to 0) and then create a new modulator with the different curve.
So in short, to disable a default modulator: create it with an amount of 0.
To modify a default modulator: create it with the desired amount.
Swami really needs to show these default modulators and allow for easily negating them. This is on my TODO list. Otherwise its rather complicated figuring out what the default modulators are and adding one which negates it's effect (see section 8.4 on page 41 of the SoundFont 2.4 spec http://freepats.zenvoid.org/sf2/sfspec24.pdf).
Swami now has support for modulators. You might want to check out the way that they are handling this, although the way that Vienna SoundFont Studio does it is a more elegant solution (I sent you a video about this somewhat recently). Kenneth Rundt, the author of Swami has also created an info page on modulators that is a good reference.
fluid-dev mailing list
|[Prev in Thread]
|[Next in Thread]