Jump to content

Wishful Thinking the B4 controller


Shum

Recommended Posts

The Hammond organ has a unique sound. However, it would be a heavy investment to buy one. Selling it under unforeseen circumstances, in my opinion is not easy. The alternative is to use an emulator software B4 developed by Native Instruments. In my opinion, the emulation in both the Tone Wheel sound and effect of the rotary speaker almost resemble the real thing.

The Midibox developed by TK makes it easy to configure it as a controller for the B4. However to setup a workable system, beside the controller, many other components are needed, such as the upper and the lower keyboards and the pedalboard. These keyboards got to have a midi interface. A midi merger is also required.

To make thing simple, perhaps the Midibox can be morphed into something with the PIC driving four 8 x 8 diode matrix multiplexers. The first second and the third being the key switches for the upper, lower manuals and the pedalboards respectively. The midi channel (1 to 3) for each of the matrix multiplexer should be individual selectable to enable coupling between boards. The fourth being the matrix for toggle switches (with midi learn capability) for the various B4 controller functions.

Six 8 to 1 multiplex analogue channels (with midi learn capability) are needed. Three for the upper, lower keyboard and pedalboard drawbars. The rest are for other controller functions of the B4.

If the "ONE" PIC full B4 controller is doable, I hope one day my wish will come true.

Link to comment
Share on other sites

Hi Shum,

i working exactly on such a project. :D

I bought an old CRUMAR Heaven organ which has a 5 octave and a 4 octave keyboard, 26 drawbars and a lot of buttons.

I took the original PCB's out and developed my own electronics to midify the keyboards including velocity and aftertouch.

I know that velocity and aftertouch is not needed for an organ but so i can use the keyboard also for other applications.

To modify the raw midi data i receive from my electronic i use a PIC with MIOS. I wrote a piece of software to control

the midi channel,octave shift, transpose and velocity key curve.

crumar1.jpg

The drawbars and the buttons i midified with MIDIBOX64. The project is nearly finished now. There is only some mechanical

work to do and some improvements in my software.

crumar2.jpg

crumar3.jpg

If you are interested i can come up with some more details.

Have a nice day

Beethoven

Link to comment
Share on other sites

Hi Beethoven,

Thank you for responding. May I understand it correctly; you have two keyboards (upper and lower) and without the pedalboard. Am I correct to assume that your CRUMAR organ alreay has midi output ports built into the original electronics, and that you are modifying the electronics to give you the velocity and aftertouch functions? If this was not the case, then you would have to have some kind of keyboard encoder to provide  keying for the upper and the lower keyboards. You are using the MIDIBOX64 for the drawbars and perhaps other functions. May I know all in all how many Core modules are you using to achieve your goal.

I am new to pic and have no idea how programming is being done. As I mentioned in my posting it would be nice to have only one Core Module together with multiplexing electronics to provide the keying functions for the upper, lower keyboard, the pedalboard and switches for other functions such as rotary speaker on-off etc. Additional analogue multiplexing electronics for the drawbars, volume, rotary speaker slow-fast, etc. 

I am searching for a simple way to implement full control over the B4 and am very interest in your project. Thank you and with best regards.

Shum

Link to comment
Share on other sites

There is an 8x8 matrix by Thorsten, and i think a 16x16 (equals 4 8x8) and a 32x32 by QBAS. I'm looking at the last one for midification for a virtual organ setup. And maybe even get to the point to have it as easy as MIDIO128 using an ini file. Then the analog input can still be used for the drawers i guess.

Link to comment
Share on other sites

Hi Shum,

no you got me wrong. I took out all of the original CRUMAR electonic which did not have MIDI anyway.

I built my own electronic to scan the keys. It is able to scan up to 128 keys and can send data on 2

different MIDI channels. Because this data is very rudimental i use a PIC with MIOS and my own application

to modify them. S

So the chain is:  my electronic -> PIC MIOS with my application merged with PIC MIOS and MB64 -> Midi out

Channel 1 Upper manual ; Channel 2  Lower manual ; Channel 1 drawbars and buttons

There would be space in my electronic to use a pedal on Channel 3 but the CRUMAR does not have one.

So in the moment i need 2 Core Modules.

There is an idea to implement my piece of software in the MB64 soft which would mean that i only need 1 Core.

I need more time for that. Maybe in future.

Beethoven

Link to comment
Share on other sites

Hi Beethoven,

Sorry for making the wrong assumptions.

So in your setup you need two Core modules and your own key scanners and to merged them to provide the midi out.

I have a similar configuration in that I used two midi keyboards and merged them with MIDIBOX64 to provide a midi out to run the B4. I used the analog inputs for the drawbars and the potentiometers other controls. The switches are for toggle functions. In fact I have tranplanted the two midi keyboards' electronics into my Yamaha E75 organ (which has no midi out) and together with the MIDIBOX64 to play the B4. The original  E75 pedals are used for the bass. I find this setup a bit complicated and involved a large chip count.

I am attaching a crude block diagram of a full B4 controller for you comments. If a software can be developed for this configuration, it would give a low chip count (ie one board does every thing) and easy to implement.

Shum

PS Rednas - Thanks for the information, could you also comment on my proposed block diagram for the B4. Thanks

B4 controller II_thumb.JPG

B4 controller II.JPG

Link to comment
Share on other sites

I don't know about the analog part, but for the digital part, I suggest an 8x8 matrix for each part. For your setup you need 1 DOUT (8 outputs) and 4 DIN (32 input). So instead of the 8 to 3 selector, you connect those 8 lines to a different DIN.

Link to comment
Share on other sites

Hi Rendas,

Thanks for your comments. I have changed my original configuration based on your suggestions. I have also included the analog inputs in the new setup. I have no idea how to do the .ini file regarding the key assignments at all. Anyway could you comment on my new setup, please. Thanks

Shum

MIDIO128_thumb.JPG

MIDIO128.JPG

Link to comment
Share on other sites

My setup isn't ready yet, so I haven't looked into the code, but should do so within two weeks. Take a look here:

http://www.ucapps.de/mbhp/mbhp_scan_matrix1.pdf

It looks like you can leave (or better must leave) the 220 Ohm resistors of the DOUT out. Wish I looked at that before, since mine are already in.

The replacement of the diodes can be in two ways, and you can set SM_SWAP_CR accordingly. As you made it now, that value should be changed to 1. For your setup it is 4 times this one, with 4 different DIN's. I should check what influence not having the other 3 DOUTs or alternatively, not using them will have on the messages send. It should have no influence, but i'm not sure how it's works in total.

Link to comment
Share on other sites

I think I found the activation code for the notes. It's the function SM_NotifyToggle at the bottom of sm_fast.inc and currently is only capable of sending sysex codes to check the row, number send. This needs editing for our applications.

Link to comment
Share on other sites

Hi Rednas,

For the keyboard scanning matrix the 220 ohm resistors indeed can be left out. Since you already have these soldered on your board, I think there is no harm leaving them there. Thanks for the advice on the replacement of the diodes. The unused pins of the 3 Douts can be tied to ground, at any rate I would use only one chip for the Dout, all the eight pins would be used. I am not familar with the firmware of MIDIO128, and do not know where to start in preparing for the 128.int file or to modify the codes. Based on the MIDIO128 configuration, it provides for digital in/out and analog input as well. Both of these facilities have the midi learn capability. In the proposed B4 controller, the keyboard keying functions are via the scanning matrix as mentioned above. I guess, the drawbars and other potentiometer functions could be configured by the MIDIO128's midi learning capability. I have no problem with the hardware, however, I am being bog down by the software.

Link to comment
Share on other sites

Hi Mgabri,

I am not in a position to comment on the latency of the setup as I am new to the MIDIBOX software, however with the pic running at 20Mhz, I think it should not be a problem. Perhaps Thorsten may wish to comment on this. Thanks

Shum

Link to comment
Share on other sites

The missing code is the one that connects pin 487 to the right midi message. The most versatile way would be in the same way as MIDIO128, which uses an ini file with the right code, which can be uploaded to the PIC. If this can be made, we have the option to use up to 1024 buttons. Ideal for midification of organs.

Link to comment
Share on other sites

  • 1 month later...

Hi All,

After much thought and for flexibility, I have decided to use the midibox64 and configure it as a controller the B4 organ simulator. Not all the control functions on the B4 are implemented. My midibox64 consists of a Core with AIN x 3 module, DIN x 4 and  DOUT x 4 modules. The AIN module caters for 24 pots, 17 are allocated for the drawbars (9 for the upper manual and 8 for the lower manual) and the rest are assigned to control of other variable functions. The DIN and the DOUT modules are used as toggle switches for voice preset selection, rotary speaker on/off, fast/slow selection and so on.

Two midi keyboards are used as the upper and lower manuals which when integrated with the midibox64, in my opinion,  makes a  good playable organ system. I did not use the pedal board of the B4 as it does not have the sustain function. Instead I am using an external pedal board with a sound module to provide for the bass. The project has finally been completed and the system works well. Here are some pictures showing one of the midi keyboard, the electronics of the controller, the finished controller and the completed system.

Shum

keyboard1_thumb.JPG

midibox3_thumb.JPG

midibox121_thumb.JPG

midibox7_thumb.JPG

keyboard1.JPG

midibox3.JPG

midibox121.JPG

midibox7.JPG

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...