Both Montage M and the previous generation list 'Pitch Controller Sensitivity' and 'Level Controller Sensitivity' in their data lists as FM-X Operator parameters, but I have yet to find anywhere in the on-screen UI that lets you edit these parameters, and to be honest I don't actually know what they are for...
Any takers?
f0 43 10 7f 1c 0d 30 02 07 44 00 03 f7 - sets the part 1, operator 8 Level Controller Sensitivity to -4 for the OP AEG Offset
LOL! Those parms are two of the oddballs - and two of the most hidden parms - see p.387 of the Operation doc
Operator Sw (Operator Switch)
You can set the controller setting for each Operator on or off. This parameter is shown only
when the selected Destination is related to Operators.
Settings: Off, OnOperator Rate
Sets the sensitivity of the controller selected for the Destination.
This parameter is shown only when the Destination is set to OP Freq or OP AEG Offset.
Settings: −7–+7Sw/Rate
Switches between the Operator Sw and Operator Rate.
This parameter is shown only when the Destination is set to OP Freq or OP AEG Offset.
The doc graphic has 'Sw' selected and shows an ON/OFF 'include' switch for each operator. If you select 'Rate' you will see 8 cells where you can provide a value from -7 to +7 for 'Controller Sensitivity'.
If the destination is 'OP Freq' those values represent 'Pitch Controller Sensitivity' and if the destination is 'OP AEG Offset' they represent 'Level Controller Sensitivity'.
Both Montage M and the previous generation list 'Pitch Controller Sensitivity' and 'Level Controller Sensitivity' in their data lists as FM-X Operator parameters, but I have yet to find anywhere in the on-screen UI that lets you edit these parameters,
And now you know where to find them.
The value range is -7 to + 7 on the screen but that range is stored differently using the range 0 to 14 where 0 corresponds to -7 and 14 (0x0E) corresponds to +7. The data List (p.252) shows a default value of '00 07' but that actually represents a value of 0 since the stored range is 0 to 14 and seven falls in the middle.
f0 43 10 7f 1c 0d 30 02 07 44 00 03 f7 - sets the part 1, operator 8 Level Controller Sensitivity to -4 for the OP AEG Offset
P.252 shows table '3p 02 0o' and offset '44' is the 'Level Controller Sensitivity' parm. Since '7' represents '0' the '03' in the command above represents '-4' so -4 is what you will see on the UI.
and to be honest I don't actually know what they are for...
To be honest we have only done limited testing and that was just to verify that we had the correct SysEx code to manipulate the parms.
Our working hypothesis is that both parms are offset curves applied to either Level or Pitch.
1. Init Normal (FM-X)
2. Edit->Part 1->Common->Mod/Control->Control Assign
3. Select OP AEG Offset for destination 1 and assign knob 1
4. Experiment with the value for op8, setting values and using SysEx to get/set values.
If you set the value to +2 or higher and play, then release, a note you will notice that the sound will NEVER die out! And you can move assign knob 1 back and forth and hear the sound raise and lower but never go away.
Only if you move assign knob 1 all the way to 0 will the sound stop. Leave it at any other setting and use polyphony forever. We have no idea if that is 'working as designed' or not.
Please post and let us know what you find.
Thanks @toby - I already had the controls mapped out, I just didn't know where to go to test that they were actually doing what they were supposed to, or even what to label them...
Sorted now.
Each 'OP Freq' increment is a 4th range change. That is an increment appears to change the range by exactly 5 semitones.
1. Init Normal (FM-X)
2. Set Destination 1 to 'OP Freq' and Source AsgnKnob 1
3. Operator 8 Pitch Controller Sensitivity is default value of 0
4. Set AsgnKnob 1 to 0
5. Play and hold middle C while you rotate knob 1 from 0 to 1023
6. Notice no change in tone regardless of knob 1 position - the 'range' is 0-0
7. Increment Sensitivity to +1
8. Play and hold middle C while you rotate knob 1 from 0 to 1023
9. Notice the tone change from C3 to F3 - +1 sets a change range of 0 to +1 fourth (F3 is the 4th of C3). So pressing C3 with a knob value of 0 produces C3 but pressing C3 with a knob value of 1023 produces F3.
10. Sensitivity = +2 => change range of 2 fourths - C3 (knob 0) produces C3 and C3 (knob 1023) produces Bb3
So the Pitch Controller Sensitivity value determines the size of the frequency range that the controller can control in fourths: +5 the range is 5 fourths ( C3 to C#5). So -5 the range is C3 to B0.
Plus values increase the frequency and Minus values decrease the frequency.
The spacing of the semitones within each fourth isn't linear but does appear to be consistent throughout the range of the keys.
These have similar functionality on previous FM synths including the DX7. Some literature, magazine articles, etc. try to present supplemental explanations. These were previously coupled with LFOs. The FM-X engine has more flexible LFOs so that is decoupled now (no need to use Level Sensitivity now for LFOs to reach individual operators). And pitch sensitivity was one peanut-butter spread across all ops evenly without the ability to set individual operator sensitivities for pitch. That changes the game slightly.
Level is easier to describe because it matches what the DX7 did. When you assign a non-zero sensitivity to a carrier you are allowing the attached controller (source controller) to create a "tremolo effect" when moving the controller back and forth. Louder/softer/louder/softer. When you assign a non-zero sensitivity to a modulator you are allowing the attached source controller to modulate the frequency domain similar to a wah-wah pedal brighter/darker/brighter/darker. That's how they described it before and it would still apply. And it would matter where in the stack the modulator is - but this isn't going to be an FM primer.
And then pitch in the DX7 days would impact the carrier and modulators the same so they would say this would cause a vibrato effect. And it still would if either you had the pitch sensitivity on the carrier(s) only or on the carrier(s) and all other operators to mimic the DX7. With the added flexibility you could just pitch shift modulators only which would be changing the ratios (freq ratio between two operators) and therefore you'd be able to get different analog oscilloscope waveforms out. The science and application of operator ratios is part of the FM primer that belongs elsewhere.
I'm not sure if your testing of OpFreq had the frequency mode set to fixed or ratio. I think init FM-X sets it to ratio by default(?). I say this because the FS1R, which is fairly closely tied to FM-X with the exception of unvoiced/formants/etc - the docs there say that Frequency Bias (OpFreq equivalent) only applies when the freq mode is set to fixed. I could probably crack open the Montage classic and see what it does but you'll beat me to it. The Montage Classic docs do not mention anything about this as a rule - so maybe it's more flexible.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Testing of OP AEG Offset failed due to apparent bug - If you set the sensitivity value to +1 or higher and play, then release, a note the sound never dies out. That interferes with tests doing assign knob twiddling (as decribed in a previous post). Sometimes the knob won't have any effect on level at all and other times it will.
This appears to be a polyphony 'leak' so we reported it as Idea #3330 on IdeaScale - https://yamahasynth.ideascale.com/c/yamahasynth/idea/188229
The FM-X engine has more flexible LFOs so that is decoupled now (no need to use Level Sensitivity now for LFOs to reach individual operators).
Yes - the latest Montage M OS update 3.0 added 9 new fm operator destinations to the Part LFO so now that LFO can directly manipulate their operator. That wasn't possible before the new update. Those new parms are listed on p.206 of the 'F0' Data List doc version.
The LFO Pan, 2nd LFO Speed, Filter Cutoff Frequency, Filter Resonance and Feedback are common (no operator depth selection).
The OP1-8 Frequency, OP1-8 Spectral Form, OP1-8 Detune and OP1-8 Output Level provide 'Operator Depth Ratio' parms the user can use to control the degree to which each operator participates. We haven't yet tested these to try to determine just how the ratio values (0-127) map to the actual legal parm values for the 4 parms.
For instance 'Spectral Form' only has 7 possible values so, presumably since the ratio range is 0-127 it isn't clear what value to use for ratio if you want to set Spectral Form to 'Odd 1' which is value #4 of the 7 possible.
And pitch sensitivity was one peanut-butter spread across all ops evenly without the ability to set individual operator sensitivities for pitch.
And now, in the M, the 'OP Freq' destination provides a -7 to +7 'buy in' for each operator where, as a previous reply with test results shows, each value increases the frequency range by a 4th.
I'm not sure if your testing of OpFreq had the frequency mode set to fixed or ratio. I think init FM-X sets it to ratio by default(?).
Yes, we were using Init Normal (FM-X) and 'ratio' is the default. Algorithm 69 is also the default so only op 8 (a carrier) has a non-zero level and the ratio was 1.
OP only ask where to find the two 'sensitivity' parms in the UI and what they were for. But since we hadn't yet gotten to that area on things yet we took it upon ourselves to do some basic tests and provide that info as well.
I could probably crack open the Montage classic and see what it does but you'll beat me to it.
Well - we aren't committing ourselves to a lengthy trip down that bunny hole but the question is an interesting one and is an area where the M might be doing things differently than the classic and that would be interesting to know.
Repeating the earlier test for 'OP Freq' but with one change - flipping 'Ratio' to 'Fixed'. Twirling assign knob1 affected the frequency 'range' the knob would change the base (depending on key pressed) frequency. That range would change as the sensistivity was varied from -7 to +7.
But we made no attempt to determine what any of the ranges were or how the range increased as the value changed. Nor did we make any changes to the default control assign curves or parms to see their affect on things.
FM-X has always allowed for a note that sustains indefinitely. Set the release to the maximum value and this happens. If your offset pushes up the amplitude envelope's release portion to the highest value then you'll get this. Not a polyphonic "leak". You may want to reason through if this AEG release phase is the cause more-so than any bug. I'm not weighing in any which way here. But one of my favorite properties of FM-X is the ability for it to sustain infinitely since I use it as a signal to other Parts using the envelope follower as a detection mechanism for the other Parts.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Could 'OP AEG Offset' be affecting 'Rel(Hold)'?
If your offset pushes up the amplitude envelope's release portion to the highest value then you'll get this.
Yes - using a high value for 'release' (release time) to get long sustains is fairly well known and expected.
But since 'OP AEG Offset' is labeled as 'OP1-8 EG Level Offset our assumption is the offset was to the 'Level' parm on the operator 'Level' screen.
Your reminder about release prompted us to notice that 'Rel(Hold)' on that screen is shown as a 'level' so we did some quick tests
An Init Normal (FM-X) has defaults of 40 and 0 for 'release' and 'Rel(Hold)' so we set release to 0 and just checked 'hold'.
1. hold=0 or 5 dies out right away
2. hold=10 - tone sounded dies right away but there is a low level signal that sounds without ever dying out. Only way to stop it is to switch performances and then back again to the init.
1. Init Normal (FM-X)
2. Set all Time and Level values to 0 for op 8
3. Set OP AEG Offset as a dest for knob 1 and +7 for op8 sensitivity
4. No sound
5. Setting ONLY the 'Level' parm to 30 produces never ending sound with varying volume based on knob 1 position
6. Returning knob 1 to 0 kills the sound even if you then rotate the knob to other values
We don't know of any way to determine just what it is that the OP AEG Offset parm offsets. But if it is offsetting either the 'Release time' or 'Rel(Hold)' then that could be triggering the continuous sound.
But if it is only offset the 'Level' parm it seems it should NOT be causing continuous sound like long releases do.
Not a polyphonic "leak".
Are you saying that a long release that causes continuous sound doesn't use polyphony for the duration of the sound?
You may want to reason through if this AEG release phase is the cause more-so than any bug.
The key may be having to know just what the OP AEG Offset parm is actually offsetting. We'll ask Yamaha Support about it.
Just saying that if it causes infinite sustain from the offset because that's what happens if you manually adjust the parameter then it wouldn't be a bug. And then the connotation of a word labeling such a thing may change once it turns from a bug to a feature. Ultimately, I'm cool with you calling it anything you like. I don't know what "polyphonic leak" is, exactly, but it sounds bad. A leaky faucet is different from a faucet that's purposefully turned on a slight amount although both may flood your house given enough time. Sure - if you sustain a note forever then it's going to use polyphony.
Anyways - I'm not any authority on what's going on here without having the instrument but just offering something that might explain what's going on. It's fun exploring this instrument to understand how to best utilize the possibilities.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Is it 'supposed' to be causing sustain? That is the question implicitly being asked.
Just saying that if it causes infinite sustain from the offset because that's what happens if you manually adjust the parameter then it wouldn't be a bug.
My position is that it a bug if it isn't supposed to be doing that. Manually adjusting a parameter is typically expected to produce a result but the result it produces may not be the 'expected' one. In this case the continuous sustain pretty much makes the OP AEG Offset parm unusable since the results are repeatable or predictable. Some knob twirls don't have any effect at all while others change the output level.
This particular type of issue won't necessarily get noticed, or caught, during regular testing. It just isn't possible to do exhaustive testing when so many variables, and variable values, are involved.
I don't know what "polyphonic leak" is, exactly, but it sounds bad.
By 'polyphonic leak' I meant that polyphony was being used that wasn't intended to be used with the possible result of exceeding polyphony limits. If I adjust a 'time' related parm I fully expect an action to take a different time. But if I adjust a 'level' related parm I don't expect the time component to be affected. There are exceptions to everything. A large earthquake will typically have a longer time component than a small earthquake. But I don't see that sort of relationship regarding envelopes.
I used that term presupposing that the continuous sustain should NOT be occuring if you are adjusting a 'level'. I think of a 'continuous' aspect as being time related as in 'how long will this take place' whereas I think of 'level' as an indication of the magnitude of the effect it will have WHILE it is taking place. Semantics, shmantics.
A leaky faucet is different from a faucet that's purposefully turned on a slight amount although both may flood your house given enough time. Sure - if you sustain a note forever then it's going to use polyphony.
Agreed - the issue for me is I wasn't aware that I was 'purposefully' changing the time component. We submitted the basic question to Yamaha Support: "What parm(s) does the 'OP AEG Offset' value actually affect?". Blake has been pretty generous in providing basic info when he is able to.
Just for historical purposes, the general complaint about documentation surrounding OP AEG Offset is here for Montage Classic:
https://yamahasynth.com/community/postid/26608/
... and you see the same kind of assumptions I made back then about what it does although I don't see that I circled back and elaborated any more on this. And, again, like a broken record -- I "plugged" the idea of allowing the GUI to show what the offset values of parameters were so you could "switch" on offset display mode and compare all Parameter's "effective" (offset'd) values versus their programmed ones and gain insight into what's going on after offsets have gone through the ringer of either unclear documentation or ringer of some curve that you don't quite understand what the final values will be and want to "see" it. Either way - this would be a helpful tool if implemented. I guess I can check if I ever ideascale'd that one.
Some of the complaint was nit-picky but I see Montage M doubled down on the issue. The "long" name for "OP AEG Offset" is still "OP1-8 EG Level Offset" and again we get the generic "EG" label instead of "AEG" or "Amplitude EG". Inferring amplitude is a safe bet - but it's weird that the PEG parameters on the next line do spell out "Pitch EG" in the non-short-name. Following suit this should have really been "Amplitude EG" for all of the AEG non-short parameter names.
And then the implicit complaint that what exact AEG levels are offset (all equally, only some, etc) isn't clear. You could "easily" test this by pegging each AEG level to max except for one and see if the one you didn't peg is offset. (Peg max if adding with the offset, peg min if subtracting with the offset). Then only the one stage of the AEG would move as influenced by OP AEG Offset. And you'd get a sense if it's a peanut butter spread or not. Probably pretty difficult to see the degree of offset for each stage but I guess you could contrive that too. Peg all but one. Record the audio and look at it with a scope over time (or audio software) and look at the amplitude shape versus the same recording where you manually manipulate the same stage and see if you can figure out how much the level is changing within some reasonable error.
Might be a lot of work - but if there's the will, then ...
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R