Synth Forum

Notifications
Clear all

FYI: Ribbon Mode

6 Posts
2 Users
0 Reactions
2,050 Views
Jason
Posts: 8259
Illustrious Member
Topic starter
 

In some previous posts, I discounted ribbon as a suitable controller to replace a knob because I thought the ribbon always reset to the middle position. I knew other keyboards didn't do this - and was surprised that I had not run into a preset which showed the ribbon controller could hold a note - until now.

Scanning through guitars, I ran into many that would hold the effect to the last ribbon controller ("RB") position before lifting off the RB. An example is the preset performance "Duo TC Drive". In contrast, a preset performance "Rockstar" does not hold the RB position and resets to the middle when lifting off the RB.

It took me a while to find where the setting was, so I thought I'd post this as maybe others haven't found the setting yet.

1) [PERFORMANCE] (HOME)
2) Press the [EDIT] button
3) Make sure the "General" menu is selected. Should be by default
4) See "RB Mode" which has selections "Hold" and "Reset" - which do what you would expect. The value of "Hold" was something that I was not seeing much of. Also because the Init Normal (AWM2) voice sets this to "Reset" - the performances I was building from scratch did not set up RB (ribbon controller) to do what I wanted if I were to use it like a knob.

This expands the possible controls (that do not reset like pitch bend), per what I have previously said, by 1.

Example use:

... so now I see it's possible to emulate some other keyboards' controls by setting rotating speaker speed (organ) to the RB. RB vs. mod wheel probably makes more sense since you can jump "straight" from slow to fast and still retain the option of setting to inbetween speeds.

None of this is earth-shattering because it's also documented in other places. Foremost I wanted to correct my earlier claim.

Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R

 
Posted : 30/09/2016 6:19 am
Bad Mister
Posts: 12303
 

Ribbon Controller (page 21 Reference Manual)

The Ribbon Controller is touch sensitive, and is controlled by running your finger laterally across the surface. Various functions are assigned to each Part of the preset Performance. Various functions can be assigned to the Ribbon Controller in the Control Assign display (page 89) of the Part Edit. You can also determine whether the Ribbon Controller value returns to the center, or stays at the point where you released your finger in the General display (page 146) of the Common/Audio Edit.

Example use:

... so now I see it's possible to emulate some other keyboards' controls by setting rotating speaker speed (organ) to the RB. RB vs. mod wheel probably makes more sense since you can jump "straight" from slow to fast and still retain the option of setting to inbetween speeds.

The Speed Control for the Rotary Speaker is often misunderstood.

Like on the real thing there was a lever that switched between Chorale and Tremolo... slow and fast. It's a switch, like any on/off switch. One setting is Slow, the other is Fast.

The time it took for the high frequency horn to change was very small, almost immediate on a new Leslie
The time it took for the low frequency rotar to change was almost as fast, on a new Leslie.

But as time and the wear and tear of gigging took its toll, the belt system that was responsible for this transition time to happen got longer... The belts would slip and not react as rapidly, this "effect" became "cool" - early on folks would get this fixed - which usually meant replacing the belt system.

Because musicians are musicians the fact that it did this "transition time" it became "cool" probably in lieu of spending the cash to fix it. 🙂

Slow Fast transition Time is a separate, programmable parameter. So it is not like if you lifted your finger off 3/4 of the way it would be a different speed. There are only two speeds: Slow and Fast.

When the Ribbon is setup as Rotary Speaker Speed Control (using the standard curve) all values 0-63 are Slow, and all values 64-127 are Fast.
It is a simple switch for this parameter assignment. Slow or Fast.

The only difference between the Ribbon Controller doing the Speed Control for Rotary Speaker and the MW is one is a left/right gesture, and the other is down/up gesture. All other things are equal.

You can read more about the parameters of this Insert Effect here

 
Posted : 01/10/2016 11:01 pm
Jason
Posts: 8259
Illustrious Member
Topic starter
 

Thanks for the documentation references and clarification on the rotating speaker speed. At one point I had speed as the [ASSIGN 2] so good to know I wasn't missing anything with that assignment. Didn't dig much into the rotating speaker speed programming since it had several suitable controller options already. But it's good general advice to dig into the presets to pull out the "tricks" (gems of ideas for using the features provided) employed by the programmers.

Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R

 
Posted : 02/10/2016 9:27 pm
Bad Mister
Posts: 12303
 

There is some Chorusing happening when you initially recall your Performance because the nominal position of the selected controller (for the Ribbon that would be Center position) is causing the effect to be applied. We can assume, within the parameters of the Chorus Type itself, you've selected the Dry/Wet balance to determine the application of Chorusing

You are likely using a Unipolar Curve - as you know that only allows movement in one direction (and back) so, if you are hearing a little chorusing at the start position you will not be able to reduce it.

The Ribbon Controller is a physical Control that goes above and below its normal Center position

The Ribbon resets normally to Center (+0) - if your center position causes a little bit of chorus, that's your reason. If the Ratio is a positive value, then touching the extreme left side of the Ribbon equates to minimum (Dry), and the extreme right side equals maximum (Wet) LFO.

In general, when seeking to control the full range of a parameter, in this case I'm guessing it's from Dry to Wet, set the Polarity to "Bi"
Doing so will cause movement along the Ribbon from Center-Right increases, from Center-Left is Dry.

Simply change the Uni to Bi and you should be fine... Let us know.

 
Posted : 04/10/2016 5:50 pm
Jason
Posts: 8259
Illustrious Member
Topic starter
 

Quick answer:

RB resets to 64 when you load a performance no matter what it was set to when you store it. Same as most other controllers like pitch bend, sustain, etc. You do not save the value of these - they default to reasonable values.

If you use a Polarity=uni curve for the Controller Assign curve - then the ribbon will be changing the chorus when you load up the performance since 64 as an input will be in the middle of the ramp (assuming standard curve).

Using a Plarity=bi curve for the Controller Assign curve will make the ribbon NOT affect the chorus (chorus adder = 0) when loading up the performance. Make sure you're using a bi-polar curve for source=Ribbon if you want the destination not to be affected when you load the performance.

Some gory detail:

Here's my thought process of how to shed some light:

1) [CATEGORY SEARCH] pick Init Normal (AWM2) - my normal "reset everything" unless doing an FM-X. For this, doesn't matter
1a) Press [PERFORMANCE] (HOME) just for safe measure
2) Select part 1, press [EDIT]
3) Select "Mod Control" -> "Control Assign", make sure "Auto Assign" is highlighted green or ON
4) Swipe the ribbon to select it as a display filter
5) Press [+] to add a default destination
6) Set curve Polarity to Bi - I want to explore what the ribbon does using Bipolar first - since likely you're using a bipolar curve (although I should load up your demo to be sure) - this is more generic, so I'm not doing so now.
7) Change the destination to something I can perceive easier than the default - which I always use Pitch.
a) Tap on "Destination 1" - a menu comes up
b) Select "Part Param > Pitch"
c) Press [ENTER]
8) For ribbon, I want hold mode - so I'll edit that.
a) [PERFORMANCE] (HOME) to get back to an area to set the globals for this performance
b) Press [EDIT] (note, unlike before, I did not first select a part - so this will edit the performance parameters instead of PART parameters)
c) Select "General" menu, change "RB Mode" from "Reset" to "Hold".

Now I have a test voice for what the ribbon does. I'll [STORE] that as a new performance and call it "Ribbon Test"
Montage shows "Completed".

Ok - now I want to see what happens to the pitch when I go from another performance to this one - to see how the ribbon "resets".

9) [CATEGORY SEARCH] and pick a performance that's standard like a piano.
10) Play middle C - memorize pitch
11) [CATEGORY SEARCH] and pick "Ribbon Test"
12) Play middle C - is pitch different, or higher, or lower?

For me, the pitch is the same. Even if you move the ribbon to some place where the pitch is affected and [STORE] that, when you "load" the "Ribon Test" performance, Middle C still sounds like the real Middle C.

Now in order for pitch to be unaffected, the output of the curve has to be 0. Lets go back to the curve (make sure "Ribbon Test" is the current performance)

13) [PERFORMANCE] (HOME) - the usual "get to home base"
14) Select part 1, [EDIT]
15) Touchscreen menu "Mod/Control" -> "Control Assign" (it may already be up since you'll notice Montage remembers last menus you've worked with)
16) Look at the curve. Where is the curve output 0? Understand the curve output is the height of the curve. Since we saved a Polarity=Bi curve (with defaults, so it is a positive ratio) - the height of the curve on the left side is below the horizontal line (negative) ramping up to the middle where the height of the curve is equal to the horizontal line (zero), and travelling more to the right goes positive to its highest value.
So the curve output, or height, is zero (0) in the middle left-to-right position.

I said height of the curve is the output (this is what changes the destination value). Left-to-right of the curve is what the controller value is currently set to. Know that the curve left-most position is 0, right-most position is 127, and middle position (where the value for a bipolar curve is always 0) is position 64.

Now we relate the ribbon control to the curve. Since the ribbon goes right-to-left: there's an easy association. All the way to the left, the ribbon controller value will be zero (0). All the way to the right and the ribbon controller value will be 127. In the middle, the ribbon output is 64.

Since we know the ribbon is "reset" to wherever the output of the curve is 0, we know the curve position is position 64 and therefore the controller value output must be 64. Therefore, we can demonstrate that the ribbon controller is reset to the value of 64 when loading up a performance.

... we can do the same test, but [STORE] a Polarity = Uni curve for the Control Assign Curve.

17) Change curve to Polarity = Uni, and I'm also going to set the ratio to +7. The formula for the output of a uni curve is Output=(Ratio/64)*Controller_Value. So we know for the Polarity=Uni curve that the left-most position is zero (0) where pitch would not be affected and since the middle of the curve is position (or Controller_Value) 64, the middle of the curve assumes the Ratio value since the formula is Output=(Ratio/64)*(64) when the controller value is 64. The ratio of +7 is therefore 7 semi-tones which is a perfect 5th. Or at least that's the hypothesis -- later this will be proven wrong.

18) [STORE] the uni-polar test. I'm not renaming it, overwrite

19) Go back and forth between another performance and the new test - you will see the pitch is different. I noticed it wasn't a perfect 5th - it was higher.
More surgery is needed. Either the formula is wrong, or the ribbon is not really at position=64 but something higher.

Testing the ribbon position ...

20) I'll go back to the curve screen (steps 13-15)

21) This time, I'll make a user curve that will tell me exactly what the reset value is for this curve.
a) Edit user curve
b) Set curve type to an unused one so you do not modify something you're already using. Default ones look like a positive ramp
c) I'll set the CurveType to "Step"
d) I'll set all outputs to 0 at first
e) I'll go back to the range which covers 64 which is Input 4 (shows 54 as the the left-to-right value to start this range, and next input number is 72 - so this range is current set to 54 through 71) I'm going to adjust the range, so I pick 54 input and adjust the data dial until it is set to 64. I'll set the output (#4) to 7. Then I'll select the 72 input and adjust it down to 65.
What all of this did was make the curve only respond when the controller is set to exactly 64.
22) Press [EXIT] - your user curve should now be selected instead of the standard curve.
23) Now test this, run left to right on the ribbon and you'll notice somewhere in the middle the pitch changes (higher) and everywhere else the pitch is standard pitch. This is because the curve output is 0 everywhere except the middle.
24) [STORE]
25) Go back and forth between some other performance and this one - you'll notice the pitch is shifted up by default - so we proved that the ribbon controller is set to 64.
26) The pitch didn't go up to a perfect 5th because the ratio meaning in our formula is not correct. With this ribbon user curve, it makes it easy to "dial in" what the formula must be.
27) We can adjust the ratio around until when we play Middle "C" with the ribbon in the center (adjusted higher) is the same note as playing the G above middle C. We find that this spot is ratio=50. And this seems like a percentage since 50% is also /2 (divide by 2) which has some sense to it. (Ratio/100) or (50/100) for ratio=50 would represent "/2"

So the new theory is the formula is (for the unipolar curve): Output=((Ratio/100)*128)/64*Controller_Value. This at least makes the math work out. If ratio is 50 and controller value is 127, then the output would be (0.5*128)/64*127 = 127. So setting of ratio of 50 basically gives us the curve output=input.

We can't "hear" a pitch of +127 both because I believe it overflows the allowable pitch adder.

Note that in the case of pitch, internally some notes for AWM2 are already pitch shifted. The notes which are sampled - say middle "C" is sampled - then they skip a key or two - well the sounds between are shifted. The maximum shift is +24 (2 octaves). So if you set an AWM2 voice to +24 (pitch), you will hear repeated notes unless every key is sampled. This is because +24 adds to the amount of pitch shift on the key say C# (which may have an internal pitch shift of +1). Since we cannot pitch shift by +25, you will hear the repeated note between C and C# with a +24 pitch shift. D may be +2 so it will also repeat (sound like C) because +24 +2 (internal) will be larger than +24 and will cancel out the pitch shift for the stretching between samples. This was a head scratcher when I first was dealing with pitch shift, but I think I have it now.

Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R

 
Posted : 04/10/2016 5:59 pm
Jason
Posts: 8259
Illustrious Member
Topic starter
 

Note: you may not "like" that the middle is where chorus=0 is. As a control. What I would say to that is perhaps make a user curve with a "hole" in the input=64 position (and use a uni-polar curve instead of bipolar). For uni-polar, we need to deal with the middle value. Bipolar automatically deals with it since the cross-over point (0 as output) is always at position 64 for bipolar. For unipolar, generally the curves do not act this way although some can like triangle if you set it up - but none of these may do exactly what you want. Enter user curves.

Since you may want the far-left to be zero and ramp up in chorus affect, you can assign a user curve as pretty much the default, but "cut out" a notch at 64 where the value is 0 for the Input=64 segment and make the next segment input start at Input=65 (so there is only one value in the middle that is 0, and all other values are part of an increasing ramp).

From a standard default user curve (uni-polar because you want to just add to chorus and want the far-left of the ribbon to still be "no chorus", this also means setting the default value of chorus to 0 when you [STORE])

1) Keep curve type as linear
2) Take Input(4)=54 and change this to Input(4)=63 Note: I am making what's in the parenthesis (4) equal to the segment number which is the white number in the darker grey header
3) This made a less gentle slope - I want the same slope, so Output(4)=63. You'll notice this matches the pattern of all the rest.
4) Now the slope is the same as before - change Input(5) from 72 to 64 . Change Output(5) from 72 to 0. This is our "notch" to take care of the default ribbon value.
5) Change Input(6)=65, Output(6)=65

If you set the destination to pitch so you can "hear" it - and a small ratio of +11 - then sliding from far-left you will notice far left is no pitch shift. Ramping up until you reach the middle - then there is (in the middle) a place where we have no pitch shift, followed by ramping up where we left off before the notch on up to maximum pitch shift.

This is a way to deal with how the ribbon controller resets and possibly how you're trying to use the control in your performance.

Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R

 
Posted : 04/10/2016 6:13 pm
Share:

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