MIDI-SoundFont

 view release on metacpan or  search on metacpan

doc/sfspec21.html  view on Meta::CPAN

1
1/2
</P><P>
0
</P><P>
Min Mid = (Max+Min)/2 Max
</P><P>
Figure 5: Positive Unipolar Linear Plot
</P><P>
(type=0, D=0, P=0)
</P><P>
Figure 6 below shows the response to a Positive Bipolar Linear Source:
</P><P>
Controller Source Native Values
SoundFontModulator
</P><P>
InputValues
</P><P>
1
0
</P><P>
-1
</P><P>
Min Mid = (Max+Min)/2 Max
</P><P>
Figure 6: Positive Bipolar Linear Plot
</P><P>
(type=0, D=0, P=1)
</P><P>
Note the difference caused by flipping the 'P' bit is a change in the
"bias", as well as cutting the resolution of the source controller in half.
</P><P>
Figure 7 below shows the response of a Negative Unipolar Linear source:
</P><P>
<A NAME="p72"></A>
Controller Source Native Values
SoundFontModulator
</P><P>
InputValues
</P><P>
1
1/2
</P><P>
0
</P><P>
Min Mid = (Max+Min)/2 Max
</P><P>
Figure 7: Negative Unipolar Plot
</P><P>
(type=0, D=1, P=0)
</P><P>
Note the difference caused by flipping the 'D' bit is a change in the
slope, or a mirror image of the original controller.
</P><P>
Likewise, a Negative Bipolar Linear plot would have a negative slopping
bipolar characteristic.  The concave curves take on similar
characteristics.
The figure below contains a summary of the approximate shapes of all
supported controller types. Note that
<A HREF="#8.2.4">Section "8.2.4 Source Types"</A>
contains the mathematical formula for the convex and concave curves.
</P><P>
<A NAME="p73"></A>
Linear Controller Curvesfor given Directions and Polairities
Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar
</P><P>
Concave Controller Curvesfor given Directions and Polairities
Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar
</P><P>
Convex Controller Curvesfor given Directions and Polairities
Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar
</P><P>
Switch Controller Curvesfor given Directions and Polairities
Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar
</P><P>
Figure 8: SoundFont Modulator Source Summary
<A NAME="p74"></A>
</P><A NAME="9.5.3"></A><P>
<B>9.5.3 Mappings of Modulator Sources to the SoundFont Controller Input
Domain</B>
The following table shows how SoundFont modulator sources are mapped to
the SoundFont controllerminimum and maximum values.
</P><P>
Note that due to the fact that MIDI has an even number of distributed
points in their controllers, the maximum position can not correspond to
exactly 1.<BR>
Table 2: Controller Native to Input Value Mappings
</P><A NAME="9.6"></A><P>
<B>9.6  SoundFont 2.01 Standard NRPN Implementation</B>
Although the SoundFont 2.01 Modulator implementation gives a large degree
of flexibility to real-timecontrol over sounds, by itself it precludes
the ability to have some dynamic real-time control over the
suite of synthesis parameters without having to do sound design or
customization. Therefore this NPRNimplementation will be a standard NRPN
implementation to be used in any SoundFont 2.01 compatible
synthesizer.
NRPN stands for Non Registered Parameter Number. The MIDI specification
has defined this series of continuous controllers to permit General MIDI
compatible synthesizers to take advantage of their
proprietary hardware by using these messages to control the non-General
MIDI compatible aspects oftheir hardware.  The SoundFont 2.01
specification uses these messages to allow arbitrary real-time
control over all SoundFont synthesis parameters.
This specification outlines a general approach on how to select generators
and what resolutions they maybe controlled. This way, there need not be
any adjustments to this portion of the specification in order to
accommodate new generators.
Note that this NRPN implementation is not compatible with NRPN
implementations provided with otherSoundFont 2.0 compatible products
such as Creative Labs Sound Blaster AWE32.
</P><A NAME="9.6.1"></A><P>
<B>9.6.1 The NRPN Message</B>
A NRPN message is a series of standard Continuous Controller messages,
which are order dependent. Amaximum of 4 messages is necessary to complete
a single NRPN message. The NRPN message format
allows the use of the same 4 controllers to control an infinite number
of parameters.
</P><P>
Modulator Source Native Position SoundFont MappedUnipolar Position
SoundFont MappedBipolar Position
7 bit MIDI Controller Min 0 0 -128/128 = -1Data Value Max 127



( run in 1.060 second using v1.01-cache-2.11-cpan-f56aa216473 )