• 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
    smile.gif

    Frederik Magle
    Administrator

    Krummhorn
    Co-Administrator

Using Progam Change MIDI messages to control GrandOrgue

ggoode.sa

New member
Hi Guys,

I just came across this while perusing an .organ file that a friend sent me to look over... one can use Program Change MIDI messages to control the stops of a GrandOrgue/MyOrgan organ.

This is how he did it - He created a hidden Reversible Piston definition for each stop and configured each Reversible Piston with the Program Change number used to activate that stop. ProgramChangeNumber=x

Has anyone else tried this method?

I hope to try it tonight & will report back what I find :cool:

GrahamG
 

Dorsetmike

Member
How do you generate the command to select the stop while playing keyboard? Do you use hardware switches/push buttons, or do you have a touch sensitive screen with a console displayed?
 

Ghekorg7 (Ret)

Rear Admiral Appassionata (Ret)
Good question Mike,

and Graham, what is this hidden reversible ?
Do you mean inside the definition file? And if yes in which position in the row?
How does this hidden piston affects the stops?

I'm having interesting fun
Panos
 

L.Palo

New member
I've not experimented with that yet, as I've not had the time for it lately. But I guess that the reversible piston is hidden in that it's not displayed on the console screen.

The advantage I could see is that one can change the state of the stop it's connected to by sending the corresponding program change message (by some stop switch or other device). Sometimes keyboards do have such shortcut buttons, and one could easily program a momentary switch to send such a message (instead of note on/off as is the normal case with stops in GO right now) when one constructs a console (if the MIDI device is programmable, that is).

Kind regards
 

Dorsetmike

Member
If you go into the Audio Settings/MIDI messages and click on Stop Changes then click on Properties, you can change the event type, (none, 9x note on/off; Bx controller; or Cx Programme change; also channel number. I prefer to use Cx Programme changes to operate the divisionals rather than individual stops; one MIDI CX command per channel and you set/cancel a number of stops and/or couplers. (Couplers operation is set to the same as Stops) Divisionals seem to be fixed on CX, programme change on the channel for the associated keys. Generals I.m still trying to figure if they can be changed, as there appears to be no way to set the channel which is fixed on Zero that is effectivley disabled.

Managed a sneaky one just now, the Corelli Sonata I'm working on has a few notes off the bottom of the pedal range so I edited them up an octave in the MIDI file and inserted a MIDI programme change before and after each edited note to change from 8' to 16' rank and 4' to 8' for the duration of the note. Seems to work. (Carry on from there and I'll have a flashing stop lights show next :grin:)

I'm currently writing up a "tutorial" of what I've managed to achieve so far with some screen shots, as it's a bit long I'll post it as a PDF or DOC attachment. Hopefuly at least some will be of use to others.
 
Last edited:

L.Palo

New member
Hi!

Yes, the divisionals are supposed to react to program changes on that channel that the keyboard (manual, or pedal..) that they are connected to have. That is, for a great with channel 1 the divisionals for great react to program changes on channel 1.

The generals are supposed to react to program changes on any channel. They are currently not possible to map in another way. Usually, if there are divisionals present, one starts with the generals on a program change number that is greater than the max number of divisionals for one division.

If there are 8 divisionals for every manual/pedal the generals should start to be numbered from the 9th or later program change to avoid confusions...

For now that's how the GO system works.

Kind regards

Lars P
 

Dorsetmike

Member
At the moment I'm having enough of a problem remembering what I have set on each divisional, let alone starting on generals! :eek:

I currently use an extended Steihr Mockers set, 10 Pedal, 18 Great and 11 Positiv stops (some added from other sets) ; 8 divisionals on Pedal and Positiv and 10 on Great having just added 2 on the Great to see how it was done.

For the length and type of works I'm using I find this sufficient, and reasonably easy to use.

The keyboard I have does not lend itself to easy programme changes - it needs 4 key strokes to accomplish one programme change and only outputs them on one channel, plus I am not a sufficiently accomplished player to manage more than a few measures single handed. My main use of it is to check out combinations of stops - holding down a key and clicking on GO stops - or occasionally as input to a notation application.
 

Dorsetmike

Member
"Tutorial"

As mentioned previously, attached is my attempt at a tutorial on parts of MIDI as applied to registration control of GO. It's in PDF format. I could probably reproduce in Word .DOC format if anybody has problems with PDFs..

I have managed to change registration for one note within a measure on any or all channels and revert to original by editing the MIDI, it can be that responsive! (I had notes below the pedal range, so changed pedal stops from 4'>8' and 8'>16', having transposed the "offending" note up an octave)

I'll be having a "play" with generals, so may add to this, it may have more relevance for normal playing.

I'll be happy to discuss any points raised, either in this thread or by PM
 

Attachments

  • Midi control of GO.pdf
    942.2 KB · Views: 103

Dorsetmike

Member
Result of experimenting with Generals;

they respond to a Cx command in any channel

They override what has prweviously been set by divisionals

setting a divisional only affects it's "own" stops any other stops set by a general remain set (obvious really I suppose)

GC seems to act in the same way all other generals act, i.e. whatever is set when Memory set is enabled; so for it to act as a clear all, it has to be Memory set with all stops deselected.

Also tried the swell pedal/volume nowt happened, tried changing channel volume up and down to no effect, I'm assuming that the only control over GO volume is by the control at top of screen, or by the PC's volume control. I do note though that in the organ definition files there is an entry for each stop for Amplitude level, does this have an effect on the relative volume of a rank with respect to other ranks? Is 100 a base or mean level about which rank volumes vary? So a rank with Amplitude level is "normal", less than 100 softer, more than 100 louder?

Query regarding couplers; I-4' couples positiv to positiv transposed up an octave, so what happens when the transposition takes it beyond the range of the keyboard and the ranks (presume a similar thing will happen with 16' down) If as I suspect you lose the octave sound, what is the point if it can only be used over a restricted range?
 

L.Palo

New member
Hi!

In my previous post I explained the relation of generals to divisionals. And yes, the very idea of "divisionals" is that they only affect the stops in that division (whereas the generals affect pretty much any stop, though this is actually configured in the odf).

General cancel "GC" is usually mapped as any other general simply because there's no hardcoded version of it (except perhaps using midi panic, but that does more than what's expected of a GC). Expect that to change in future versions of GrandOrgue!

The easiset way to map the swell pedal is to right click on it and listen to a midi event to have it respond to. The scroll wheel of the mouse button can also affect it if the mouse is over it.

Volume in GO is managed on multiple layers. System volume (output from the soundcard) will of course always have the final word (unless you have an external amplifier of course). First of all (not considering the audio file itself) comes the general amplitude level set in the [organ] section of the odf, then comes the amplitude level in each individual stop (used to match the levels of different stops against each other). In the GO gui there's also a volume meter that scales the volume to avoid distortion due to too high gain and to allow for easy adjustments from within the gui (and thus avoid editing the odf).

100% is considered normal without any amplification or reduction, but only if every layer mentioned above is set to 100. This is very unusual since the audio files would very likely start clipping (you get a distorted sound) when they are combined. With a full organ, I usually end up at around 20 in the gui +/- a little, all depending on the sampleset that's presently loaded.

About the octave couplers, they realistically mimic how they work in the real life. Some organs do have extended octaves at top and/or bottom that can only be reached through the octave couplers while some other organs don't. Then you only get octaves from a narrowed compass of the organ. That's how it's supposed to work. Good or bad organ building techniques is mainly a matter of taste and what your point of reference is. If one wants to add the additional octaves, every new note (audio file) must be created and added into the odf.

It's very good that many of the ideas here are vented! It suggest that the documentation of the software is lacking, something we need to address. There's likely to be a user manual built up on the media wiki on the GrandOrgue site at Sourceforge eventually, and every user is welcome to contribute with their experiences and share their knowledge.

Thanks for raising the discussion!

Kind regards

Lars P
 

Dorsetmike

Member
Another recent "discovery" of mine, in the .organ file, the last section after the [_organ] entry can mostly if not completely be cleared /deleted, so doing bives you a "blank sheet" for most of the settings that can be done on screen, like setting divisionals, generals etc.

Thanks for the volume control info Lars I'll have a further "play". I do use an external Technics amp and KEF speakers, (as part of the set-up I also use these with a Technics transcription deck or cassette deck to copy vinyl and tapes to the PC for transfer to CD)

As for the couplers, I note a few sample sets which have notes beyond the GO keyboard range, must experiment on those, how to get them accessible to GO, first thoughts are that there will have to be some manipulation of the .organ file in the stops section, does one extend the number of keys for that rank and in the case of suboctave change the first note number?

I also experienced some confusion with the coupler definitions, partly I suspect because the organ file defines pedal/manuals from 0 - 2 in the opposite direction to the MIDI channels I'm using (self inflicted injury?)

I'm thinking I'd best increase RAM just had a quick look at Burea, I already get Low memory messages with my extended SM in 2Gb.

Finally in this rambling post foxes_6.gif is there a "user manual" for the .organ files, like what each section does and how to edit it, including what else needs editing in other sections, example, when you add a coupler you need to edit quite a few locations apart from the couplers section, like each relevant divisional and generals among others - I'm still learning!
 
Top