[LAU] Usage of undefinded MIDI mesages

Crypto crypto at online.de
Sat Sep 27 14:22:53 EDT 2008


Nick,

it is a Dr. Boehm CnT/L. These organs were sold as a kit until about 1982. 
This one was made in 1978.

I have stripped out all of the old analogue circuitry while keeping the 
drawbars, push buttons and turning knobs, and using the circuit boards of a 
MIDIbox64 project I built my own MIDI controller.

The two manuals and pedal were already converted to digital via a genuine 
Boehm MIDI controller, but the drawbars, pushbuttons etc. were not.

I have finished the hardware part of the controller, now I am busy getting the 
programming to work.

There are several things that make the whole business rather complicated:

I am planning to mimic the behaviour of the old single finger chord drum 
accompaniment and recreate the rhythm section. And I want to switch between 
GM compatible SF2 sounds and B4II organ. All of these have their own features 
that have to be made to work with the drawbars and switches. And there is an 
LED panel as well, that should display the function of the buttons and 
drawbars when operated or give other useful hints.

I have finished programming the MIDI box64 controller part although at the 
moment it does not much apart from sending a SYSTEM EXCLUSIVE message when 
pulling drawbars / pressing switches, and I want to use keykit for tracking 
these messages and converting them into MIDI messages for the applications 
that I use. I think that using an external "host" application for preparing 
all of the MIDI stuff is easier to use because it offers more memory and is 
quicker to program. There is more to come as soon as I have things working 
together as expected (more "convenience functions").

I have used the SYS EX command now with an "arbitrary" ID that I hope no other 
component (hardware, software) is recognizing apart from keykit - but only 
because I will tell keykit to recognize it...

It seems to me that NRP controller will produce too much overhead for simply 
switching a sound on and off. I know that normally a PRESET CHANGE would do 
that, but such a command cannot toggle sounds, like stops of a church organ, 
but only switch between them. 

Regards,
Crypto.


Am Saturday 27 September 2008 15:33:25 schrieb Nick Copeland:
> That sounds like a nice project. What kind of organ was it and what did you
> use as the MIDI controller?
>
> You could use SYSEX for these kind of messages however SYSEX is a bit
> painful with regards to having a recognised SYSEX ID - officially you
> should request one from the MIDI Manufacturers association which can be a
> bit of a pain in the butt if you are working on a free, open source
> application since you have to pay for this 'pleasure'. If you do choose to
> use SYSEX then you keyboard will probably only ever interoperate with your
> own interpreter since nothing else would respond to you SYSEX. That may be
> what you want however to use it as a general controller then you probably
> don't want this restriction.
>
> You may want to look into using NRP controls but that does have gory stuff
> attached to it: firstly you would have to select the Non Registered
> Parameter you want to change then give the data values you want to set it
> to. Changing from one controller to another does require extra messaging
> however once you have selected a control you are left with just data entry.
> The data entry can be 7 or 14 bit and you actually leave it up to other end
> to decide how to handle - it puts a bit more onus on your interpreter code
> to recognise when you have a 7 or 14 bit value. The actual amount of data
> you need to send may also be quite large but if the only reciever is going
> to be your interpreter then you will have flexibilty in the translations
> from NRP to whatever paramter you want to send onwards.
>
> Perhaps you actually just want to have a look at what you want these
> controls to do. Depending on how many you have and what you want to control
> then you might find the GM default MIDI mappings are all you need, giving
> you things like ADRS parameters, filter parameters, FX parameters, etc. The
> truth is that the GM spec is a bit restrictive but that depends on what you
> want to achieve. Also, if you get GM to work and the code is well written
> then you can extend it from there to drive different synths with non-GM
> mappings.
>
> Regards,
>
> NIck.



More information about the Linux-audio-user mailing list