Synth Forum

Notifications
Clear all

Manually Change DRY of Part via MIDI

10 Posts
3 Users
0 Likes
2,644 Views
Posts: 0
Trusted Member
Topic starter
 

It is possible to hook up Assign Knob 1 to MIDI control 91 (reverb) and then to assign it to control the wet/dry balance of the insertion SPX reverb, but this requires using the SPX reverb and assigning it to every part, and I actually want to control the WET/DRY balance in my own specific way.

I would be able to do this if only I could adjust the DRY of my part manually. Is there any way to send a MIDI control to affect the DRY level manually, or is the only way via a sysex command?

L. Spiro

 
Posted : 31/10/2019 3:19 am
Jason
Posts: 7896
Illustrious Member
 

Is SPX (Hall, Stage, or Room) as a Variation effect how you'd do this? Because there should be a Sysex you can send to adjust the wet/dry balance and/or each PART's send.

Wet/Dry applies to only the entire mix (not on a PART by PART basis).

If you need this to be insertion effects - insertion effects do not have wet/dry.

 
Posted : 31/10/2019 9:05 pm
Posts: 0
Trusted Member
Topic starter
 

I would strongly rather not use SPX reverbs and their WET/DRY balances to do this, as the sound I am trying to get is completely impossible to get with that configuration. Aside from the specific sound I need to create not being supported by the SPX set, insertion effects are panned with the part (IE a cross-delay on a part that is panned fully left will only generate sound fully left (I wrote about why this is in a past post)), and I need to control the DRY and the WET separately and independently.

My question here is whether there is a better way to control the DRY of a part (reverb controls the WET already, independently of DRY) from MIDI than via sys-ex.
It’s sounding as if the answer is No?

L. Spiro

 
Posted : 01/11/2019 1:01 am
Jason
Posts: 7896
Illustrious Member
 

I'm not sure I understand yet what your goal is. I understand the words - just not how it fits with my understanding of Montage.

Wet = how much "depth" of reverb there is. And the "dry" part is the part without reverb at all. So, to me, changes to the "dry" part would be outside of reverb altogether. That can't be what you mean. I'm not sure I'm on the same page of what your concept of "wet" and "dry" are.

Completely "dry" to me is not having the reverb effect in the chain (bypassed). So there would be no parameters in the reverb effect that would change this sound - only all the parameters of the sound - which is "everything else". But that can't be what you're driving at. There's got to be something specific where there's a disconnect in at least my understanding of what you're after.

I do remember your past posting about panning. It took a while to get that communicated as well. I think there was some understanding, at least, what you were after at the end of the back/forth.

 
Posted : 01/11/2019 1:19 am
Jason
Posts: 7896
Illustrious Member
 

Let me throw out something else. If you have one of the SPX reverbs as an insertion effect - then you could send MIDI commands to either route individual elements through this insertion effect or to bypass it. This would be an ON/OFF deal (completely "wet" or completely "dry" with respect to reverb ) but individual for each element.

You would use this:

0x41 / ep / 0x17 -- Element Connection Switch with value 00=Thru (bypass BOTH InsA and InsB), 01=Connect to InsA, 02=Connect to InsB

Where:

a) 0x41 = the high address ("ah" ),

b) ep, as the middle address ("am" ) is decoded as upper-nibble ("e" ) is element number 0-7 to cover elements 1-8 and lower nibble ("p" ) is 0x0-0xF (0-15 decimal) which represents the part number.

Hex makes upper nibble and lower nibble easy to construct. A hex value of 0xUL - the "U" is a hex digit 0-F and is the upper nibble. In other words, the first "digit" in a hex value with two digits is always the upper nibble. And the "L" as a hex digit 0-F is the lower nibble.

"ep" as 0x17 means element number 2 (value 0=element 1, value 1=element 2, and so on) and PART number 8 (0=part 1, 1=part 2, and so on).

c) 0x17 = the low address ("al" )

Rest of the sysex command is standard fare - although can walk through that if needed. Reference https://www.yamahasynth.com/ask-a-question/how-to-send-sysex-commands-to-montage for some detail.

Say you had insertion routing like this:

InsA --> InsB --> Mixer (next step in audio chain - rest through to final out)

Then "Thru" would be

Element X "Dry" Out --> Mixer (note: skips both InsA and InsB)

"InsA" would be:

Element X "Dry" Out --> InsA --> InsB --> Mixer

"InsB" would be:

Element X "Dry" Out -> InsB --> Mixer (skips/bypasses InsA)

So if you placed an SPX Reverb on InsA - then you could bypass it by setting this parameter to "InsB" (or value=02).

The default value is 01 (InsA).

 
Posted : 01/11/2019 1:51 am
Bad Mister
Posts: 0
 

It is possible to hook up Assign Knob 1 to MIDI control 91 (reverb) and then to assign it to control the wet/dry balance of the insertion SPX reverb, but this requires using the SPX reverb and assigning it to every part, and I actually want to control the WET/DRY balance in my own specific way.

I would be able to do this if only I could adjust the DRY of my part manually. Is there any way to send a MIDI control to affect the DRY level manually, or is the only way via a sysex command?

First, the MONTAGE does not address itself via MIDI. Assigning an Assign Knob to cc91 would cause it to Output cc91 when you turned it. The Knob would control internally whatever parameter you connect it to on the Control Assign screen. If you were to record yourself moving that Knob it would only change the Reverb Send amount when cc91 is received in via MIDI during playback It would also change whatever parameter you directly assigned it to.

But without playing it back into the MONTAGE, an Assign Knob set to 91 would not adjust the reverb Send amount. And has nothing to do with the Wet/Dry balance. So forget that completely.

The Dry Level manipulated separately can be used to great effect because as you fade it out, you are left with just the signal going to Effect Sends. The “Dry Level” is not an assignable parameter... remember: if you highlight an assignable parameter the [CONTROL ASSIGN] button will glow. It does not.

What you can do is memorize the Dry Level in a Scene
From the Home screen, tap “Scene”
Any changes made on this screen are immediately memorized in the currently selected SCENE.
Activate the Scene MEMORY Switch for MIXING = ON
Under “Mixing 1” you can set the Dry Level... default is 127

I’m not sure about your application... Scene ‘snapshot’ memory instantaneously recalls the Dry Level setting, You can preset 8 different values ... one per Scene.

If you want continuous control you would need to do so with Sysex messages, as follows:

F0 43 10 7F 1C 02 31 0p 2C dd F7

Where ‘p’ is the Part number 0-F, and ‘dd’ is the value 00-7F

 
Posted : 01/11/2019 2:21 am
Posts: 0
Trusted Member
Topic starter
 

Thank you.

Jason/Bad Mister, we are entirely on the same page—I am using the terms exactly as you described, and as mentioned by Bad Mister it is useful for special effects.
I will explain this as clearly as I possibly can.
Normally you have DRY=127|WET=0, and if you use MIDI to send control 91 (defaults to reverb), you can adjust the WET part (or use knobs or whatever but my context is entirely in MIDI) such that you now have DRY=127|WET=0-127.

I want DRY=0-127|WET=0-127, and not manually assigned but through MIDI.

My application: I want to decrease the DRY as the WET for a part increases. If I have 9 MIDI tracks with 9 different reverb levels, along with the reverb command the MIDI pipeline should also send a command to adjust the DRY level according to my equations.

According to Bad Mister’s last post this is not normally possible, but if that sys-ex command works straight out of the gait then I might be in for a sleepless night!
Super thank you!

L. Spiro

 
Posted : 01/11/2019 8:52 am
Jason
Posts: 7896
Illustrious Member
 

I want to decrease the DRY as the WET for a part increases

Part of my disconnect here is that, assuming you have Dry/Wet balance as with the system effects, then that's how Dry/Wet already works. As you increase wet, the dry decreases.

There's some nuance here I'm not catching.

The other variable here could be overall volume. If your ratio set for dry/wet is not 50% then you will have less dry than wet or more wet than dry. And increasing the volume (or decreasing) may disproportionately affect one or the other since they're nominal ratios are not equal. So that's a way to perhaps also "tune" the result.

If you really need granular control AND you have the PARTs to burn - you could double your resources and have one PART where reverb is 100% wet and one PART where it's 100% dry (no reverb send) and then use your own volume or volume+pan or pan alone to create the mix you want.

 
Posted : 01/11/2019 6:02 pm
Posts: 0
Trusted Member
Topic starter
 

I am an engineer so sorry if I use too much math to explain this.
I mentioned insertion effects as an example. If you don't use insertion effects, the [DRY, WET] is just [127, 0..127].

But I will revisit insertion effects for clarification.
The reverbs there have a DRY/WET balance parameter.
This works such that DRY stays at 100% while WET is brought in up to 50% (reverb=63 or 64).
From 64 up to 127 the WET stays at 100% and the DRY then fades to 0.
So:
From REVERB = 0..63, [DRY, WET] is [127, 0..127].
Then from REVERB = 64..127, [DRY, WET] is [127..0, 127].

Examples:
0% = [127, 0]
50% = [127, 127]
100% = [0, 127]
So at 50% reverb you get full-blast wet and dry with these.

That is how the dry/wet balance on insertion effects work. The only lesson we need to carry over is the formula for DRY/WET. I had no other major reason for mentioning insertion effects.

So moving over to what I want.
I am not using insertion effects, so the [DRY, WET] balance is always [127, 0..127].
If you want to test this, pan reverb fully left. The dry sound remains steady on the right channel (and I've also measured it) as you adjust reverb levels.
This means I have per-part control over the WET of each of the 16 parts of a performance. DRY is not changed here, which makes sense because it is a separate parameter.

You necessarily need a 2nd controller to change the DRY level.

I want to change the relationship between DRY/WET as follows:

DRY = cos( (Original_WET / 127) * HALF_PI ) * 127
WET = cos( (1 - (Original_WET / 127)) * HALF_PI ) * 127

So if the original MIDI reverb value is 64, both DRY and WET would be roughly 90 (off the top of my head it should be ~0.7071 * 127).
This is extremely important.
Without explicitly sending the DRY sys-ex, the levels would be [127, 90], or [127, 127] if cc91 were instead hooked up to control the dry/wet balance of each part Insertion Effects (which I am not going to use).

This is what I mean by creating a custom relationship between the DRY and WET.
My tool modifies the MIDI file, adding a sys-ex to adjust the DRY as above and changing the cc91 value in-place.

The formula above is the typical formula for blending 2 sounds together while maintaining constant volume. It is the same formula the Yamaha MONTAGE—and virtually all synthesizers–use for panning.

Previously I was using hacks to create this relationship, recording dry and wet separately.
Now I can record in one pass again and save myself tons of time!
Works perfectly, and I was indeed up all night recording!
Thank you again Bad Mister!

My needs have already been served, but I can imagine 2 things would be helpful in general to others:
#1: More control over DRY. Should have an easier way to be controlled, especially given that you can't even assign a knob to it.
#2: My DRY/WET formula above was used by old synthesizers for changing the balance between dry and wet. It's ancient but I myself have found a use for it to be applied to my next ~2,000 recordings. Any possibility of sneaking in options like this into a future firmware update?

L. Spiro

 
Posted : 01/11/2019 9:25 pm
Jason
Posts: 7896
Illustrious Member
 

Ok - now it's better explained.

I agree that there are many many "missing" parameters that would benefit from being added to the list of valid destinations. If possible to expand the routing channels for this matrix in the future - then it'd be great to leave the choice what to control and not up to the user. Even allowing for crazy side effects - which may themselves be interesting textures.

EDIT: "in the future" - I'm thinking of the next generation of synthesizer.

 
Posted : 01/11/2019 10:09 pm
Share:

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