Stereo to Ambisonics using UHJ

Back in 1983, Michael Gerzon presented a 2, 3 or 4 channel encoding system called UHJ where the 1st two channels are stereo compatible Left and Right signals. This was, in the 4-channel incarnation, a lossless transcoding of the W, X, Y and Z channels of Ambisonics. If only the first two channels are kept, then horizontal Ambisonic surround is still able to be extracted, albeit with less isolation between the resulting channels (much like Dolby Stereo used in cinemas from 1976).

I won’t bore you with the equations and maths of the system, but Gerzon’s original paper can be found at

To cut a long story short, I’ve made a UHJ decoder plug-in based on Gerzon’s paper above, as there isn’t one currently available that works in the same way:

Screenshot of the WigWare UHJ Decoder/Transcoder JS Effect Plugin

Although UHJ encoded material works best (a discography of UHJ releases can be found at, any two-channel recording can be fed into the decoder and either a square/rectangle decoding can be produced, or the B-Format for decoding using another plug-in. Do note that the ‘shelf-filters’ recommended for UHJ are different from the ones used for ‘standard’ Ambisonic B-Format decoding.

There are other UHJ implementations available, but this plug-in has a few features not available elsewhere:

  • Allpass filter based phase shift networks. This is similar to the techniques used in the original hardware, and can sound more natural that FIR filter alternatives.
  • Correct shelf filtering based on Gerzon’s recommendations.
  • Speaker distance compensation (dial in, and compensate for, the distance the speakers are from the sweet spot.

The decoded polar patterns (coming from a 2-channel UHJ encoded source) can be seen below. UHJ does well considering it’s only coming from UHJ stereo!

Low and High Frequency Decoding Polar Patterns for a Square Speaker Array from a 2-channel UHJ source

The plugin, which is a JSFX for Reaper, can be downloaded below. To install, unzip the files into the Effects folder in the Reaper Resource Path. A guide for doing this can be found at:

Reaper JSFX UHJ Decoder/Transcoder (208 downloads)
%d bloggers like this: