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.
Date: Sat, 27 Sep 2008 13:58:36 +0200
From: fons(a)kokkinizita.net
To: linux-audio-user(a)lists.linuxaudio.org
Subject: Re: [LAU] Usage of undefinded MIDI mesages
On Sat, Sep 27, 2008 at 12:55:52PM +0200, Crypto wrote:
Because I would like to make the MIDI messages
static (i.e. they are linked
with particular buttons and faders and will not be changed) I have thought of
using an external application (keykit in this case) to work on incoming MIDI
events of the MIDI controller, filter them and trigger newly defined MIDI
events with it.
Have a look at MIDIDINGS:
<http://das.nasophon.de/mididings>
Very flexible and easy to program.
I would like to make the MIDI messages
transmitted by the controller as short
as possible. I have thought of assigning the Bx (Control Change) command to
the buttons and faders, but this would mix with/overwrite other control
change commands sent by other MIDI devices.
Not if you use a separate channel. Or a separate interface.
How about the System Common Message F4 and F5
which are not yet defined in the
MIDI standard? Could I add some extra data bytes to identify the type (button
or fader), the number and value?
Don't. It's not even defined how many bytes should follow
these codes. And they are _system_ commands.
If you can't use controllers, use sysex. The overhead is not
that much.
Ciao,
--
FA
Laboratorio di Acustica ed Elettroacustica
Parma, Italia
Wie der Mond heute Nacht aussieht !
Ist es nicht ein seltsames Bild ?
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user(a)lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's
easy!