WigWare

During my research, it soon became clear that although a number of people were carrying out research around the area of Ambisonic surround sound, few people were enabling others to actually use the technique!

WigWare Ambisonic Decoder Screenshot

To hopefully help remedy this situation, I’ve created a number of VST Plugins that can be used in many Digital Audio Workstations (DAWs).  Screencast tutorials can be found on the on the Teaching page of this site which shows you ways of using these plug-ins in Reaper.  I recommend setting up the project using hierarchical routing, as shown in one of the later videos, but manual routing works too (as shown in the earlier ones).

The plug-ins are available for Mac and PC, and can be downloaded below.  The plugins are free to use for personal and educational use.  If you’re using them for commercial work, please contact me, as it’s nice to know when and how my software is being used (a credit would also be nice, and donations are always welcome!)

Major Update: AmbiX versions now available!

My original plug-ins pre-dated the AmbiX standard which is now widely used, and so I’ve finally updated my plugins to support this standard.  3D panners are available, which support both distance filtering, ‘W panning’ and Near Field Compensation, a 3D reverb and a number of decoders are also available for use.  The panners and reverb are VST2 plugins, whereas the decoders are all JSFX (text files for use in Reaper).  If you need a different speaker layout, do let me know!

The folder JSFX plugins need to be put in is (Mac)
~/Library/Application Support/REAPER/Effects/WigWare/
or (PC)
%USERPROFILE%\AppData\Roaming\REAPER\Effects\WigWare\

The JSFX AmbiX Decoders download also now includes the UHJ encoder/decoders too, but I’ve kept the separate download for the UHJ plugins available as well.

Note that if you’re using a recent Mac OS, my signed VST plugins might be blocked as I haven’t paid the relevant fees to Apple for a full developer account. The following command can be run to allow ‘apps from anywhere’ in a terminal (the JS effects are not affected by this issue).

sudo spctl --master-disable

Last Update:

3rd May 2023 – fixed W channel gain of UHJ decoder (quad decode in the plugin was fine, but B-format output was off by 3dB). PQ meter GFX can be set to react to loudness, too (updated in both ambisonic decoders and UHJ downloads)
11th Jan 2023 – tweaked UHJ encoder GUI and tidied up code a bit (updated both ambisonic decoders and UHJ downloads)
10th Jan 2023 – Added B-Format to UHJ transcoder (turns Ambisonics into Stereo) to both the Ambisonic Decoders and standalone UHJ downloads.
30th August 2022 – AmbiX JS Effects updated to fix an incorrect gain issue (2nd and 3rd order horizontal only decoders)
14th March 2022 – Standalone UHJ plugin updated to fix FuMa gain bug. AmbiX decoders JS effects now include fixed UHJ decoder/transcoder.
3rd Feb 2022 – 1.03 Fixed four-letter codes to make them unique across my plugins…important for Plogue Bidule
2nd Feb 2022 – 1.02 Fixed 3rd order distance filter glitching (Mac/PC) and gfx issue (Mac)


WigWare JS Effects (Reaper, or other VST hosts using ReaPlugs) and other stuff!

Older software/versions (in case you ever need it)

Blumlein Shuffler VST2 Plugins

FuMa Mac and PC, 32 and 64-bit WigWare Plug-ins

Below are the downloads for the 32-bit only versions.  I’ve kept them on the site in case any changes I’ve made to the 64-bit versions above (and new compiles etc.) have broken anything!

1st Order WigWare Mac (These have now been updated to work on Mac OSX 10.4 and 10.5)

1st Order WigWare PC

Higher Order Ambisonics (HOA)

DirectX (Windows Media Player et al.) Plug-ins

These plug-ins, when installed (look at the readme file!), will automatically be used in directx aware media players when a .AMB file is played.  Choose the plug-in that best matches your speaker layout! (For more details on the file format, and how to create files of this type have a look hereherehere and here).  These were created quite a while ago now, so let me know if you have any problems with them!

25 Replies to “WigWare”

  1. I’m afraid I don’t have Cubase to test on. However, as far as I remember, Cubase has issues with multi-channel work (I think most use Nuendo for this, Steinberg-wise).

    cheers

    Bruce

  2. Hi Bruce thanks for the awesome plugins! Regarding the Ambifreeverb, what format does it want to receive and what does it output? I see that it outputs 4ch so is it FuMa or Ambix? Do I input mono, stereo or Amibix/FuMa audio? Thankyou!

  3. Hi. It takes in 1st order Furse-Malham B-Format and outputs the same. You can input mono or stereo and it will give you an output on all four channels, but it’s designed to take in the 4 channels of B-format.

  4. Hi. Sorry for the late reply! The 24 speaker decoder was specifically designed for our Multi-channel Lab here at Derby (although it’s now 32 speakers!). What speaker arrangement are you wanting a decoder for?

  5. Hi. You can just use the 1st order one with O3A (with a plug-in to change to AmbiX). I haven’t made a 16 channel version. The 1st order one was more of a proof of concept, type idea, but could be extended. I may try to do that this term as I’ve had quite a few requests now!

    cheers

    Bruce

  6. Hi Bruce,

    Whatā€™s the best way to decode binaural recordings to stereo?
    Can you recommend one of your plugins?
    Thanks in advance
    Mark

  7. Personally, I’d try a combination of a Blumlein shuffler (converts low freq phase differences to amplitude) and EQ to flatten out of the frequency response. I have a Blumlein shuffler VST if you’re interested……

  8. Hi Bruce,

    I am using the Reaper JSFX UHJ decoder plugin and it is working well. I had issues exporting to FuMa and discovered a potential typo in the code.

    OutType==1 ?
    (
    //FuMa
    //spl0 = BF[0]*0.070712; //W
    spl0 = BF[0]*0.70712; //W
    spl1 = BF[1]; //X
    spl2 = BF[2]; //Y
    spl3 = BF[3]; //Z
    ) : (

    Note the line spl0 = BF[0]*0.070712; //W, I believe this should be spl0 = BF[0]*0.70712; //W to give an expected 3dB reduction. I commented this out as shown above, entered the modified line and the FuMa output is as expected.

    Malcolm

  9. Hi Bruce,

    I’m currently testing the Wig_3o_Oct2 decoder. I suggest you update the max-rE gains to the following, as you can get much better rV and rE magnitudes in the HF that way:

    MaxReGain2d[0] = 1.0000;
    MaxReGain2d[1] = 0.923879532169397;
    MaxReGain2d[2] = 0.707106778539938;
    MaxReGain2d[3] = 0.382683434905575;

    Thank you for releasing these JSFX decoders!

  10. Thanks. I’ll take a look at your settings šŸ™‚ I combine the per order gains with a slight boost in the HF decoder overall to equalise the magnitudes, so it might be that it’s already taking into account, but I’ll check!

  11. I’ve just checked and you’ve found a typo in my code (they’re the 3D gains included instead of the 2D ones you correctly state. Well done, and thanks a lot, Guillermo šŸ™‚

    I’ll update my scripts šŸ™‚

    UPDATE: I’ve found where the bug resides (I get Matlab to calculate the gains and generate the JS scripts). Updates coming soon šŸ˜‰

    Thanks again!

    Bruce

  12. Hi Bruce, I hope you are well. Just circling back around to see when we might see your Blumlein Shuffler VST plug-in? Looking forward to testing this out! Thank you for what you do.

    Cheers,

    Ross

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.