Dorico and Hauptwerk

I see a few threads about Hauptwerk from a long time ago but nothing recently, so I’m here to ask about the state of play now. If there are any Hauptwerk users up and running with Dorico, I’d be grateful for some advice. I have Hauptwerk on my computer and a trial licence. I am able to get Dorico to play music through Hauptwerk and some nice noises are coming out. But to go further:

  1. Am I right in thinking that I can’t use Hauptwerk with Dorico at all unless I have the Advanced Edition (the one that costs $30 per month)?

  2. I’m reading in the Hauptwerk manual about using midi controllers to change the organ registration in Hauptwerk. Can I take advantage of that within Dorico somehow, i.e. use Dorico to send the right midi messages down the line in real time into Hauptwerk? How do you make it happen? I don’t know much about MIDI.

Thanks
Neil

Neil,
As far as straight-forward syncing between programs is concerned, you are correct that only the Advanced version has the AU/VST link. That said, I think you might be able to set up a virtual midi cable with 3rd party software and point Dorico to “play” via the midi cables and HW to receive that data as a device input, so it may be possible to circumvent the AU/VST link. You would have to experiment with this, however. I’ve been trying to figure out the same scenario with GrandOrgue on my work computer with no luck, but it’s quite a bit more limited than HW (I use HW advanced at home). If you are able to get this working, I’d assign the virtual midi cable to be the secondary input on the affected manuals, so that you could also play with a physical keyboard without needing to load an alternate profile.

As for triggering stop changes, you would have to set up pistons in HW that have particular midi triggers, and then set up playing techniques in Dorico which trigger that same midi message. In theory this should work, although I’ve never tried it. I wouldn’t mess with trying to trigger individual stops, though… you can, and other users have done this with OrganTeq, but I think it is quite a bit more work. The theory is the same, but the programming is quite a bit more.

Hi

Thanks for that. I don’t have a physical keyboard so I don’t need to worry about that bit. I’ve not been able to get loopMIDI or LoopBe1 working. I can see them both in Dorico but I can’t see them in Hauptwerk, so I can’t work out how to get HW to receive that data as a device input. It’s not showing up on the list of devices anyway (alongside things like ASIO4ALL and of course the Hauptwerk VST Link).

Haven’t tried the HW pistons yet but I think that approach would suit me. All moot anyway though unless I can do it for less than $30 per month. Many months I wouldn’t even use it!

Yea… that’s why I bought a perpetual license. I loathe monthly fees for software.

Me too, but $599 is awful pricey for something I won’t use often. Might need to though if I’m to do it properly.

It is possible to control organ stops and manual changes from within Dorico, as I have detailed on this forum thread, which is for Organteq. I was thinking about making a similar map for Hauptwerk, especially if there’s interest. (I have the old version of Hauptwerk, which was free for personal use, but I don’t think it’s available anymore.)

I may update that thread with a better expression map, or create a new one that includes Hauptwerk. (I can no longer edit the original post however…)

For manual changes, you create playing/playback techniques for each manual (e.g. I, II, III; or Gt., Sw., Ch.; or G., P., R.) which are mapped to absolute channel changes.

For stop changes, the basic idea is to (for each stop) create an “add” and a “remove” playing technique, each mapped to an add-on playback technique that fires a corresponding CC event. These techniques must all be placed invisibly on the Pedal staff so that they are all on the same channel.

1 Like

Here are instructions for using Hauptwerk’s St. Anne’s Moseley organ with Dorico.

In Hauptwerk:

  1. Under General Settings > Audio Outputs, set the audio output device to Hauptwerk VST Link.
  2. Under General Settings > MIDI Ports, check Console MIDI IN for Hauptwerk VST Link.
  3. Under Organ Settings > Keyboards, set the following:
    • Great = Channel 1
    • Swell = Channel 2
    • Pedal = Channel 3
  4. Under Organ Settings > Stop/coupler/tremulant switches and pistons/buttons, set each stop from 001 to 045 (you can shift click multiple stops to set them all at once):
    • Input: Notation stop or hold-piston: CC, val=127/0
    • MIDI channel: Channel 3
    • On controller: (note the break at controller 040)
      • 001 Ped: Open Diapason 16 = controller 021
      • 002 Ped: Echo Bass 16 = controller 022
      • 003 Ped: Sub Bass 16 = controller 023
      • 039 Coupler: Sw Unison Off = controller 059
      • 040 Coupler: Sw Octave = controller 060
      • 041 Coupler: Gt + Ped Pistons = controller 071
      • 042 Coupler: Cresc to Ped = controller 072
      • 043 Coupler: Cresc to Gt = controller 073
      • 044 Coupler: Cresc to Sw = controller 074
      • 045 Tremulant: Swell Tremulant = controller 075
  5. In the same dialog, set the following for 049 Comb piston: Gen Cancel:
    • Input: Generic MIDI control changes
    • Momentary piston: Enabled
    • MIDI Channel: Channel 3
    • Controller: 003, Value: 000.

In Dorico: (Make sure the Hauptwerk VST Link is whitelisted!)

  1. Create an organ project and load the playback template.
  2. In Play mode, enable independent voice playback for the organ.
  3. Set each voice to the same Hauptwerk VST Link instance. (Delete the other VST instances.)
  4. Assign each voice to a unique channel, and make sure the pedal voice is channel 3.
  5. Make sure each channel is using the included Hauptwerk expression map. (You can add more channels if you need more voices.)

Included with the playback template are a bunch of playing techniques under the Keyboard section:

  • You can add the manual changes Gt. and Sw. to the manual staves (or voices) to change which manual that staff (or voice) should be played on from that point.
  • You must place stop changes exclusively on the pedal staff.
    • This is for a technical reason: Hauptwerk expects stop changes on a specific channel, but the manual staves may change channel if there are manual changes. However, the pedal staff should always be channel 3, as you would not write manual changes on the pedal staff.
    • In addition, the stop changes are rather verbose, so you should probably hide them and write a more succinct description as a text object above the manual staves.

Other notes:

  • Combination pistons and pedals are not implemented.
  • Notes may sound on the wrong manual or not at all when auditioning them outside of playback because Dorico plays them on their default channel, ignoring channel change playback techniques. However, all stops will be set correctly during playback.

Please let me know if you run into issues!

Hauptwerk.zip (22.4 KB)

2 Likes

Wow, this is amazingly helpful; thanks ever so much for writing that up! It might take me a while to get through it all but I’ll come back to you with a progress report soon enough :slight_smile:

1 Like

Hi

I’ve been through it and I think I must have missed a point somewhere. Does this screenshot look right to you, for the controller assignments?

The problem I’ve got at the moment is that as soon as I start playback in Dorico, all the organ stops go in, and playback is therefore silent. (Actually, not quite silent - there’s a really nice authentic knocking sound in the guts of the organ somewhere for each note!) So I’ve obviously wired something up wrongly somewhere.

That’s correct — now you need to add stop changes to the pedal staff to trigger the stops you need. You can find them under Playing Techniques > Keyboard.

Registration is reset upon playback so that you can begin playback from anywhere in the score and the registration will be consistent. If you don’t want this, you can delete or disable the Init step from the expression map.

Ah, that’s clever. Thanks again. I’ll be back with some results at some point :slight_smile:

I’m so nearly there but it’s not working yet. I’ve put some playback technique registration changes onto the pedal stave, but when I start playback, no stops get changed and no notes play. What might I have done wrong that could lead to that?

Check the midi channels…IIRC Hw defaults to ch 1 for pedal, and 2 upwards for the manuals… (The OP has ch3 on pedals… Just a hunch…)

I can see the keys moving in Hauptwerk’s window, so I don’t think it can be that. Also when I put stops on manually during playback they sound

Here’s a gif of how to do the Play mode part. Does anything look different from your configuration?

Also, make sure you’re using the playing techniques prefixed with a plus sign.

2 Likes

Ok, I’m there. If I put the registration changes in at the very start, then they don’t take, but if I put in a dummy empty bar at the beginning and have the stops at the start of bar 2 (i.e. the actual beginning) then they do take. And so I’m mightily relieved and grateful for all your help with this. I couldn’t have done that on my own!

That’s great! Although I do find it strange that the first bar doesn’t trigger stop changes…

Maybe you could fix that issue if you change the pre-roll duration?

It wasn’t the first bar particularly, just anywhere after position zero would work. So the pre-roll duration has fixed it. Thanks again.

I’m still not totally sorted, in that I have an organ piece here in which one of the voices is missing from the middle of the texture. It’s down-stem voice 1, and as far as I can tell it’s set up correctly. But I’ll plug away on my own for a bit I think before I officially ask for help again. You’ve been tremendous to this point.

Thanks
Neil

Add a hidden “Gt.” or “Sw.” playing technique to that voice and it will play on the corresponding manual.

Ok, thanks again.

Trying it on proper music now. Am I right in thinking that if I’ve got say two pedal stops down, and a little while later I add a third by using one of the +Ped playing techniques, there ought to be three stops out? What’s happening is the previous two are turned off, leaving only the third.

Should it ever happen that with a four-note chord in the same voice (and on the same stem), only two of them should play?

Also, do I have any control of the swell box?

Thanks again.