Synth Forum

Notifications
Clear all

Criteria for Storing Offsets

18 Posts
4 Users
0 Reactions
619 Views
Bad Mister
Posts: 12303
 

If you have time and bandwidth for background on how to make this work - read on.
If not, just copy it and save it for later.... Sorry, since I retired, I find many other things to do, so I work on answering posts when I can... (its not a job any more). Hope it is helpful for you - and/or others who have run into this...

First, let’s be clear about Offsets. When you are altering a parameter like the “Cutoff” knob (found on the TONE row of left front panel functions) you are using the "Motion Control" > Quick Edit > “Cutoff”; the Offset values will be shown in units -64 ~ 0 ~ +63. (This Offset of Cutoff Frequency would never have a value of 106). +0 will be the Knob’s value when the Knob is straight up at the 12 o’clock position — this is the position that represents ‘no change’ from the currently stored settings within any of the active Filters.

Say the Part is a Normal AWM2 and has 3 Elements. The settings of each Element’s Filter Cutoff Frequency is represented by this +0. They could each be a completely different Types of Filter, each with a completely different Cutoff Frequency setting. But the “+0” here represents the *stored value* for each (whatever it happens to be). You can turn the Knob to manipulate all active Filters within the entire Performance when “TONE Common” is indicated (If you have a 16 Part Performance, you are adjusting scores of Filter Cutoffs with one gesture). If an individual Part is indicated (selected) it offsets just the Filter Cutoffs of the Filters in the *selected* Part. (A Normal AWM2 Part can have 8 Filter Cutoffs -one per Element)

They are all returned to their original Cutoff Frequency at the moment the Knob is returned to +0 (12 o'clock position). When you move this TONE row “Cutoff” Knob, each active Filter Cutoff changes from its stored condition… verify by-ear.

All the Factory Performances, naturally, have the Cutoff at +0. This is what the original programmer decided is the ‘starting point’. Allowing the user to open (boost) or close (cut) from the value. Say you like it better at a different setting… If you move this from its initial +0 setting, to +36 and press [STORE], you are given the opportunity to create a “New Performance”; in doing so, be sure to give it a unique Name, then press DONE.

Your new Performance will be recalled with your offset value on the TONE “Cutoff” Knob (+36).

The factory Preset version of that Performance remains unchanged (+0)... you know this but it has to be mentioned.
Conclusion: the TONE “Cutoff” value is a storable parameter… always.

Deeper Dive: using an AWM2 Normal Part
The actual Filter Cutoff is found in EDIT as a Part > Element edit parameter; "Filter" > "Type". You are inside the individual Filter where the "Cutoff" Frequency values run between 0-255… Lower numbers represent lower frequency, frequency is laid out like a keyboard left-to-right (low-to-high) but these are just numbers -units (not scientific settings - not Hertz)

Just FYI: on this scale 0-255 a setting of Cutoff = 127, about halfway, sets the Cutoff Frequency to A440… the A above middle C.

When you assign Cutoff to a Part Assign Knob, that Knob will show you a value between 0-127... whether the Polarity is unidirectional or bidirectional. These values represent how the Filter Cutoff Depth is being applied.

If you have “Curve Type = Standard”, then the left side of a Uni “Polarity” ramp will represent the ‘stored’ Filter Cutoff value (whatever it happens to be) - the start value setting. As you turn the Knob from minimum toward maximum, you are applying change left-to-right along the graphic.
__ If Ratio is a positive value, ramp goes uphill, the Cutoff will increase in Frequency as you move it clockwise toward maximum, and it will return to the ‘start point’ when you move counterclockwise… returning to the start point.
__If the Ratio is negative, the Cutoff Frequency will decrease (ramp declines) from the stored value toward the right, and then return to the stored value when moved counterclockwise.

If the "Curve Type = Standard", and the Polarity is Bi, then the graphic starts at left in the negative area ... the point where it crosses the centerline, on the x-axis, is 0 and represents the stored start Cutoff value (whatever it happens to be). This allows the filter cutoff to move up or down from the stored value. Values 0-63 are on the closed (negative) side and 64-127 will open the filter (positive side).

Additionally, each Control Assign Setup lets you "opt in" or "opt out" of following these settings on a per Element Filter basis. If you opt in (Element Switch ON) for all three Elements, all three Element Filter Cutoff Frequencies will be affected by the assigned Knob.

Controller Resets - a word about settings that reset to a nominal setting
In Standard MIDI the Controller Resets determine what will happen to your control devices when a program is initially recalled: for example, the MW defaults to 0 minimum, and PB to +0000, and Foot Controllers 1/2 to 127 (maximum), Ribbon to +0 Center, Aftertouch 0, Assign Switches to Off, MS Hold to Off, etc., see Data List booklet for the standard Controller Reset defaults.

Certain other MIDI standardized controls can be freely set and stored easily on a per program basis… (that is, they do not reset, but can be stored independently, these include things like Volume, Pan, Bank Select/Program Change, etc., etc., Happily, these also include the eight Assign Knobs... letting you know, an Assignable Knob's position can be directly stored to your Performance! It is true!

So if you are seeing “106”, we can eliminate the Quick Edit “Cutoff” because it can never (ever) read 106. You are either looking at the actual Filter Cutoff value, a number between 0 and 255 which is the value that determines the filter's start point (or you are looking elsewhere, probably looking at a Control Assign Knobs value, always shown as 0-127).

If you are viewing the Filter itself... This means you have navigated to Part Edit > selected an Elem1-Elem8 > touched “Filter” > “Type” and are editing the actual Filter values inside the Filter itself. The value you set here is referred to as the ‘stored’ or ‘start’ setting for that particular Filter. It is from this setting that all movement starts from and returns to when using a controller. It is HOME.

What you then said you did:
You say you have assigned the Cutoff parameter to a Part Control Assign Knob, and you have linked that Part Assign Knob, to a Common Assign Knob, which is linked to the Super Knob movement… cool! Excellent, in fact… If this is the case: You can store this to your User Performance by storing the Super Knob position... to your User Bank).

While the position of some standard Controllers are not storable (for example, you can't store the MW position), BUT you can store the position of the Super Knob (it being ‘super’). Simply turn the Super Knob to the location where your sound is as you like, and then press [STORE] — the Super Knob position is directly storable, and it will cause the COMMON and PART Assign Knobs linked to its movement to move to a predetermined setting!!! Presumably the setting you like!

Conclusion: When you have linked that Part Assign Knob to an upper level Common Assign Knob which is linked to the Super Knob, you can store the position of the Super Knob. Simply press [STORE] at the position that sounds right to you.

It then follows that: If the Control Assign Knob is linked to Super Knob position, it must follow the Super Knob… if you then try to reposition that individual Knob, directly, you can but… and this is a huge but: But unless you actually unlink it from Super Knob control, it will jump back to being under Super Knob positioning if/when the Super Knob is engaged, or the program is recalled. That is normal.

Therefore, by unlinking a Common Assign Knob from Super Knob Control, you can store it, independently, wherever you want. And, significantly, when the program is recalled that KNOB will be where you prefer!!! and it remains independent of the Super Knob.

Therefore: You can either preserve your ideal setting by Storing the “Super Knob” at the exact position you require to recall your sound properly, when linked… or you can unlink the Common Assign Knob and store that Knob separately.
__Linked: The Super Knob will move the Common Assign Knob, which will move the Part Assign Knob assigned to the Part’s Filter Cutoffs.
__Unlinked: the Common Assign Knob is independently storable. And it will cause the linked Part Assign Knob to adjust the Filter Cutoff to your preferred value.

Additionally, the Part Assign Knob is also. independently, a storable setting....
You will discover, the individual Part Assign Knob’s position can be directly stored, and as long as you don’t uplink it to something that will cause it to change, it will faithfully recall your setting. It is really that simple and that complex.

Extra Credit: Advantages/Disadvantages - to link or unlink?
Unlinking a Common Assign Knob from Super Knob control means it can be set and stored independently of the Super Knob position. The advantage of having Cutoff linked to a Common Assign Knob (over just the directly to a Part Assign Knob alone) is that it can be made accessible via the [Performance (HOME)] screen - te screen you see when you initially recall your Performance... simply store the Performance with the [ASSIGN] button lit and VIEW #1. This means you do not have to first *Select* the PART in order for the Part Assign Knob to be accessible.

Typically, the Performance HOME screen, VIEW #1, will show the Knob icons you have programmed on the upper Common/Audio level of the architecture > Control > Control Assign screen… stored with the [ASSIGN] button illuminated. The only way to access the Part Assign Knob is to, additionally, *select* the PART.

And Deeper still... Fine tuning your programming
Details: From HOME > touch “Motion Control” > “Super Knob” — here is where you can determine the minimum/maximum for each Common Assign Knob, where you link and unlink Common Assign Knobs with the Super Knob and you can determine the direction/distance in which the values will change for each of the 8 Common Assign Knobs.

The amount and direction of movement… A linked Common Assign Knob can follow exactly the position of the Super Knob — this occurs when the Minimum (green) value = 0 and the Maximum (blue) value = 127. Each Common Assign Knob can be independently set as to how far and in what direction it changes in response to Super Knob movement. Here’s an example of how this might work:

__ If Common Assign Knob 1 has a Minimum-to-Maximum range setting of 0-127 it will mimic the Super Knob exactly, from minimum 0 to maximum 127.
__ If the Common Assign Knob 2 has a Minimum-to-Maximum range reversed, 127-0, it will move opposite to the Super Knob direction.
__ If the Common Assign Knob 3 has a Minimum-to-Maximum range of 33-to-85 it will come to rest at 33 when the Super Knob is at minimum, and it will reach 85 only when the Super Knob reaches maximum.
_ and so on...
Turning the Super Knob under these conditions will cause three different movements of the Common Assign Knobs 1, 2 and 3.

If Common Assign Knob 4 is unlinked, you can set a minimum and maximum value for its movement, and setup the direction — plus add to this, because it is unlinked, it will only move when you directly interact with it.

BTW__ "Scene Memory" for Super Knob position is a separate thing from storing the Super Knob position to a specific start value… unless you have the Sequencer document the Scene recall event. Yes, the sequencer can implement a SCENE recall. So activating a Scene Memory has a use if you wish to use the Sequencer to automate the condition.

Conclusion: You are in the deeper end of the pool. But the behavior can be explained using the items I have pointed out. When you get this deep into the programming, you will appreciate that you can give your Assign Knobs (both Common and Part) “nicknames”… this becomes essential because you will want to know exactly what the Assigned Knob is doing.

Hope that helps… Let us know.
I read some of the posts - but not all (some of the info is, well, simply not the case, at all) Lots of posts between when I started writing this reply and when I was able to finally post it (at some point I may read them all) but I wanted to put down what my experience has taught me about your issue.

 
Posted : 26/02/2023 3:05 pm
Antony
Posts: 745
Prominent Member
Topic starter
 

@Bad Mister...

thank you for the detail and verbose explanation. I do know you've retired and there is no need for any type of apology or explanation, your input is always welcome.

Well, between my last post and reading your reply, I think you've hit the nail on the head.

Because I did not specifically assign "many" Common Assigns to the Super Knob, I assumed the ones I did consciously assign, were the "only" ones assigned.

Not keeping my eye on the ball, I've realised that all Common Assign Knobs are linked to the Super Knob by default.

So when I thought I was making "clever" one-touch Assigns and Movements to the Super Knob, I was in fact changing a bunch of other stuff I didn't want to, or hadn't planned to change like Decay Times, Attack Times and such.

I've probably been taking bigger bites than I can chew, so I will revisit with a clearer frame of mind.

On that note... apologies for my earlier rant regards ChatGPT... although I'm still not a fan. New Job, new demands, and maybe not realising my stress levels were up. New Job is heavy on automated beaurocracy... I've been feeling a little anti-AI, anti-Robot, searching for human intellect and interaction. I didn't mean to point fingers at regulars, I know yours and others help is always human, well intended, and to the point.

Thanks !!

 
Posted : 27/02/2023 10:30 am
Posts: 0
New Member Guest
 

I've realised that all Common Assign Knobs are linked to the Super Knob by default.

True - that is an important point. But there are a few other points that are just as important:

1. the link is ONE WAY - moving the super knob determines (by computing) the common knob values (if linked) but moving a common knob does NOT affect the super knob value (whether linked or not)

2. the current common knob value plays NO ROLE at all in determining the new common knob value computed when the super knob is moved.

3. when moving the super knob the new common knob values are NOT set to the new super knob value. They are computed from it based on the common knob min/max settings on the Motion Control -> Super Knob screen.
(for others - Bad Mister explains all that in his Mastering MODX: Super Knob Common article
https://www.yamahasynth.com/learn/modx/super-knob-common-mastering-modx)

4. when moving a common knob the new part assign knob values ARE set to the new common knob value - there is no computation.

So when you move the Super Knob each common knob value will JUMP from whatever value it currently has to its newly computed value.

Those 'jumps' occur when you manually move a common knob and then move the super knob.

The same 'jump' issue exists for the part knob values also when the destination of a common knob is a part assign knob.

Moving a common knob causes the common knob value to REPLACE the linked part assign knob value with the new common knob value. That new assign knob value is then used to compute a new value for whatever destinations have been assigned to that part assign knob.

That linkage is also one way. Moving the common knob changes/replaces the part knob value but moving the part knob has no effect on the common knob value.

You can see those jumps also by:

1. edit a part and move the part assign knob to 40
2. go to performance home and move the common knob to 80
3. edit the part again and the part assign knob value will now be 80
4. move the part assign knob back to 40
5. go to performance home and the common knob value will still be 80

But if you now move the common knob to 81 the part assign knob will JUMP to 81.

And if you now store the performance both values will be stored as 81.

Generally speaking upper level stuff affects lower level stuff but lower level stuff doesn't affect upper level stuff. The flow is downward through the hierarchy.

It's a catch-22: you need to define the lower level stuff before you can twiddle, tweak and finalize the upper level stuff. But that upper level tweaking has now modified your lower level stuff and if you now store it the lower level stuff won't be what you started with.

 
Posted : 27/02/2023 6:49 pm
Page 2 / 2
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us