Using unconventional stereo pairs with Hauptwerk, e.g. quadraphonic organs via 5.1 surround sound systems

Author/date

Rudolf Cardinal (rudolf@pobox.com), Feb 2025. Version of 2025-02-22.

Index

Purpose

Hauptwerk is virtual pipe organ software. That is, it takes input from physical organ keyboards (manuals and pedalboards) via MIDI, and makes sounds that reproduce recorded physical pipe organs.

This short page deals with a particular way to set up Hauptwerk audio, via a consumer-type surround sound (e.g. 5.1) system. The main innovation is to “overlap” stereo pairs, creating more stereo spatial locations. The principles are extensible to any other audio system with more than two speakers, where channels are individually addressable.

Note: Using a “standard” consumer surround sound system is NOT what Hauptwerk experts recommend. The normal recommendation is to arrange all speakers in stereo pairs—often lots of pairs—plus at least one subwoofer. The typical recommendation is to use studio monitors, i.e. self-powered speakers. However, sometimes other practical reasons force a different setup, such as the use of an audiovisual (AV) receiver. If that’s the case, how can we get the best out of it?

Reminder

This process involves reconfiguring Hauptwerk audio, so there is always scope to mess things up. You might want to launch Hauptwerk in an alternative config, and edit that. For example, if you normally launch “Hauptwerk” from the Windows desktop, you could launch “Hauptwerk (alt config 1)” (or 2, or 3) instead, and edit that config. That way, your original configuration will be untouched.

Overview

I have a rectangular room with a typical 5.1 system: an AV receiver with five full-bandwidth channels connected to unpowered speakers, and one powered subwoofer for low-frequency sounds. It has approximately this speaker layout:

                                     SOUTH        

  Front_L                            Centre     [Subwoofer]            Front_R
                               +----------------+
                               | |||||||||||||| |
                               | |||||||||||||| | CONSOLE
                               +----------------+
E                                ||||||||||||||                               W
A                              +----------------+                             E
S                              |    Organist    | BENCH                       S
T                              +----------------+                             T





  Rear_L                                                                Rear_R
 
                                     NORTH
    

This isn’t to scale, but it will suffice. Note also that subwoofers are effectively un-directional/omnidirectional, because humans are poor at localizing low-frequency sounds, so I’ll omit the subwoofer from diagrams that follow.

If we use a stereo signal to a conventional AV receiver, it is likely to be able to spread that signal to all 5.1 speakers. That’s good—it’ll sound much better than just using the front L/R pair—but it will still give just a sense of left/right stereo; only one stereo channel is in use.

If we have a signal to our receiver that conveys more than stereo (e.g. using multiple channels on an audio interface, and a 7.1 multichannel input option on our receiver), it is simple in Hauptwerk to arrange speakers in standard, non-overlapping, stereo pairs. So we might get two stereo pairs, front and rear, like this, plus the subwoofer, but with the centre speaker unused:

  <-------------------------------------------------------------------------->
  Front_L                                                              Front_R
                               +----------------+
                               | |||||||||||||| |
                               | |||||||||||||| |
                               +----------------+
                                 ||||||||||||||
                               +----------------+
                               |    Organist    |
                               +----------------+





  Rear_L                                                                Rear_R
  <-------------------------------------------------------------------------->
    

However, we can also create overlapping stereo pairs. That allows us to set up a quadraphonic (quadrophonic) 4-manual organ, for example with the Great division to the South, Swell to the East, Choir to the North, and Solo to the West; plus some distribution of the Pedal division—again, plus the subwoofer. (For a real quadraphonic organ, see e.g. the Kuhn/Goll organ at the St Laurenzenkirche, St Gallen, Switzerland in a video tour by the Scott Brothers Duo, or Jonathan Scott’s performance of the Nutcracker Suite on it.) The next diagram illustrates five stereo pairs:

  <-------------------------------------------------------------------------->
  <------------------------------------><------------------------------------>
^ Front_L                            Centre                            Front_R ^
|                              +----------------+                              |
|                              | |||||||||||||| |                              |
|                              | |||||||||||||| |                              |
|                              +----------------+                              |
|                                ||||||||||||||                                |
|                              +----------------+                              |
|                              |    Organist    |                              |
|                              +----------------+                              |
|                                                                              |
|                                                                              |
|                                                                              |
|                                                                              |
|                                                                              |
v Rear_L                                                                Rear_R v
  <-------------------------------------------------------------------------->
    

We can also create multi-speaker groups and assign a single rank (set of pipes) or division (group of ranks controlled by a keyboard) to a group of individual speakers, and Hauptwerk will assign different individual pipes to different speakers, making the sound move around as you play a scale. Overall, there are quite a few possibilities; I’ll illustrate a couple.

Prerequisites

Equipment

You need Hauptwerk with a basic console, and a sound system with at least 3 speakers to make use of this method. You need hardware that can address the speakers individually, not just e.g. “expand” stereo sound to more than two speakers.

My equipment is as follows:

Setup

Principles of Hauptwerk audio routing

Some tutorials:

Some “prior art” on using Hauptwerk with 5.1 surround-sound systems:

I’ve not found the “overlapping stereo pairs” method elsewhere.

You should set up complex audio in this order:

  1. Touchscreen menu → Settings[General] Audio device … [we’ll call this AUDIO DEVICE]
  2. Touchscreen menu → SettingsAudio routing, reverb and voicing/panning settings [General settings (for all organs)] Audio mixer (for selecting device channels, reverb, audio routing) [we’ll call this AUDIO MIXER]
  3. Touchscreen menu → SettingsAudio routing, reverb and voicing/panning settings [General settings (for all organs)] Audio mixer bus groups (advanced; for multi-channel output) [we’ll call this BUS GROUPS]
  4. Touchscreen menu → SettingsAudio routing, reverb and voicing/panning settings [Organ settings (for this organ)] Rank routing to audio mixer buses/groups (advanced; for multi-channel output) [we’ll call this RANK ROUTING]
  5. Touchscreen menu → SettingsAudio routing, reverb and voicing/panning settings [Organ settings (for this organ)] Rank voicing and perspective panning [we’ll call this RANK VOICING]

The audio flow is as follows (from top to bottom):

Element How to control it Notes
RANK (of pipes)
via RANK VOICING
  • You can set volume (for rank, or for each pipe, or for each pipe for a perspective).
  • You can set stereo balance (likewise).
  • You can also set other options, inc. tremulant, wind supply, swell box, EQ, release tail.
PERSPECTIVE, a.k.a. rank output perspective
Sound: via RANK VOICING. Flow: via RANK ROUTING.
  • There are 4 perspectives per rank; by default only one is used.
  • For each rank’s perspective, can route to one BUS GROUP or one PRIMARY BUS.
  • In doing so, if there is >1 bus (i.e. if it’s a group), can allocate notes to buses via a variety of algorithms; the default is “Static: cycle within octave, octaves cycled, ranks cycled”.
  • Can treat bass/treble separately if required.
GROUP, a.k.a. mixer bus group (optional)
via BUS GROUPS
  • Maximum 1024 (within a mixer preset).
  • Route to 0, 1 or more PRIMARY buses (only; not intermediate/master buses).
  • This is where you can assign multiple speakers, so a rank can distribute notes among them.
PRIMARY BUS
via AUDIO MIXER
  • Maximum 1024 (within a mixer preset).
  • Can send to audio interface, or to master bus, or to intermediate bus.
  • Can control overall level, stereo balance, reverb.
  • Can also adjust levels for each destination intermediate/master mix bus.
INTERMEDIATE BUS, a.k.a. intermediate mix
via AUDIO MIXER
  • Maximum 8 (within a mixer preset).
  • Can send to audio interface, or to master bus.
  • Can control overall level, stereo balance, reverb.
  • Can also adjust levels for each destination master mix bus.
MASTER BUS, a.k.a. master mix.
via AUDIO MIXER
  • Maximum 8 (within a mixer preset).
  • Can send to audio interface (only).
  • Can control overall level, stereo balance, reverb.
AUDIO INTERFACE, a.k.a. audio output (device) channel. via AUDIO DEVICES
  • Label the channels of your audio interface.
  • You can address individual channels (e.g. single speakers in mono), or consecutive pairs of channels in stereo.

(Then there are 128 mixer presets, which encompass a large number of these settings each. Ignore for now.)

For editing, open these LEFT TO RIGHT (to mimic sound flow left to right across the screen):

Then, effectively, you set things up by working from right to left on your screen.

Specimen configuration for multiple stereo pairs

The key feature is that we create some single-speaker devices with unusual stereo balance, then recombine them to create new stereo pairs. Hauptwerk can use non-consecutive channels for stereo (v9 Advanced User Guide, page 37) but only by remapping them; and we want to use both conventional and unusual pairs, so we have to use a different approach.

Idiosyncrasies

My front centre speaker is too loud by default. The receiver is set to adjust it, but I’m not convinced that this adjustment applies to multichannel 7.1 input mode. Therefore I have an adjustment CentreCorrection = −14 dB, applied to this speaker in a couple of places in the configuration below. Ignore it if this doesn’t suit your needs, or adapt the method for this or any other speaker if you have one that is somewhat unbalanced.

Audio Device settings

We use simple, obvious channel names:

Output channel Name
0001 (Out 1) CH1_PHONES_L
0002 (Out 2) CH2_PHONES_R
0003 (Out 3) CH3_FRONT_L
0004 (Out 4) CH4_FRONT_R
0005 (Out 5) CH5_FRONT_CENTRE
0006 (Out 6) CH6_SUBWOOFER
0007 (Out 7) CH7_REAR_L
0008 (Out 8) CH8_REAR_R
0009 (Out 9) [unused]
0010 (Out 10) [unused]
0011 (SPDIF 1) CH11_SPDIF_L [for testing; also the main Windows output route]
0012 (SPDIF 2) CH12_SPDIF_R [for testing; also the main Windows output route]
0013–0128 [channel not available on this audio device]

Audio Mixer settings

Here we set up many of the simple devices. Individual order is not wholly important, but there is a hierarchy across primary/intermediate/master buses, so if you want a primary bus to address unusually configured devices, those devices need to be configured as intermediate or master buses.

Note that mono(phonic) outputs appear a long way down the list compared to stereo(phonic) outputs! But they are there.

Master mixes

Bus Name Destination Other settings
Master mix 1 Main_recording_headphones [OUTPUT] Stereo, CH1_PHONES_L / CH2_PHONES_R
(for testing: [OUTPUT] CH11_SPDIF_L / CH12_SPDIF_R)
Master mix 2 Front_L_R_speakers [OUTPUT] Stereo, CH3_FRONT_L / CH4_FRONT_R
Master mix 3 Front_L_speaker [OUTPUT] Mono, CH3_FRONT_L
Master mix 4 Front_R_speaker [OUTPUT] Mono, CH4_FRONT_R
Master mix 5 Front_centre_speaker [OUTPUT] Mono, CH5_FRONT_CENTRE Level adjust CentreCorrection = −14 dB; this is an arbitrary per-speaker setting just because mine is a bit loud otherwise (see above). You may prefer differently.
Master mix 6 Subwoofer [OUTPUT] Mono, CH6_SUBWOOFER
Master mix 7 Rear_L_speaker [OUTPUT] Mono, CH7_REAR_L
Master mix 8 Rear_R_speaker [OUTPUT] Mono, CH8_REAR_R

Intermediate mixes

Here we see the unusual individual speaker setups.

Bus Name Destination Other settings
Intermediate mix 1 Rear_L_speaker_as_L_channel [OUTPUT] Mono, CH7_REAR_L Stereo balance full LEFT (−100%); level adjust +6 dB.
Intermediate mix 2 Front_L_speaker_as_R_channel [OUTPUT] Mono, CH3_FRONT_L Stereo balance full RIGHT (+100%); level adjust +6 dB.
Intermediate mix 3 Front_R_speaker_as_R_channel [OUTPUT] Mono, CH4_FRONT_R Stereo balance full RIGHT (+100%); level adjust +6 dB.
Intermediate mix 4 Rear_R_speaker_as_L_channel [OUTPUT] Mono, CH8_REAR_R Stereo balance full LEFT (−100%); level adjust +6 dB.
Intermediate mix 5 Front_L_speaker_as_L_channel [OUTPUT] Mono, CH3_FRONT_L Stereo balance full LEFT (−100%); level adjust +6 dB.
Intermediate mix 6 Front_centre_speaker_as_R_channel [OUTPUT] Mono, CH5_FRONT_CENTRE Stereo balance full RIGHT (+100%); level adjust +6 dB + CentreCorrection = −8 dB.
Intermediate mix 7 Front_centre_speaker_as_L_channel [OUTPUT] Mono, CH5_FRONT_CENTRE Stereo balance full LEFT (−100%); level adjust +6 dB + CentreCorrection = −8 dB.
Intermediate mix 8 Front_R_speaker_as_R_channel [OUTPUT] Mono, CH4_FRONT_R Stereo balance full RIGHT (+100%); level adjust +6 dB.

These level adjustments are not arbitrary (except for the centre speaker adjustment C, described above), but are based on a principle. See volume explanation below.

Primary buses

Note:

Bus Name Destination Other settings Comments
Primary 1 Front_L_primary [master] Main_recording_headphones + [master] Subwoofer + [master] Front_L_speaker Level adjust +6 dB to Front_L_speaker only. Single speaker.
Primary 2 Rear_L_primary [master] Main_recording_headphones + [master] Subwoofer + [master] Rear_L_speaker Level adjust +6 dB to Rear_L_speaker only. Single speaker.
Primary 3 Front_L_R_primary [master] Main_recording_headphones + [master] Subwoofer + [master] Front_L_R_speakers STANDARD STEREO PAIR.
Primary 4 Rear_L_and_Front_L_primary [master] Main_recording_headphones + [master] Subwoofer + [intermediate] Rear_L_speaker_as_L_channel + [intermediate] Front_L_speaker_as_R_channel UNUSUAL BUT OBVIOUS STEREO PAIR.
Primary 5 Front_centre_primary [master] Main_recording_headphones + [master] Subwoofer + [master] Front_centre_speaker Level adjust +6 dB to Front_centre_speaker only. Single speaker.
Primary 6 Front_R_primary [master] Main_recording_headphones + [master] Subwoofer + [master] Front_R_speaker Level adjust +6 dB to Front_R_speaker only. Single speaker.
Primary 7 Rear_R_primary [master] Main_recording_headphones + [master] Subwoofer + [master] Rear_R_speaker Level adjust +6 dB to Rear_R_speaker only. Single speaker.
Primary 8 Rear_L_R_primary [master] Main_recording_headphones + [master] Subwoofer + [OUTPUT] Stereo CH7_REAR_L / CH8_REAR_R STANDARD STEREO PAIR.
Primary 9 Rear_R_and_Front_R_primary [master] Main_recording_headphones + [master] Subwoofer + [intermediate] Rear_R_speaker_as_L_channel + [intermediate] Front_R_speaker_as_R_channel UNUSUAL BUT OBVIOUS STEREO PAIR.
Primary 10 Front_L_and_centre_primary [master] Main_recording_headphones + [master] Subwoofer + [intermediate] Front_L_speaker_as_L_channel + [intermediate] Front_centre_speaker_as_R_channel Unusual stereo pair.
Primary 11 Front_centre_and_R_primary [master] Main_recording_headphones + [master] Subwoofer + [intermediate] Front_centre_speaker_as_L_channel + [intermediate] Front_R_speaker_as_R_channel Unusual stereo pair.
Primary 12 Front_and_Rear_pairs_primary [master] Main_recording_headphones + [master] Subwoofer + [master] Front_L_R_speakers + [OUTPUT] Stereo CH7_REAR_L / CH8_REAR_R Level adjust −6 dB to (a) Front_L_R_speakers, and (b) the direct stereo output, only. A double stereo pair; whole-room left/right.
Primary 13 Left_and_Right_pairs_primary [master] Main_recording_headphones + [master] Subwoofer + [intermediate] Rear_L_speaker_as_L_channel + [intermediate] Front_L_speaker_as_R_channel + [intermediate] Rear_R_speaker_as_L_channel + [intermediate] Front_R_speaker_as_R_channel Level adjust −6 dB to the four intermediate bus destinations, only. A double stereo pair; whole-room front/back. See above regarding the unusual orientation necessary for this one.
Primary 14 SILENCE_primary (nothing!) Silence. Routing a rank to this device is one quick way of silencing it, e.g. for blower or keyboard action noises.
Primary 15 TEST_primary (flexible, as you choose) You can only route ranks to primary buses, and bus groups. So having a “spare” primary bus is useful for dynamic experimentation with your speakers. You can route an easily localizable sound (e.g. a prominent Solo reed) here, then play with its output settings.
Primary 16
(and onwards)

See volume explanation below for a discussion of the level adjustments. The aim is that all resulting bus groups have the same effective volume as a standard single stereo pair, and just differ spatially.

Bus groups

I’ve used a different naming convention for bus groups. You should only need to set mixer/bus group settings once, but you may have lots of virtual organs to map to bus groups, so I find it helpful to have bus groups with standard names even for bus groups that route to a single destination.

Group name Destination bus(es)
South_group_1_mono_pair_Front_L_R Front_L_primary, Front_R_primary
South_group_2_stereo_Front_LR Front_L_R_primary
South_group_3_triplet_Front_L_C_R Front_L_primary, Front_centre_primary, Front_R_primary
South_group_4_stereo_x2 Front_L_and_centre_primary, Front_centre_and_R_primary
North_group_1_mono_pair_Rear_L_R Rear_L_primary, Rear_R_primary
North_group_2_stereo_Rear_LR Rear_L_R_primary
East_group_1_mono_pair_Rear_L_Front_L Rear_L_primary, Front_L_primary
East_group_2_stereo_Rear_L_Front_L Rear_L_and_Front_L_primary
West_group_1_mono_pair_Front_R_Rear_R Front_R_primary, Rear_R_primary
West_group_2_stereo_Rear_R_Front_R Rear_R_and_Front_R_primary
Quad_group_1_mono_x4_corners Front_L_primary, Front_R_primary, Rear_L_primary, Rear_R_primary
Quad_group_2_front_stereo_rear_stereo Front_L_R_primary, Rear_L_R_primary
Quad_group_3_left_stereo_right_stereo Rear_L_and_Front_L_primary, Rear_R_and_Front_R_primary
Quint_group_1_mono_x5 Front_L_primary, Rear_L_primary, Front_centre_primary, Front_R_primary, Rear_R_primary
Quint_group_2_front_stereo_centre_rear_stereo Front_L_R_primary, Front_centre_primary, Rear_L_R_primary
Quint_group_3_left_stereo_centre_right_stereo Rear_L_and_Front_L_primary, Front_centre_primary, Rear_R_and_Front_R_primary

Rank routing: an example of a quadraphonic organ

Now we’re ready to play!

This example sets up the Peterborough Cathedral virtual organ, from Audio Angelorum, in a quadraphonic style, with each manual division in a different compass direction, plus a more diffuse distribution of the Pedal division. Note the console positioning in the diagram above: in the centre, facing south. The “console noises”, such as key and stop noises, are routed to the single speaker by the console. Each division has quite a few ranks, but they are grouped alphabetically; * denotes a wildcard.

Rank(s) Destination Comments
Blower noises SILENCE_primary I prefer without them.
Choir * North_group_2_stereo_Rear_LR North = Choir
Great * South_group_2_stereo_Front_LR South = Great
Key Action Noises *
Pallet Action Noises *
Front_centre_primary Console
Pedal * Quint_group_1_mono_x5 Pedal = everywhere
Solo * West_group_2_stereo_Rear_R_Front_R West = Solo
Solo Tuba 8 West_group_1_mono_pair_Front_R_Rear_R West = Solo, but perhaps extra spatial drama here?
Stop Action Noises * Front_centre_primary Console
Swell * [includes “Swell Action Noises”—swell shutters?] East_group_2_stereo_Rear_L_Front_L East = Swell
Tremulant Noises Front_centre_primary [?] Console?

By default, perspectives other than #1 do nothing.

Setting up other virtual organs

It is then very quick to apply this system to other organs, just using RANK ROUTING.

Testing

Volume explanation

Basic psychoacoustics

Hauptwerk audio flow and volume

Hauptwerk’s basic audio concept is of a stereo channel. In the configuration outlined above, we fiddle around with this somewhat. But imagine that at any instant, a stereo signal is represented by two “level” values, a left value and a right value, and let’s suppose that these levels are each represented by numbers in the range 0–100. The numbers will then change rapidly (e.g. at 44.1 kHz) to produce sound. But at one instant, we can imagine a stereo signal such as L = 50, R = 50 (balanced), or L = 90, R = 10 (louder on the left). And then we can think about the way this signal flows through Hauptwerk, from ranks to audio devices.

Relevant volume corrections

Therefore, we use approximately these corrections:

Of course, you may want to vary these to get the best results for your setup.

The end result?

It works. The organ sound comes alive!