NewsWorksSoftwareTextBioContact
background image

Blog

Plugin for passing OSC messages between applications

August 18, 2026

Reaper project with four approaches to decoding and Atmos re-encoding.

Oscar at play: Passing OSC messages from Reaper to Max.

Some years ago, a VST plugin called ToscA, developed by Thibaut Carpentier at IRCAM, enabled OSC messages to be passed between, for example, Reaper and Max. I used it extensively when developing the sound design for the Whale Hall at the National Historic Museum in Bergen, automating the positioning of multiple audio objects in Reaper while performing the spatialisation using a custom triangulation approach in Max. However, the ToscA plugin was no longer maintained and eventually stopped working.

Yesterday, I was pleased to discover that it has been revived. It is now called Oscar and works just as before. I wouldn’t mind if they had updated the GUI somewhat and made it scalable, but the most important thing is that it is really nice to see this feature alive again.

Testing encoding to Dolby Atmos

August 6, 2026

After testing various Ambisonics decoding approaches, the next question is which method is preferred for re-encoding into Dolby Atmos.

Should I aim for a 9.0.6 or a 7.0.4 object bed in Atmos? In a discussion on the Discord Server that Michael G Wagner runs, I was advised to use 7.1.4 with rear speakers at ±135°. On the other hand, in his very informative book, Gert Keunen describes a fully immersive top-down mixing approach that combines channel-based and object-based audio with Ambisonics, allowing the resulting mix to be adapted to different formats, including Dolby Atmos, MPEG-H, Sony 360 RA or Eclipsa Audio. In his workflow, Ambisonics is eventually decoded to 9.1.6 using the ab Advanced Decoder plugin.1

What azimuth angles (±135° or ±150°) should I use when decoding the Lrs and Rrs rear speakers? As shown in the screenshots in the previous blog posts, decoders differ in which angle is used for the rear speakers; for example, Harpex uses ±135° when decoding to horizontal-only 7.1, but seems to use ±150° when decoding with height to 7.1.4.

 

 

Reaper project with four approaches to decoding and Atmos re-encoding.

Reaper project with four approaches to decoding and Atmos re-encoding.

Using an excerpt from a field recording for Mülheim an der Ruhr, August 2013, I have systematically tested all four options: 9.0.6 with ±135°, 9.0.6 with ±135°, 7.0.4 with ±135°, and 7.0.4 with ±135°. I use Fiedler Audio’s Dolby Atmos Composer to encode into Atmos, and I have set up four object beds, one for each option. Furthermore, I have set up two monitoring buses: one in 7.1.4 passed to speakers at my studio, while the other uses APL Virtuoso to render spatial audio into binaural. Finally, a separate bus passes multichannel via Loopback to Flux Mira Studio for visual monitoring. The part of the Reaper project described here can be seen in the above screenshot.

 

 

Tracks containing multiple rendered versions of fold-downs.

Tracks containing multiple rendered versions of fold-downs.

Next, I render fold-downs for all four options to 7.0.4, 7.0, 5.0, Stereo, Stereo Direct and Binaural. This is straightforward to do within Dolby Atmos Composer. The second screenshot shows the resulting tracks. The purpose is to listen to the various fold-down formats while A-B-ing between the four options, to understand what difference they make and which might be preferable. It is also possible to listen for differences between two versions by playing both simultaneously, inverting the phase of one of them, to see to what degree they null out.

 

After several hours of listening, it is clear that rear decoding at ±135° is preferable to ±150°, providing better left-right clarity in fold-downs to 7.1, 5.1 and stereo. The difference between 9.0.6 and 7.0.4 is subtle, to the point that I’m not sure of the conclusion, but I have a vague sense that 7.0.4 is slightly more detailed and less smeared spatially between left and right when folded down. I do not expect 9.0.6 to be widely used for playback of this material, especially considering that binaural playback within the Apple ecosystem is based on an initial decode to 7.1.4.

 

It will be well worth revisiting this test with other kinds of material later on. It might make a difference both if the initial material is higher-order ambisonics and if I test with more musical and possibly synthetically spatialised material.

 

 

 


Fn1. Keunen, Gert. Stereo Was a Nice Try: Creating and Producing Immersive Music. 1st edition. SonicSphere Academy, 2026. https://gertkeunen.com/immersive.

Testing Ambisonics decoders

August 5, 2026

Over the past few weeks, I have systematically tested preferred methods for transposing1 recordings and works from Ambisonics to Dolby Atmos. The first step, and the subject of this post, is how to decode the Ambisonics sound field.

 

 

Still from the video work, showing a train passing over a bridge, above suburban roads. A microphone is positioned in front of the camera.

Still from the video.

I have used one of the scenes from Mülheim an der Ruhr, August 2013 for testing. The sound for this work was recorded with a SoundField SPS200 first-order Ambisonics microphone, and when revisiting the material, I start from an earlier encoded FuMa B-format version of the file, already synchronised to the video. It will be decoded to either 7.0.4 or 9.0.6, meaning that the four channels of the original recording are to provide eleven or fifteen channels of audio. As such, the original recording is under-specified in terms of spatial resolution for the number of channels required in the final outcome. From experience, I know that simply decoding in first order will lead to an unstable result, with phasing issues and more. But in recent years, several solutions have emerged for spatial upscaling to higher-order Ambisonics. Now was the time to test and compare a number of them.

I do not believe there is one and only one best way to do this. Different approaches will sound different, but that does not necessarily translate into “better or worse”. The differences open a creative and interpretative space, and, ultimately, the preferred approach will depend as much on artistic intent as on technological capability and affordance. An important question that emerges in the process is therefore “What are the quality criteria this time, with respect to the artistic project and the sound material I am dealing with here?”

Mülheim an der Ruhr, August 2013 is a series of audio-visual field recordings from suburban environments. I want the resulting Dolby Atmos transpositions1 to preserve a sense of place, giving the audience an impression of “being there”, immersed in sound environments from places that may initially seem bland, banal, and non-interesting, yet which ultimately reveal themselves as sonically and spatially rich, varied, and worth engaging with and caring for. This led me to define a more specific set of quality criteria that I search for when listening to the outcomes of the various approaches:

  • A sense of place
  • Continuity and fullness in the resulting sound field
  • Spatial differentiation and articulation
  • Sound field stability, avoiding phasing
  • Avoiding overly strong source separation (avoiding that the sound sources within the sound scene jump from speaker to speaker with movement, and hence point out the specific locations of each speaker rather than give the illusion of a continuous sound field)
  • Avoiding audible processing artefacts (digital, glitch, noise, spectral)
  • Continuity and naturalness in the sound when soloing individual channels (avoiding single-channel artefacts, even if the overall reproduced sound might still sound convincing)
  • Maintain spatial and sonic quality and integrity as far as possible when folding down from 9.0.6 or 7.0.4 to 7.1, 5.1, stereo and binaural
  • CPU demand, for pragmatic reasons

 

 

 

Screenshot showing the Reaper project with the FX chain for testing various decoding approaches.

Screenshot of the Reaper project with effect processing for decoding the first-order Ambisonics signal. Separate FX containers are used for each approach.

The screenshot above shows the Reaper project used for testing. All decoding approaches are configured on the same channel, each in a separate FX container, making it easy to switch between them and adjust the number of channels as needed for each decoder. Gain matching was applied to ensure consistent integrated levels regardless of which decoder was used.

 

 

 

Harpex

Harpex decoding.

Harpex decoding.

Harpex has a preset offering direct decoding of the first-order signal to 7.0.4. However, 9.0.6 is not an option. When decoding to a horizontal-only surround, one can adjust the azimuth for each speaker and vary the emulated distance between the virtual microphones, and hence the amount of decorrelation between the speaker channels. These parameters are not available within the 7.0.4 preset. It should also be noted that while the 7.0 preset locates the rear speakers at ±135°, they seem to be located at ±150° in the 7.0.4 preset.

Overall, the resulting sound field feels convincing, but some artefacts are noticeable, and when soloing individual channels, they get pronounced. When first released, Harpex was ground-breaking, but as of 2026, other and better options are available when needing to decode to larger sets of speakers.

 

 

SPARTA plugins

The SPARTA set of plugins from Aalto University offers several approaches.

 

 

SPARTA Conmpass decoding.

Sparta Compass decoding.

The compass_decoder does parametrically enhanced decoding up to 3rd order. Decoding straight from first-order Ambisonics did not sound convincing, with pronounced artefacts in individual channels. Alternatively, I upscaled to third order using ab Image Upscaler before decoding. This works better, but the sound field is perceived as unstable, with sources jumping between speakers depending on their direction of arrival, while still giving artefacts in individual channels. This decoder also seems CPU-heavy, causing playback glitches. The Diffuse to Direct and Linear to Parametric parameters can probably be fine-tuned for better results, but the conclusion is that this is not the preferred solution.

 

 

SPARTA HO-DirAC decoding.

SPARTA HO-DirAC decoding.

The hodirac_decoder uses an alternative Higher-order Directional Audio Coding method for up to third-order input and also offers parameters for Diffuse to Direct and Linear to Parametric, as well as Analysis Order per Frequency. Again, it seems preferable to first upscale to third order using ab Image Upscaler. This plugin appears to work better than compass_decoder, but there is still some FFT flutter, and also choppiness when soloing individual channels, and there is a certain gravity towards individual speakers that somewhat reduces the perceived continuity of the sound field. The latter can probably be compensated for by adjusting plugin parameters.

 

 

SPARTA ambiDEC decoding.

Sparta ambiDEC decoding.

The sparta_ambiDEC plug-in employs a dual-band decoding approach, with options among several decoders for both registers: Sampling Ambisonic Decoder (SAD), Mode-Matching Decoder (MMD), Energy-Preserving Ambisonic Decoder (EPAD), and All-Round Ambisonic Decoder (AllRad, thus also covering what can be done with the IEM AllRAD decoder). These decoding algorithms work up to 10th order, so it makes sense to first upscale. Again, this is done using the AudioBrewer plugin. Upscaling to and decoding from 7th order works “too well”, giving too clear source separation, resulting in moving sound sources jumping from one speaker to the next. In the segment of the field recording that I use for testing, there is a train passing in front from left to right. At 7th order, independent of which decoder option I use, the illusion breaks down. Initially, the train stays in the Lss speaker, then jumps to the centre, and finally jumps to Rss. Reducing from 7th to 5th order gives a much better sense of continuity in the sound field.

Regardless of which decoding option is used, sparta_ambiDEC is the decoder that, so far, produces the most convincing results. It also sounds much more convincing when soloing individual channels.

 

 

 

ab Advanced Decoder

Decoding using ab Advanced Decoder.

Decoding using ab Advanced Decoder.

The ab Advanced Decoder first performs internal upscaling to 7th order, using the same algorithm as the aforementioned ab Image Upscaler, before decoding with a beam-forming algorithm that, according to the developer, is especially optimised for a narrow spatial range with minimal side lobes.

Impressive as this plugin is, for this particular use case it ends up being “too good”. The upscaling to 7th order and subsequent beamforming work so well that the sound field starts to come apart. Rather than spatial continuity in the sound of the passing train, it jumps between speakers. There is a parameter to enable or disable the spatial upscaling, but this is a binary choice. If the plugin could be further enhanced to allow tuning the order of upscaling before decoding, so that I could go with 5th rather than 7th order, this could well be the preferred solution.

 

 

 

Upscaling and the Blue Ripple Rapture 3D decoder*

The final option tested is to first upscale to 5th order and then decode using the 7th order version of Blue Ripple’s Rapture 3D. For this part of the test, I experimented with two alternative upscalers: ab Image Upscaler and Penteo Pro+. Visually monitoring the resulting sound field, the difference between the two is quite informative.

 

Upscaling using Penteo Pro+.

Upscaling using Penteo Pro+, showing clear preference for placing the upscaled signal in the horizontal plane.

At its default settings, with AmbiX 1st order in and Ambix 7th order out, Penteo Pro+ produces a 7th-order sound field with clear emphasis of signals in the horizontal plane.

 

 

Upscaling using Penteo Pro+, with emphasis on the upper vertical.

Even when maximising verticality and vertical diffusion, the resulting sound field gravitates towards the horizontal plane.

Even if the parameter for balancing the upper part is raised, the signal remains mostly in the horizontal plane. If vertical diffusion is added, the sound field starts spreading out, but even then, there is a clear preference for the horizontal dimension.

On other occations, the horizontal emphasis of Panteo Pro+ might be a welcome feature, but for the current material, it spatially alters the recorded sound sound field, in particular with respect to how the height speakers are used.

 

 

Upscaling using ab Image Upscaler.

Upscaling using using ab Image Upscaler, showing a more even distribution over all of the sphere.

In contrast, ab Image Upscaler seems to give a more balanced and neutral upscaling, evenly maintaining the spatial distribution and spread in all directions while improving articulation and clarity.

I did not try additional upscaling options available through the Harpex algorithm or SPARTA up-scalers, as these had already been used in the previous decoding tests.

 

The solution I finally arrived at for this material is to upscale using ab Image Upscaler and then decode using Rapture 3D set to 5th-order decoding. Attempts at using 7th-order decoding yielded results similar to those of the ab Advanced Decoder, with too clear source separation resulting in a lack of continuity in the sound image. Using 5th-order decoding instead, I get results similar to what I imagine the ab Advanced Decoder could have produced, provided an added feature to set how far to upscale, rather than always upscaling to 7th order. The resulting decoding has a nice mix of spatial clarity and continuity, making it feel like a place with a continuous sound field. When soloing individual speakers, there is continuity in the sound, with little or no perceived artefacts of any kind.

 

 

 


1 Schwab, Michael. Transpositions: Aesthetico-Epistemic Operators in Artistic Research. Leuven University Press, 2018. https://www.jstor.org/content/oa_book_edited/j.ctv4s7k96

Testing new blimp for the Zylia mic

July 29, 2026

Recently, Zylia introduced a new blimp for their ambisonic microphones. Today I received one and tested it in the garden in somewhat windy conditions (fresh breeze).

When the blimp was first launched, I mentioned it for Therese Næss Diesen. She immediately commented that they also need to offer a fur to go with the blimp. The recording today indeed confirmed that a fur is needed; there is wind noise during gusts throughout the 20 min recording, even though the weather today, for the place where I live, was relatively quiet.

Testing AudioKit

October 29, 2025

AudioKit is a Swift-language audio synthesis, processing, and analysis platform for iOS, macOS (including Catalyst), and tvOS. Having had an eye on it for a long time, this morning I managed to get the AudioKit Cookbook for iOS and macOS demo app up and running and making sound.

I look forward to exploring it further.

Oblique Strategies in SwiftUI

October 12, 2025

 

Little by little, I am dipping my toes into SwiftUI programming to make apps that work across macOS, iPadOS, iOS, and tvOS. So far, I have mostly followed online tutorials and LinkedIn Learning courses, but today I made my first app from the ground up.

It is a simple remake of the Oblique Strategies by Brian Eno and Peter Schmidt. From a programming perspective, it is not too difficult, making it an appropriate initial task.

The source code is available on GitHub.

 

Hong Kong soundscapes in 3D

October 11, 2025

Traffic and construction in To Kwa Wan.
Copyright 2024 by 3D Hong Kong Topophonies.
Licensed under CC BY 4.0.

 

3D Hong Kong Topophonies is a research project that aims to capture and preserve the unique soundscapes of Hong Kong as intangible heritage using 3D sound recording and reproduction technologies. Their website offers an online archive for experiencing, reimagining and reinterpreting soundscapes of Hong Kong. The project is rooted in the fields of soundscape studies and acoustic ecology, as it contributes to raising awareness of our complex relationship with our environment and sense of place through sounds, as well as the value of sound preservation.

The archive encompasses five representative types of landscapes found in Hong Kong: new towns, old towns, villages, industrial areas, and nature. Through the online sound map, you can immerse yourself in these places through binaural audio recordings, and we aspire to foster interdisciplinary soundscape research and facilitate educational opportunities through this immersive online platform.

In this research project, an archive is not only about the preservation of documents from the past, but also a platform for generating new knowledge through various ways of making sense of it and for creating new forms of engagement to reinterpret its content. By offering recordings under the Creative Commons License, they encourage creative and interdisciplinary research, enabling users to experience and repurpose the content anytime and anywhere and anywhere, facilitating strong international dissemination of the research.

By preserving soundmarks, sounds of local cultural activities, natural and urban soundscapes, and potentially disappearing sounds, the project seeks to create an extensive intangible heritage archive for future generations. Their platform has potential for interdisciplinary exploration and artistic engagement, offering an aesthetic system for organising the archive and creating new opportunities for research and creative practice.

Cedric Maridet leads the research project at the Academy of Visual Arts, Hong Kong Baptist University. The recordings are made with ambisonic microphones from Sennheiser, Zylia, and spcmic. Binaural versions are available for download at the website. 1st- and 3rd-order ambisonic recordings are available upon request.

QLab adds Object Audio

August 26, 2025

QLab 5.5 introduces Object Audio as a new tool for sound design. With this, you can describe the speaker layout used in live performance or a sound installation, and then design audio cues with trajectories that move the sound sources within the space. It seems to be nicely designed, possibly taking a few ideas from the paper on DBAP by me, Pia Baltazar and Theo de la Hogue.

The spatialisation technique resembles DBAP, but with further refinements that substantially improves behaviour in edge cases where classic DBAP struggles, using shadows and filters. The heat map, as well as the ability to use the technique to move and crossfade between several paralell audio FXs, were both suggested in our paper.

It is nice to see such a well-made and thorough implementation of these ideas.

Application patching for Ambisonic and Dolby Atmos

August 2, 2025

I am remixing a previous work in order to spatialise in seventh rather than third order Ambisonic. For upcoming concerts. I have to be able to provide the resulting work in Ambisonic as well as Dolby Atmos theatrical format. Based on experience from our sessions at Lillehammer last winter, I will mix all scenes in seventh order Ambisonic. This can either be decoded directly, or I will use Blue Ripple to decode to a 64 channel dome, further mapped to 64 Dolby Atmos objects.

I now test out a rather complex system combining

  • Multiple parallell Reaper projects:

    • Reaper projects for scene authoring – returning 64 channel O7A signals
    • Reaper decoding project – Receiving O7A signals, decoding and forwarding either to Dolby Atmos Renderer or as a 12 channel 7.1.4 decoded signal fir direct monitoring
    • Reaper speaker setup calibration project – receiving 7.1.4 over loopback, applying Sonarworks SoundID loudspeaker calibration

  • Dolby Atmos renderer

  • Mira Flux for monitoring

  • Multiple audio drivers combined into an aggregate device:

    • Loopback 64 channel virtual audio driver – passing O7A encoded signals from Reaper scene authoring projects to a Reaper decoding project

    • Dolby Audio Bridge – passing audio signals for Dolby Atmos objects to Dolby Atmos Renderer

    • Loopback 16 channel virtual audio driver – passing 7.1.4 signals from multiple sources. This can include:

      • Rendered signals from Dolby Atmos Renderer

      • Decoded signals from Ambisonic

      • Output from Apple Music or Apple TV, for playback of content from streaming services that provides audio in Dolby Atmos

    • Driver for the physical sound card

Let’s see how and if this might work…

Dolby Atmos at Lillehammer Kino

January 29, 2025

This has been a tremendously fun and productive day spent with Therese Næss Diesen, James Welburn and Stein Tore Sønsteli at Lillehammer Kino, exploring and playing with the Dolby Atmos system in Sal 4, as part of an ongoing artistic research project at Universitetet i Innlandet. Today, we did stuff that I have been dreaming of since Dolby Atmos launched in 2012, and the day went far beyond expectations.

Sal 4 is one of a few mixing theatres for full-scale theatrical Atmos in Norway. Usually, this is done by bringing a ProTools session loaded onto a workstation on the site. We managed to connect my laptop to Dante so that I could run the system from there. We went on to do technical tests and listening tests to better understand the format. Quite a few discoveries I was not aware of beforehand, and I have not seen anything in writing on them, although they might be known among professionals working with the format on a regular basis.

One significant find was a workflow using ambisonics as an intermediate format for content development towards Atmos. Sound sources might not be localised exactly where specified in the encoded ambisonics signal, but we got really nice-sounding results.

The second part of the day was spent listening to and tuning a composition by James Welburn. If I remember correctly, it was initially mixed for Atmos by Frank of House in Copenhagen. This session illuminated important differences between authoring approaches for theatrical reproduction and home theatre.

We will continue tomorrow.

For older blog posts, please refer to the monthly archives.