Connecting Rosegarden to GrandOrgue

Taken from bug #1563.

Setup

Some steps to get set up…

Found a pre-built package for this from OpenSUSE:

http://download.opensuse.org/repositories/home:/e9925248:/grandorgue/xUbuntu_18.04/

Have to install resources from the “all” directory first, then the main package in the “amd64” directory. Finally, install the “demo” package from the “all” directory. This has an “organ package”.

File > Install organ package

/usr/share/GrandOrgue/packages

Load the one in there.

And sure enough, no sound.

Looks like one has to configure the organ, which is easy, just hit the “1” button to get a preset. Clicking on the keys will produce sound. However, the way this thing does MIDI is a little different.

Looks like the next step is to figure out how to configure it to talk to rg. This line from the help makes it sound like GrandOrgue is hostile to sequencers like Rosegarden: “MIDI (sequencer) software, that just tries to connect to existing MIDI ports, is not compatible with GrandOrgue.” It does go on to explain that a virtual MIDI port (snd_seq_dummy, MIDI through port) is required. That's something new to me. I played with the one MIDI through port that I get with ALSA and wasn't able to get it working. Didn't spend a lot of time tho'.

Anyway, looks like some experimentation is required and perhaps a procedure can be developed to connect Rosegarden to GrandOrgue.

Configuration

I got it working after a bit of experimentation. This thing requires a lot of configuration to get started. Not for the faint of heart.

Don't start up JACK. GrandOrgue appears to only work with ALSA. Avoid any programs that launch JACK, like Patchage. Also configure Rosegarden so that it doesn't start JACK.

GrandOrgue and Rosegarden fight over who should talk on which ALSA MIDI port. One way to deal with that is to configure GrandOrgue and Rosegarden to talk to each other via an ALSA “Midi Through” port. To do that in GrandOrgue:

Audio/Midi > Audio/Midi Settings > MIDI Devices tab

Make sure the Midi Through port that you want to work with is checked here.

A MIDI channel and event range has to be connected to each manual (keyboard). Here's how to configure the first manual to respond to channel 1, and the second manual to respond to channel 2:

Audio/Midi > Audio/Midi Settings > Initial MIDI Configuration tab > Manuals/Manual 1 > Properties… (or double-click)

  • Event-No: (leave alone)
  • Device: Pick a Midi Through port.
  • Event: 9x Note
  • Channel: 1
  • Lowest Key: 0
  • Highest Key: 127
  • Lowest Velocity: 1
  • Highest Velocity: 127

Audio/Midi > Audio/Midi Settings > Initial MIDI Configuration tab > Manuals/Manual 2 > Properties… (or double-click)

  • Event-No: (leave alone)
  • Device: Pick a Midi Through port.
  • Event: 9x Note
  • Channel: 2
  • Lowest Key: 0
  • Highest Key: 127
  • Lowest Velocity: 1
  • Highest Velocity: 127

The Lowest Velocity must be set to “1” (and not “0”) or else NOTE-OFF events will be ignored and notes will stick.

Restart GrandOrgue for the above settings to take effect.

Select a preset general as usual and make sure the on-screen manuals respond to mouse clicks.

Rosegarden must output to the MIDI Through that GrandOrgue is configured for.

At this point, the two manuals were responding to events coming over channels 1 and 2.

I suspect that it might be possible to configure GrandOrgue to look for Rosegarden ports and avoid using a MIDI Through. GrandOrgue would need to be started after Rosegarden for this to work. It's worth investigating.

GrandOrgue is one very high maintenance synth that does not respond to MIDI out of the box.

Easier Configuration

Here's an easier configuration approach for the midi ports:

  1. start GrandOrgue and rosegarden
  2. load a midi file in rosegarden
  3. put one track on solo and start midi play
  4. in GrandOrgue left click on a manual
  5. In the popup menu select “Listen for Event”
  6. Wait for event and confirm with “OK”
  7. Repeat for other track/manual

The midi file then plays through GrandOrgue.

 
 
doc/grandorgue.txt · Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki