-
Notifications
You must be signed in to change notification settings - Fork 260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
the default "pitch wheel -> fine tune" modulator can't be removed #154
Comments
So apparently you can't use leading spaces on a line in these bug reports. Sorry if the report looks a little messy as a result. Original comment by: mrbumpy409 |
Hi, Christian Inside FluidSynth,default 'Pitch Wheel modulator have a destination generator called 'Initial Pitch' (and not This default modulator is specified in 'SF2.01 p 57 section 8.4.10'. The issue is this 'Initial Pitch' generator is In the above test, both modulators modulate pitch note at the same time; i.e the default 'Pitch Wheel to initial Pitch' and Possible acceptable patch to FluidSynth: regards Original comment by: jjceresa |
Be able to cancel default modulator (sfspec24- p44 - 8.4.10 MIDI To fix this issue, I see 2 solutions: 1)We decide that 2)We change the default modulator destination Solution 2 seems preferable but it isn't obvious because Opinions ?. |
Unconventional, but with the benefit that pitchwheel is the only controller with 14 bit precision.
Solution 2) has the benefit it will be usable with existing (and unmaintained) soundfont editors. However, using "fine tune" as destination generator whereas the spec requires "initial pitch" isn't obvious indeed. So I think, whatever solution we agree on, it must be correctly documented anyway.
... and fortunately for fluidsynth this doesn't seem to matter (?). In any case, JJC you are welcome to draft a PR :) |
Yes, unconventional, but really useful as many MIDI controller keyboard have natively this hardware
Yes, conversely solution 1) which is straightforward, have the boring drawback to force soundfont designer (having the habit to designate 'fine tune') to maintain two set of soundfont , because of the new generator '59'. Also, for (unmaintened) soundfont editor that only presents to the designer
Assuming solution 2 option, I haven't yet look if extending max,min of I am torn between solution (1) and (2)....! |
I would vote got go with option 2., mainly because that way Fluidsynth would behave just like the Audigy 2 ZS (according to the original bug report by Christian Collins). As the soundfont spec doesn't help us here, I think taking the actual hardware implementation as a guideline is the next best thing. |
Option 2 seems a good choice. It is compatible with RPN_CHANNEL_FINE_TUNE which have 14 bit values (like Pitch Wheel). Also, I don't see that this will break something in FluidSynth. Also, I realized that option 1 isn't not good because actually internally Initial Pitch (GEN_PITCH) isn't intended to be modulated. May be this is why Initial Pitch isn't enumerated in the SF specification. |
I have looked this. It looks fortunately that |
Attaching Christians original test file. |
The default modulators are normally "turned off" by adding an identical instrument-level modulator and setting the amount to 0. This works in FluidSynth for the other default modulators I have tested (although I haven't tested all of them). However, for the "pitch wheel -> fine tune" modulator, this isn't working correctly.
I have created a test SoundFont (attached) containing three notes, each with a different modulator setup:
Note: F#6
Local modulators: none
Resulting pitch bend:
Audigy 2 ZS: normal
FluidSynth: normal
Note: G6
Local modulators:
1. Source1=Pitch Wheel (Linear, Bipolar, +)
Source2=Bend Range (Linear, Unipolar, +)
Destination=Fine Tune
Amount=0
NOTE: this should "turn off" the default "pitch wheel -> fine tune" modulator, resulting in pitch bend having no effect.
Resulting pitch bend:
Audigy 2 ZS: none
FluidSynth: normal <-- should be "none"
Note: G#6
Local modulators:
1. Source1=Pitch Wheel (Linear, Bipolar, +)
Source2=Bend Range (Linear, Unipolar, +)
Destination=Fine Tune
Amount=0
NOTE: this should "turn off" the default "pitch wheel -> fine tune" modulator, resulting in pitch bend having no effect.
2. Source1=Pitch Wheel (Linear, Bipolar, -)
Source2=Bend Range (Linear, Unipolar, +)
Destination=Fine Tune
Amount=12700
NOTE: this should create an inverted pitch bend (i.e., pitch wheel up will cause the pitch to bend down, and vice versa).
Resulting pitch bend:
Audigy 2 ZS: inverted
FluidSynth: none <-- should be "inverted"
The attached MIDI file and OGG recordings feature all three of the above notes played in succession with the pitch wheel bending downward, back to 0, upward, and back to 0. You can hear the aforementioned differences clearly when comparing the Audigy 2 ZS and FluidSynth recordings.
Reported by: mrbumpy409
Original Ticket: fluidsynth/tickets/156
The text was updated successfully, but these errors were encountered: