Hammond B-3X Chorus/Vibrato question

So on my ongoing struggle with the above issue, I’ve been in contact with tech support at IKMedia.
This is the last response that I just received from them. A week or so ago, they requested a .gig file which I sent them:

Hello Mark,

Thanks for your patience while we got back to you.

Ok here is the results.

C-1 in the minimum
V-1 is the maximum value

We can suggest that the app be adjusted but it should not have any sound issue using the correct values.

I’ve been trying to figure this out in GP, but am not having any success.
Any suggestions?
Thx

Sorry - can someone clarify the underlying issue here?
I’m seeing

  1. the parameter is wrong
  2. host automation can’t be used (why not?)
  3. needing to send MIDI messages but having to change the value on the way?

What’s actually not working?

As far as i can say, it’s a wrong (or more an “unusual”) sequence of the diffrent vibrato types.
You could also say, they use the wrong starting point with their parameter values regarding the effects type, when compared with other devices/plugins.
Means: On most (all?) of the other organs (be it hardware or software),
the vibrato/chorus sequence is V1/C1/V2/C2/V3/C3
where the corresponding parameter values are 0/26/51/77/102/127.
(starts with V1=0, ends with C3=127)

Like @musicbysterling explained here…

… it seems that on the B-3X this parameter → value pairing looks as follows:
C1/V2/C2/V3/C3/V1 on values 0/26/51/77/102/127 (starts with C2=0, ends with V1=127)

To “rectify” this parameter pairing, the 0 and 127 had to be switched for B-3X, so that an incoming 0 would be changed to a 127 and vice versa, this would then keep the “proper” sequence V1/C1…V3/C3.

And this is what i did with my scriptlet.
Of course it could have also be done with a script, but i decided to use a scriptlet and a MIDI connection.
But i am not so sure anymore if a script wouldn’t be the better workaround.

For the use of Host Automation, you’d have to send to the plugin a parameter value of 1.0 when the widget is at value 0.0 and vice versa… i guess this would have worked too, but the musicbysterling had to name the plugin and the widget and we had to find out which parameter number the Vibrato is, and so on… even more possible sources for errors.

Hi schamass,
I finally had time to address this V/C issue again. You mentioned you created a script to alleviate this issue? If so, any chance you can share it with me?
Thx
Mark

I already did, some postings above

1 Like

Hi Schamass
, Was wondering if this Chorus/Vibrato fix would work with a DMC-122?
I tried your your B-3X special.gig and it works.great except for the Chorus/Vibrato Wheel.
I also tried inserting your script but no response from B3-X when I try the DMC rotary switch.
Vibrato Chorus DMC-122 control.pdf (1.1 MB)
DMC-122 produced Vibrato-Chorus CC numbers.pdf (1.2 MB)
Does your new gig file require the script to enable the Chorus/Vibrato wheel switch?

Could you please elaborate a bit more what exactly the problem is with the DMC-122?
What isn’t working, or how do you expect things to work?
What exactly is this controller setting about in the 2nd pdf?
You should be aware of the fact that i don’t have that device, so please try to explain things to the smallest detail… which knob to turn, how does it behave, what are these values for…?
Every information you can provide in advance is something i won’t have to ask for afterwards.
So please be very specific with your explanation.
Thank you so much.

Hi Eric, Sorry I had not explained. further.
I read thru this Hammond B-3X ChorusVibrato question on the forum and picked bits and pieces from yours and other contributors. And don’t have a Nord like the other person so If I need to start a new question via the forum I can do that.
I have a Genuinesoundware.com DMC-122 dual midi controller and I have been using it successfully with the Gig file that you created and posted on the forum for running B-3X on GP 4.7.
Most of the plug-in funtionality I need and use work well once I used the learn function to map drawbars, buttons, expression, etc, etc.
The only thing that I have never got to work is the 6 position Chorus Vibrato button. The screen shot posted was the settings page to configure the CC, midi channel and the L1 thru L6 I was trying to use to control V-3,C-3,V-1,C-1,V-2,C-2 on B-3X.
Easy said than done though since I never been able to toggle one of those settings much less 6.
The button on the DMC-122 cycles thru the list from L1 to L6 which I hoping B-3X would work similar e.g. V-3 thru C-2.
I copied Pauls recommended settings below and loaded those setting on the DMC-122 and verified midi output via the GP midi monitor an Vibrato type on B-3X is also set to CC 26
Sending CC 26
Value 0 selects C-1 (L1 on the DMC-122)
Value 26 selects V-2 (L2 on the DMC-122)
Value 51 selects C-2 (L3 on the DMC-122)
Value 77 selects V-3 (L4 n the DMC-122)
Value 102 selects C-3 (L5 on the DMC-122)
Value 127 selects V-1 (L6 on the DMC-122)
[Midi Monitor result from DMC-122 for B3-X.pdf|attachment]
(upload://a6oLwpFqTtNCwuwMcUKkYQcHvg.pdf) (1.2 MB)

I stayed up working on it and got it working. I had to change CC 26 to CC 57 due to moving one of the drawbars.
It starts on V-1 instead of C1 but I can tweak the L1 thru L6 values to get it to start on C-1.
That was the purpose of your script yes? To reverse the starting order?
I think the only other thing I would look into is setting up a midi control to change B3-X patches or is it possible to assign them to your variations on the black keys? This midi controller does not have those keys but it does have 7 buttons on top for upper and lower manual.

Thanks for all your great work Erik

I recently acquired the Hammond B-3X from IK Multimedia. In parallel to this, I put to function as a MIDI controller an old Hammond B3 clone module, which is VOCE v5. Because it has the ability to transmit midi signals while its physical controls are changed, except for the volume, which only controls the volume of internal audio, which it doesn’t matter, because I’m using the gig performer through notebook and audio interface in my performances. Then it works similarly to the DMC-122.

Ok. So I had the same problem, because the positions transmitted by vibrato / chorus control do not correspond to those implemented in the B-3X. And since I can’t change the values of VOCE V5, because they are fixed values in the hardware, I ended up implementing a very simple scriptlet in my rackspace, which I will leave below.

And in my old rackspace, where I drew just a few main controls besides the drawbars, it worked very well.

Then I decided to use Rackspace B-3X Special, created by @npudar, which offers much more features. So the scriptlet not worked. When I monitored the MIDI controls after the scriptlet, it only shows the number 90 control change, but it is quite strange, because the control change number sent by my module is 93. I have to implement the scriptlet code together with the existing code on B-3X Special Rackspace?

I will leave the correspondence between the numbers of my V5 module and the B-3X, where, even if the numbers are not exactly these, they are approximate, and were working before. The numbers on VOCE V5 are displeyed on it’s manual.

         |  V5  | B-3x |
      V1 | 18   | 127  |
      V2 | 36   | 27    |
      V3 | 58   | 78    |
      C1 | 79   | 0      |
      C2 | 100 | 52    |
      C3 | 122 | 102  |

I’m sorry for the eventual errors in writing, i’m from Brazil and my english is at basic level. And, I have basic knowledge in programming language too. If the scriptlet code can be improved in any way, I accept suggestions.

Scriptlet Code:

Initialization
// Shows an message on the bottom of Scriplet window
    SetDisplayMessage("Copyright (c) Deskew Technologies, LLC")
    
//Defines an info message to be shown when the user presses the "i" button
    SetInfoMessage("Change CC Vibrato MIDI events transmitted from VOCE V5 to B3-X")
End

var m : MidiMessage
    
On ControlChangeEvent(m : ControlChangeMessage) Matching 93

    var thisCCval: integer
    var thisCCch: integer
    var newCCval: integer
    var ccm: ControlChangeMessage
 
    thisCCval = m.GetCCValue()
    thisCCch = m.GetChannel()
    
    
    select
        
        thisCCval == 18 do
        newCCval = 127
          
        thisCCval == 36 do
        newCCval = 27
        
        thisCCval == 58 do
        newCCval = 78
                
        thisCCval == 79 do
        newCCval = 0
              
        thisCCval == 100 do
        newCCval = 52
                
        thisCCval == 122 do
        newCCval = 102
                
    End
      
    ccm = MakeControlChangeMessageEx(93, newCCval, thisCCch)
  
    SendNow (ccm)
    
End

I am very grateful for your attention.

1 Like

Errata. The B-3X Special was created by @schamass. I will appreciate for your help.

Ok, so what exactly is the issue? You’re getting a compile error?
Let me guess… you’re confusing a “scriptlet” with the “rackspace script”
These are two whole diffrent things!
The code you posted is to be used within a “Scriptlet”, not in a rackspace script!
There, it compiles without an error!
Please read the documention about Scriptlets:

The way this scriptlet has to be used is exactly described above in this thread, there are also pictures which show how and where to use it, also what you should do to make the B3X plugin listen to the right CC# (should be set to CC#93 in your case)
Please have a closer look on the postings of (and below)

1 Like

So I inserted this script into my MIDI path before B3-X and I’m still experiencing the same issue with V/C from my Nord Stage 3. What am I missing here?