• Welcome to the Pipe Organ Forum! This is a part of the open community Magle International Music Forums focused on pipe organs (also known as "church organs"), organists, organ music and related topics.

    This forum is intended to be a friendly place where technically advanced organists and beginners (or even non-organists) can feel comfortable having discussions and asking questions. We learn by reading and asking questions, and it is hoped that the beginners (or non-organists) will feel free to ask even the simplest questions, and that the more advanced organists will patiently answer these questions. On the other hand, we encourage complex, technical discussions of technique, music, organ-building, etc. The opinions and observations of a diverse group of people from around the world should prove to be interesting and stimulating to all of us.

    As pipe organ discussions can sometimes become lively, it should be pointed out that this is an open forum. Statements made here are the opinion of the poster, and not necessarily that of the forum itself, its administrator, or its moderators.

    In order to post a new topic - or reply to existing ones - you may join and become a member by clicking on Register New User. It's completely free and only requires a working email address (in order to confirm your registration - it will never be given away!). We strive to make this a friendly and informative forum for anyone interested in pipe organs and organ music.

    (Note: If you wish to link to and promote your own website please read this thread first.)

    Many kind regards

    Frederik Magle


Use cases for a GO MIDI recorder/player


New member
What would a MIDI recorder/player in GO be used for?

The standard MIDI message seem not to be very suiteable for GO.
For the worst case, GO could have 20 manuals to record (this is arbitray limit which could even be raised in the future). MIDI just features 16 channels.

A ODF can include hundreds of coupler/stops/.. and there is no standard for mapping to eg. Bx/Cx Program/Control Change messages

HW seems to include custom sysex messages for stop changes.

It looks like, it would require GO to use lots of sysex messages, which would not turn it into a standard MIDI format, but something private.
Why then missuse MIDI and instead create a GO recording format?


As I am not a keyboard player, all my "playing" of GO is using MIDI files or sent from Finalé notation software by MIDI.

I use a MIDI editor to edit in the operation of stops, couplers, divisionals & generals, and changes in volume, and speed where needed, I normally save a file from Finalé as MIDI then do any editing.

Downloaded Midi files I import to Finalé as often I find notes are not always in separate channels allocated to specific manuals or pedals, so need sorting out.

I've not found any problems with Bx/Cx commands so far; I can't see any realistic need to use 20 manuals; it should be easy enough to set a mapping standard. I'll try and post examples of using the MIDI editing application I've found to be easy to use.

Midi ain't broke so why fix it or replace it with something new? GO currently uses MIDI to control and "play" it, surely defining and implementing a new format would be counter productive. Establish a set of MIDI standards to apply to GO, MIDI has done the job so far we just need to standardise and maybe refine some areas.
Last edited:


A few questions resulting from thoughts on standards:

How to define stops, do we use Cx or Bx, currently that appears to be selectable,whichever is used then the channel number should be same as for the manual; does one number stops from top down or bottom up and if stops for a manual are in more than one column which is counted first, left or right?

Should the number of divisionals be limited, if so how many as a maximum - this determines the start numbering for generals.

As well as being limited to 16 channels, Bx,Cx each is limited to 128states so 16 x 128 x2 commands there, with Note on & Note off there are 127 most of which will be for individual notes,tyhe MIDI chart I have goes from A0 to C8, MIDI numbers 21-108, thatI believe is the piano range, do we need to go beyond that for organs? Reason is that I think stops could be controlled by Note on/off commands instead of Bx/Cx. (OK that's only about 40 per channel)

There are also quite a few "Undefined" commands headings and others unlikely to be needed by GO, Pitch wheel change, Song position pointer, Song select, Channel pressure and a few others,all of these give 128 options on 16 channels, Polyphonic key press is allocated to note numbers but only presumably an on (or it may be a toggle)

To sum up, there are plenty of codes available, it's just working out how best to use them. I'll have to do a bit more reading up on MIDI codes to see which would be of most use; first one to check is "System Exclusive" that sounds a possible for starters.

The application I use to edit MIDI is Midiocre, a free download, which I find easy to use, once I figured out to use right click to get into the edit mode for an entry.

I suspect that with a bit of thought and/or tweaking of GO some of the "spare" command codes could be tailored to note on/off for more manuals - just two of the spare codes could give a further 16 manuals.
Last edited:


New member
So you are using your MIDI software similar to a real organ console: You configure all GO elements to listens for events from your MIDI sequencer and then (let the computer) play.

That is ovious a use case, which don't require any MIDI recorder/player inside of GO.


Does a recorder and/or player have to be inside GO, could it not be a "plug-in" which users can install or not depending on their reqirements.

Regardless of inside GO, plug in, or stand alone, a recorder and player would need to have certain standards defining numbering/addressing stops, divisionals, generals, couplers etc.

Which order should manuals/pedals be allocated to channels, in the ODF it would usually seem that pedals are listed first, then manuals from bottom up, however MIDI channels seem to be the reverse of that, manuals from top down,then pedals; it would make sense to me to have the same sequence for MIDI channels as is used in the ODF, thus Pedals would be channel 0 then manuals bottom up,that is probably easier to implement than changing ODFs about. I intend to work with Stops numbered bottom up (and left to right if more than one column). Divisionals and Generals left to right & bottom up if more than one row.

Assuming more than 16 manuals as suggested by e above, could GO be configured such that the additional channels be from a second MIDI controller, that would be the easiest solution. To need more than 16 channels I can see a case where you have say 4 performers each with 4 manuals and pedal all feeding into one copy of GO each performer would need 5 channels so split 2 per MIDI controller you'd have capacity for 2 more performers at that! Methinks a fairly powerful PC with a fair bit of RAM and maybe multiple sound cards to handle a GO that size. Should we stick with a 16 channel limit?

For the time being though I am quite happy with 16 channels, in fact the most I've worked with so far is 5! However I do see a need for standardising addressing of contols.

Another point is that notation software also has a limit of 16 channels so I'd be scuppered if presented with an instrument(s) needing more.
Last edited:


To get some idea of what people are using in normal use, i.e not purely for testing during development,

What is the greatest number of stops that anyone has used per channel in GO?

What is the greatest number of manuals/channels that anyone has used in GO?

What is the greatest number of divisionals, generals and couplers that anyone has used in GO?

The current options for MIDI commands for stop operation are Note off/on, (8x,9x) Controller (Bx) and Programme change (Cx) could this be extended to use Ax, Dx and/or Ex?

Bx many of the command codes are dedicated for such things as volume and speed so are probably of less use for controlling stops; Cx is ideal for setting divisionals and generals provided the total number is not above 127 on any channel would also probably be used for couplers - that would reduce the number of divisionals that could be used.

Ax, key pressure, uses MSB for key number, and LSB for pressure, if used for stop control MSB could define up to 127 stops per channel, could the LSB be used as on/off (0-63 off, 64-127 on?) MIDI uses that on some commands. This assumes that anybody would need more than 127 stops per channel.

Another option might be to use the Bank select command, that would need some tinkering within GO to establish how it could be implemented.

Ghekorg7 (Ret)

Rear Admiral Appassionata (Ret)
This could be in another level : make GO also a VSTi. I'm waiting for this for years.
This would be great for using it in a DAW and do all midi stuff inside it.

Midi Ports on the other hand give solution to go beyond 16 midi channels limit. I mean on 16 channels but many ports of 16 channels.

Independence pro 3.1 sampler has 32 midi ports (x 16 midi channels each)!!! Kontakt 5 four (x16 each) and so on.

Returning to VSTi, this would also solve the apply of reverb and other fx also using many organs/harpsichords with other instruments like a sting orchestra.
Also it could be helpfull to record faster, ie recording first as midi events, any few mistakes could be edited - easy corrected with a few clicks, then when ready we could go for a special master without bein' on performing/recording.

I'm doin' this with Reaper4, but GO is using ReaRouteAsio, or without Reaper (Cantabile Lite) using Jack on windows x64. LoopMidi also is involved so GO and DAW/Host can be connected for midi messages.
All these connections could be avoided and we would had a clearer picture if GO was also a VSTi.


New member
Panos, VSTi is definitly not on my work plan. This thread is only about a MIDI recorder/player built into GO.

Ghekorg7 (Ret)

Rear Admiral Appassionata (Ret)
Hmmm, I know

By saying about a VSTi version and DAW/Hosts I ment that a midi recorder/player in GO wouldn't match the quality and flexibility that can be achieved by using VSTi/Host
To be like this it must have LOTS of features.

Hauptwerk has one also jOrgan had and has the lead on this. both are useless to me actualy. HW has the vst version so it is so far the best way to use midi files correclty = to work so good so the music produced to be like music and not like robot music.

Also a midi recorder, a serious midi recorder must have a good midi editor too.

So, I don't see the feature of a simple midi recorder/player in GO important or that will add something we cannod do with better results today with the apps available.


Panos, VSTi is definitly not on my work plan. This thread is only about a MIDI recorder/player built into GO.

Having a "simple" player/ recorder would be nice. Nobody is going to use it to create a HQ CD; however, being able to play demo music on a new disposition or playing some filler during a church service whilst the organist can leave his place to receive communion or visit the bathroom!!!! We're not after quality here... just a useful and handy function to have to make the software complete so to speak.



New member
Add second use case: Being able to playback a MIDI file recorded in GO with the same sampleset is no problem (if some GO specific midi messages are used)
For your first use case, the open issue is, what to do about stops & Co - GO can only reliably extract the manual/pedal part of normal MIDI files.


I only work from MIDI files or notation software, I've found the easiest way is using programme change on divisionals and generals, it does mean presetting stops to them before starting a piece but does work well.

Volume and Tempo changes also work fine from MIDI so obviously GO can extract those as well. It should be easy enough to make a bank of switches generate Programme Changes for divisionals and generals.

Ghekorg7 (Ret)

Rear Admiral Appassionata (Ret)
There are people using jOrgan to control GrandOrgue, so they also use its midi recorder to record/playback midi with GO stops. This recorder is very simple and it has its own probvlems to reproduce external midi files not produced with it.
I still insist that since GO is a HQ pro app as it is now , if a midi recorder is to be implemented, has to be HQ too, ie to have a midi editor, like piano roll for example as is on many DAWs/multitrackers.
It's a long discussion nevertheless...