Topic: Undetected Midi messages

What is the best way to report midi messages that the Organteq does not detect? I have been wanting to control the Organteq stops with the midi messages my organ sends when stops are activated/deactivated. However, the midi data that my organ outputs is not detected by Organteq. It is detected by other midi programs (MidiOx, jOrgan, OrganAssist, etc.)

Re: Undetected Midi messages

It's probably sysex messages that Pianoteq doesn't support receiving.

Hard work and guts!

Re: Undetected Midi messages

I don't think they are sysex messages because they have similar codes to the note on/off messages my organ produces (and that organteq detects). I will double check them tonight, though. Thanks.

Last edited by samibe (24-03-2020 16:06)

Re: Undetected Midi messages

I verified last night that the stops on my organ are note on/off messages on channel 6 and the combination piston messages are note on/off messages on channel 10. Organteq does detect them. It was just user error on my part. I haven't figured out how to turn off a stop with a midi "note off" message, though.

Re: Undetected Midi messages

samibe wrote:

I verified last night that the stops on my organ are note on/off messages on channel 6 and the combination piston messages are note on/off messages on channel 10. Organteq does detect them. It was just user error on my part. I haven't figured out how to turn off a stop with a midi "note off" message, though.

Are the note on/off messages simultaneous (one immediately after another, with one press of a stop or piston)? Or does a first press of a stop or piston cause a note-on message, and another press a note-off message? Either way, I'll bet you could use Organteq's MIDI mapping functionality, which is fairly versatile, to accomplish what you want to accomplish, whether it's pulling/pushing a stop, activating or deactivating a combination, tutti, cancel/deactivate all stops, whatever.

If you provide a description of which MIDI message(s) are sent when you physically enable a stop or piston (and the differences when you press a stop or piston (a stop might toggle on/off, and a piston might set, every time it is pressed), and which are sent when you disable ("push in" rather than "pull out") a stop, and what you would like those actions on your hardware to do (within the limits currently imposed by Organteq), perhaps a step-by-step Organteq MIDI mapping procedure can be given. The MIDI mapping functionality often allows you to choose from recent MIDI events in a right-click drop-down menu, to specify the one that matches what your hardware has sent via MIDI.

Organteq's MIDI monitor (and customizable MIDI configuration) is accessed by pressing the "MIDI Mapping" button in the main window, then the "Action Mapping" tab of the secondary window that appears.

Last edited by Stephen_Doonan (24-03-2020 20:11)
--
Linux, Pianoteq Pro, Organteq

Re: Undetected Midi messages

The combination pistons send a 'note on' message when pressed and a 'note off' message when released. I can get them to work. Although, I wish I could use my 'set' piston too.

The stops send a 'note on' message when activated (pulled out) and a 'note off' message when turned off (pushed in). I haven't figured out how to turn off a stop using a 'note off' message from the stop tab.

My 16' pedal reed sends (and receives) channel 6 note 108 on/off (velocity=127/0) midi messages. I wan't to associate that stop with the Organteq Bombarde 16' in the pedal division. I can assign a midi event (ch6 note 108) to that stop. I can then turn the Bombarde on when I turn on my pedal reed, however I can't get Organteq to turn off the Bombarde when I turn off my pedal reed. I turn my pedal reed stop off and the Organteq Bombarde stays on. Then I turn my pedal reed stop back on and the Organteq Bombard turns off and stays off when I turn my pedal reed back off. It seems like Organteq only uses the 'note on' messages to toggle the stop switch on or off. I've tried adding a separate midi mapping that uses the 'off' message but that hasn't worked.

Last edited by samibe (29-03-2020 04:19)

Re: Undetected Midi messages

samibe wrote:

The stops send a 'note on' message when activated (pulled out) and a 'note off' message when turned off (pushed in). I haven't figured out how to turn off a stop using a 'note off' message from the stop tab.

--

Hmm-- In most cases, a note-on event is accompanied by a subsequent note-off event, which is why it seems logical to implement just one of the two in a MIDI mapping functionality (Organteq and Pianoteq allow one to choose a MIDI note-on event, but not a note-off event) to set or toggle the state of a parameter (to "pull" or "push" a stop on or off, for instance, or toggle a parameter between "on" and "off").

If one were to create a MIDI map entry to use a note-on event to "pull" or activate an organ stop, and create another MIDI map entry using a note-off event to deactivate or "push" the stop, and then press the note specified in the MIDI-map entry on a keyboard (which would activate the stop), the stop would be deactivated as soon as one released the pressure on the key, because on keyboards, each key is just a "momentary switch" (like old-fashioned telegraph keys), which is ON only while pressed.

But in the case of your hardware instrument (your organ), which includes two-position switches (like standard wall-mounted light switches), like theater-organ plastic tabs to turn stops on or off, which transmit a MIDI note-on message when in one position, and a note-off message when in the other position, and probably for the sake of others as well, it would be convenient if Modartt would add the ability to specify a note-off MIDI event to trigger a MIDI-map entry, because these two-position switches produce a MIDI note-on event when they are pressed into one position, and a MIDI note-off event when they are moved back to their "off" position.

Feature Request to Modartt -- Please consider adding note-off events to the MIDI mapping choices and functionality of Organteq and Pianoteq.
--

Discussion topic:
Feature Request -- Add Note-Off events to MIDI-mapping choices
https://forum.modartt.com/viewtopic.php?id=7289
--

Last edited by Stephen_Doonan (26-03-2020 16:17)
--
Linux, Pianoteq Pro, Organteq

Re: Undetected Midi messages

--
The latest update, Organteq 1.0.5 released today (April 2, 2020), now supports MIDI note-off events for MIDI mapping.

Last edited by Stephen_Doonan (02-04-2020 15:32)
--
Linux, Pianoteq Pro, Organteq

Re: Undetected Midi messages

Awesome. I downloaded and spent some time with version 1.05 yesterday and it works great. I have all of the stops on my organ associated with corresponding stops on Organteq.

I haven't figured out a good way to coordinate combination and stop midi messages, yet. If I set the organ's combination action, the resulting inundation of midi messages after all the stops are activated/deactivated at once is too much for Organteq to detect.

So far, the best solution has been to set all of the organ's combinations to nothing so that the stops don't move with a piston press. Organteq can then detect the stops I activate/deactivate or change stops with a combination piston press. It gets a little weird when the selected stops on the organ don't match Organteq, though. I imagine that that functionality will be added in a future release.

Last edited by samibe (04-04-2020 18:48)

Re: Undetected Midi messages

samibe wrote:

I haven't figured out a good way to coordinate combination and stop midi messages, yet.

What do you mean by that? The pistons on my organ keyboard are configured to send MIDI program change messages, which are ideal for activating a combination in Organteq, since just one MIDI message (a program change message) when used to trigger an Organteq combination, can affect many different stops at the same time. What type of MIDI message do the pistons on your organ send?

samibe wrote:

It gets a little weird when the selected stops on the organ don't match Organteq, though. I imagine that that functionality will be added in a future release.

You could do that now, if the Organteq instrument has stops that correspond with the labels on the plastic tabs of your organ: you can easily match your organ's stops to Organteq's equivalent (or similar) stops by using the MIDI mapping in Organteq to respond to a MIDI note-on/note-off message for a particular MIDI-numbered note (just observe in Organteq's MIDI mapping messages-received window which note corresponds to which of your organ stops, and use it to trigger (activate) the similar Organteq stop).

Physical organ console stops are probably not labeled consistently from organ to organ, manufacturer to manufacturer, and probably send diffirent MIDI note number messages one from another, so it might be difficult for the Modartt team (or anyone) to specify particular mappings; instead, the MIDI mapping functionality can be made versatile enough so that indivudal organ owners can map their particular hardware keyboard's MIDI messages to particular Organteq actions.

Last edited by Stephen_Doonan (04-04-2020 19:22)
--
Linux, Pianoteq Pro, Organteq

Re: Undetected Midi messages

For the pistons they are note on and off messages on channel 10 (see previous posts).

I have all of the Organteq stops assigned to similar stops on my organ. Currently, if I select a series of stops on my console, they are activated on Organteq. What is weird is that if I push a combination piston, Organteq changes its active stops but obviously my organ's stops don't change to match (Organteq doesn't output midi signals back to the organ). So the mismatch refers to the fact that the active stops are not the same between my organ and organteq after using a piston.

If I set up a combination that is exactly the same between my organ's combination system and Organteq's, when I press that combination piston Organteq doesn't do anything because it got piston and stop information sent to it all at once and (as far as I can tell) doesn't know what to do with it all. Once the stops on my organ have changed I can push the piston again and the stops on organteq will change to match. I can set my organ to not move the stops with its combination action so that it only sends piston and stop information to Organteq. Pressing a piston then sends midi for the piston but doesn't move the stops (and send midi for all of the stops too). That makes it so that if I select some stops (on my organ) then press a piston (on my organ) that deactivates those stops and selects others (in Organteq), my organ still only shows the stops I selected.

Re: Undetected Midi messages

samibe wrote:

What is weird is that if I push a combination piston, Organteq changes its active stops but obviously my organ's stops don't change to match (Organteq doesn't output midi signals back to the organ). If I set up a combination that is exactly the same between my organ's combination system and Organteq's, when I press that combination piston Organteq doesn't do anything because it got piston and stop information sent to it all at once and (as far as I can tell) doesn't know what to do with it all.

If your organ stops transmit MIDI note-on and note-off information to the computer on channel 10,
and your pistons transmit MIDI information on channel 7 (for example),
then you could use Organteq's MIDI mapping to cause Organteq's (currently 10) combinations to respond only to MIDI messages that are transmitted on MIDI channel 7 (or whichever MIDI channel your organ's pistons transmit data on). This would cause one simple MIDI signal (such as note-on, on channel 7) to activate one Organteq combination, which in turn will internally change the state of all of its available stops with just that one signal and one MIDI-map entry.

Then, to set or cancel individual stops in Organteq, be sure that the MIDI-mapping is set to the (different) MIDI channel on which your plastic-tab stops send MIDI note-on / note-off data.

The purpose of different MIDI channels is to differentiate between multiple instances of the same MIDI data, and Organteq allows one to specify not only the data to respond to, but also the MIDI channel to respond to for a particular action, while ignoring MIDI data on other channels.

However, I think I understand the problem you have. You have already mapped the individual plastic-tab stops on your organ to activate or deactivate stops within Organteq, and if you press a piston on your organ, it sends not only note-on and/or note-off messages on its own MIDI channel, but activates all of the stops you have set for that combination on your organ, which in turn transmit MIDI note-on or note-off messages on a different MIDI channel to the computer, so Organteq tries to respond to all of that MIDI data.

If your organ allows you to configure its MIDI routing, perhaps you can work with it in order to work better with Organteq. If it were my organ and it allowed me to configure its MIDI settings, I would try to configure it so that when I pressed a piston on the organ, although it would move the plastic-tab stops to an on or off position according to the combination I had already set, it would NOT to transmit the MIDI data your organ stops produce, but instead transmit only the note-on and/or note-off MIDI message produced by the piston (not the stops), on the pistons' own separate MIDI channel. Then you could use Organteq's MIDI-mapping to make a particular note-on or note-off message on the MIDI channel used by your organ's pistons, to activate one of Organteq's 10 combinations, which in turn activate or deactivate one of Organteq's available combinations which record a particular on/off state of all of Organteq's stops. If the physical organ's MIDI routing could not be customized or configured, then I would use a MIDI filter on the computer (such as jOrgan, which you are already familiar with), to effectively do the same thing, forwarding only the MIDI information from your physical organ's piston to Organteq while ignoring the MIDI information produced and transmitted by the physical organ's stops.

Perhaps Modartt will consider adding more combinations, perhaps 20 available at a time in the user interface, each 20 in a separate user-selectable bank, with perhaps 4 to 6 banks of 20 combinations each, for a total of 80 - 120 combinations, all of which can be triggered within the limitations of the 128 distinct notes available for a particular MIDI channel in the MIDI specification. In the case of 4 banks of 20 combinations each, any one of the 80 could be activated by distinct MIDI note messages within the range of an 88-key keyboard (bank one mapped to notes 0-19, bank 2 mapped to notes 20-39, etc., without the user having to separately specify (by MIDI message) a particular bank number). Of course, this is all easy enough to suggest, but I'm guessing that the error-management code, for the app to catch MIDI-mapping conflicts or prevent a user from causing problems for him- or herself, could become fairly involved.

Last edited by Stephen_Doonan (05-04-2020 07:17)
--
Linux, Pianoteq Pro, Organteq

Re: Undetected Midi messages

I've been having a hard time explaining clearly because I keep getting ahead of myself. Stephen, I think you are understanding correctly.

Case 1: I can hand register the stops on my organ and (since the stop midi messages are mapped correctly) Organteq updates my stop changes correctly and works perfectly.

Case 2: I can disable the moving stops on my organ and only use the pistons to change stops on Organteq. Organteq handles this case perfectly because all of the pistons on my organ are also mapped correctly to Organteq. The caveat here is that my organ will not show what stops are selected in Organteq (obviously) but if I'm only using the pistons it's not a big deal.

Organteq can't handle (to various degrees) when I try to mix the two cases.

Case 3: Disable moving stops and hand register some stops. If I then press a piston, it results in a mismatch of the active stops between my organ and Organteq.

Case 4: Disable moving stops and press a piston. If I then start hand registering, it results in a mismatch of the active stops between my organ and Organteq.

Case 5: Enable moving stops but disable piston midi mapping. Hand registering works perfectly but using a piston to change the stops probably tries to send too many midi messages all at once. I plan on testing whether all of the stops' midi information actually gets output or if it's a jumbled mess. This is probably not an Organteq problem.

Case 6: Enable moving stops and piston mapping and make sure combinations on my organ match combinations in Organteq. Hand registering works flawlessly. Using a piston changes the stops on the organ but seems to cancel out changes in Organteq. Pressing the same piston a second time moves the Organteq stops (since the organ stops are already in position. This case kind of works but sometimes the messages get mixed up and weird things happen.

More pistons would be nice. Divisional pistons would also be nice. Divisional pistons only change the stops in a single division leaving all other stops the same. For example, a pedal piston would alter the pedal stops/couplers and leave all other stops (Rec., G.O., and Pos.) unchanged. Divisional pistons are really handy because they can be mixed and matched. My organ has 10 general pistons and 24 divisional pistons (6 for each division).

Last edited by samibe (13-04-2020 22:25)

Re: Undetected Midi messages

I looked into the midi messages my organ outputs when the stops move and my organ does not send the stop on/off messages with a piston press. It sends the piston midi message and several other extra messages (that aren't stop messages). The other messages are on the same channel as the pistons but their note value does not correspond to any other piston. I suspect they might be used by my organ's midi board to move each divisions stops. The general pistons and cancel piston produce four extra note on then note off messages. The divisional pistons produce one extra note on then note off message. I will make sure Organteq isn't trying to do anything with these extra messages.

Update: After verifying that the extra midi messages are not assigned to anything in Organteq, I can get the stops on my organ and Organteq to move together with a piston press. I do have to be extremely careful about saving the same combination to the organ and Organteq or I will end up with discrepancies. It looks like I had one of the extra midi messages associated with the cancel piston. So any piston press that moved stops would activate stops and then immediately cancel the Organteq stops. If the stops on the organ were already in position, the extra messages are not produced so the Organteq stops would activate (on a second piston press).

Last edited by samibe (20-04-2020 17:09)