Pitch bend range/pitch wheel sensitivity?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Pitch bend range/pitch wheel sensitivity?

Mark Raynsford
Hello!

It seems that I can set the pitch wheel sensitivity using the command:

pitch_bend_range 0 12

This means that when I push the wheel up to maximum, the pitch is
increased by 12 semitones. When I push it to minimum, the pitch is
lowered by 12 semitones. This either applies to channel 0, or to all
channels, I'm not certain.

This is all fine, but I was under the impression that I could actually
define this in the SoundFont itself. I assume I need to add a modulator
in the global zone of an instrument or preset, but it's not clear to me
what the modulator settings should be. The spec is somewhat less than
helpful on this point.

--
Mark Raynsford | http://www.io7m.com


_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev

attachment0 (235 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Pitch bend range/pitch wheel sensitivity?

Ceresa Jean-Jacques

Hello

 

> pitch_bend_range 0 12

 

>This either applies to channel 0, or to all


> channels, I'm not certain. ?

 

This command is equivalent to receive MIDI 'pitch bend sensitivity range' message which is  a RPN MIDI channel message:

pitch_bend_range   channel_number   semitone_range

In your exemple: 0 is the channel number (0 based), 12 is the range.

This MIDI message is received only by MIDI channel 0.

 

>This is all fine, but I was under the impression that I could actually
> define this in the SoundFont itself. I assume I need to add a modulator
> in the global zone of an instrument or preset, but it's not clear to me
> what the modulator settings should be.

>The spec is somewhat less than helpful on this point.

 

The spec defines a default modulator for this purpose (SF2.01 page 57 section 8.4.10 MIDI Pitch Wheel to Initial Pitch ....).There are 2 solutions

1) One can add a new modulator  at instrument level (global or local) to be able to supersede the default modulator.

For exemple an amount value of 25400 (in cents) will produce +4/-4 semitones range.

This solution impacts any note played on any MIDI channel.

2.1) One can send a MIDI RPN pitch wheel sensitivity message on the concerned channel. (see MIDI spec to know RNP number).

2.2) The above command can be put in a config-file. Then invoke fluidsynth application with option -f config-file.

jjc

 

 

 

> Message du 12/03/19 15:00
> De : "Mark Raynsford" <[hidden email]>
> A : "FluidSynth mailing list" <[hidden email]>
> Copie à :
> Objet : [fluid-dev] Pitch bend range/pitch wheel sensitivity?
>
> Hello!
>
> It seems that I can set the pitch wheel sensitivity using the command:
>
> pitch_bend_range 0 12
>
> This means that when I push the wheel up to maximum, the pitch is
> increased by 12 semitones. When I push it to minimum, the pitch is
> lowered by 12 semitones. This either applies to channel 0, or to all
> channels, I'm not certain.
>
> This is all fine, but I was under the impression that I could actually
> define this in the SoundFont itself. I assume I need to add a modulator
> in the global zone of an instrument or preset, but it's not clear to me
> what the modulator settings should be. The spec is somewhat less than
> helpful on this point.
>
> --
> Mark Raynsford | http://www.io7m.com
>
> _______________________________________________
> fluid-dev mailing list
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/fluid-dev
>
>
> [ OpenPGP digital signature (0.2 Ko) ]
_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Reply | Threaded
Open this post in threaded view
|

Re: Pitch bend range/pitch wheel sensitivity?

Tom M.
In reply to this post by Mark Raynsford
> This either applies to channel 0, or to all channels, I'm not certain.

Just noted that the documentation for this command is broken. Fixed it. The
first parameter specifies the midi channel, so it only applies to channel 0.

> I was under the impression that I could actually define this in the
SoundFont itself

You can, but only through modulators, I'm afraid: You need to add a modulator
to the global zone of the instrument of your interest.

Source1 of that modulator is bipolar, linear, positive.
Source2 is =1, i.e. no source2.
The destination is the coarse pitch tune generator.
The amount of that modulator is the desired_pitch_bend_range minus two.

Why two? The "General MIDI Protocol Implementation Requirements" require a
default pitch bend range of +- 2 semitones for each MIDI channel. That is: a
range of two semitones come from the MIDI spec, any additional semitones come
from your modulator.

This works fine as long as the pitch bend range isn't changed with RPN0.

Tom




_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev
Reply | Threaded
Open this post in threaded view
|

Re: Pitch bend range/pitch wheel sensitivity?

Mark Raynsford
On 2019-03-12T19:01:44 +0100
"Tom M." <[hidden email]> wrote:

>
> > I was under the impression that I could actually define this in the  
> SoundFont itself
>
> You can, but only through modulators, I'm afraid: You need to add a modulator
> to the global zone of the instrument of your interest.
>
> Source1 of that modulator is bipolar, linear, positive.
> Source2 is =1, i.e. no source2.
> The destination is the coarse pitch tune generator.
> The amount of that modulator is the desired_pitch_bend_range minus two.
>
> Why two? The "General MIDI Protocol Implementation Requirements" require a
> default pitch bend range of +- 2 semitones for each MIDI channel. That is: a
> range of two semitones come from the MIDI spec, any additional semitones come
> from your modulator.
Thanks, this worked. I needed to specify 20 as the amount in order to
get +- 12 semitones in Fluidsynth. I'm assuming this is due to the full
size of the range being 24 semitones, minus two at both ends of the
range.

--
Mark Raynsford | http://www.io7m.com


_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev

attachment0 (235 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Pitch bend range/pitch wheel sensitivity?

Tom M.
> Thanks, this worked. I needed to specify 20 as the amount in order to
> get +- 12 semitones in Fluidsynth. I'm assuming this is due to the full
> size of the range being 24 semitones, minus two at both ends of the
> range.

Sounds like you've mistakenly set source1 as unipolar, rather than bipolar.
For a bipolar source1 an amount of 10 should work.

Tom




_______________________________________________
fluid-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/fluid-dev