background image


Persistent Disequilibrium

May 3, 2024

Persistent Disequilibrium
by Pixels.Frames.Beats.Drones

Rosendal Teater, Trondheim, as part of Meta.Morf.

Friday 3. May 19:00
Saturday 4. May 19:00
Open exhibition Saturday 12:00 – 16:00 with artist talk at 15:00

What do environmental disasters, weather systems and psychological processes have in common? They are all chaotic systems. They are all processes that, when they are set in motion – even if something can be influenced – live their own lives. They are processes that cannot be stopped, and not least they create ripple effects beyond themselves.

This is the starting point for the artists behind the work Persistent Disequilibrium when they use new materials and techniques to create new instruments, expressions and images in an interaction that visually and sonically becomes a magically beautiful and almost geological exploration.

Don’t let the title scare you; trust the experience. How can sound set off a chain of events for everyday things like salt, flour, spices, paint pigment, coal, grain, pebbles and leaves? Can a soup of magnets give us the experience of standing in a lava field? Can things – set in motion – at different stations in a theatre almost become their own living ecosystem?

The group behind Persistent Disequilibrium works with ideas about resonance, vibration, circuits, reuse, field recording, perception (how we perceive something), and exploration of available material. The performance revolves around material exploration of feedback systems.

The work can be understood both as a performance and as an exhibition, through the fact that scenographic elements that emerge in the performance create a space that is left for the audience to explore afterwards.

DBAP – initial DSP implementation

April 22, 2024


DBAP dsp working from Trond Lossius on Vimeo.

A first implementation of the audio processing is complete. Currently, it uses the original DBAP algorithm with no convex hull, so sound sources located outside of the speaker field will not sound convincing.


April 2, 2024


GUI for DBAP complete from Trond Lossius on Vimeo.

Some finishing touches for now: Introducing a pop-up menu for choosing whether to edit position of sources (input channels), destinations (output channels) or none. I’m contemplating showing and hiding the two tables in the right column based on menu choice, and possibly make them inactive (uneditable) when editing mode is set to “none”.

But for now it is more interesting to move on to implement the DSP algorithm itself. Rather than implementing DBAP as first published by me, Pia and Theo in 2007, I contemplate testing out the improved algorithm proposed by Jacob Sundstrom in 2021.

DBAP GUI almost done

March 31, 2024


DBAP GUI is almost complete from Trond Lossius on Vimeo.

The GUI for the DBAP plugin is almost complete. What remains to be done is to add a menu or button to choose whether to interact with and edit the positions of inputs or outputs. When that is done, it is time to implement the DSP process.


March 28, 2024


Juce – MVC with custom XY Pad component from Trond Lossius on Vimeo.

After two failed attempt, the third attempt succeeded.

This is a fairly simple plugin, and is mostly meant as a study (étude) into a specific programming problem when developing plugins in C++ with the Juce framework. The plugin controls gain and pan. ValueTreeState enables model-view-control separation, and as compared to an earlier study, it expands by implementing a custom component in the form of a two-dimensional control pad that controls gain as well as pan.

In figuring this out, I have drawn extensively on YouTube tutorials by Akash Murthy and Florian Mrugalla, and not least source code for the IEM ambisonic plugins. From the latter, I have in particular studied code for the SpherePanner component and the ProbeDecoder plugin.

This brings me one step further towards implementing DBAP as a VST plugin. That is itself a study towards porting Ambisonic Toolkit higher-order functionalities from SuperCollider to plugins. I hope to be able to embark on that journey later this year.

Close, but no cigar

March 28, 2024


Close, but no cigar from Trond Lossius on Vimeo.

Back to the drawing room again…

DBAP Plugin – GUI progress

March 25, 2024


I am slowly progressing on a Distance-Based Amplitude Panning (DBAP) plugin. I now have parameters set up in AudioProcessor, and in the Editor, the table components for setting the source (input) and destination (output) coordinates work. The next step is implementing the XY pad that visualises and offers interaction with source and destination positions.

Juce: ValueTreeState and MVC with child component

March 17, 2024


Juce MVC demo and study from Trond Lossius on Vimeo.

A further test/study of how to use ValueTreeState with child components in Juce, ensuring proper model-view-controller (MVC) separation. Figuring this out is a prerequisite to be able to build plugins of any degree of conplexity.

Juce: TreeValue and MVC

February 28, 2024


Juce TreeValue test from Trond Lossius on Vimeo.

A small test of using TreeValue in Juce when programming a VST3 plugin. This seems to enable MVC (model-view-controller) separation. In this example two sliders in the editor are associated with, and listens to, the same paramter. It seems to work well when changing the value using one or the other slider, as well as when the parameter value is changed by the host.

Making IEM plugins rescalable

February 25, 2024

A bonus of getting to know the source code for the IEM ambisonic plugins is that I can mod them so they can be resized in Reaper.

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