background image

Blog archive for March 2019

2D triangulation-based spatialisation approach

March 2, 2019

2D Delaunay spatialisation in Max from Trond Lossius on Vimeo.

This is a demo of some Java code I have been developing recently that offers an alternative spatialisation approach to DBAP for arbitrary 2D loudspeaker configurations. It is intended for installaiton setups with speakers distributed/scattered in ways that breaks with the common “sweet spot” assumption.

It uses Delaunay triangulation and distributes sound to the three speakers of the current triangle with constant amplitude. On the edges between triangles spatialisation folds down to standard constant intensity panning between the two speakers at the end points of the edge.

While DBAP uses all of the speakers all of the time, this approach uses only the three nearest speakers surrounding the source point.


The idea for this implementation came up in a conversation I had with Ville Pullki some years ago in Helsinki. The java code is based the cataLib by Jão Menezes. His code is again based on earlier code by Yoshihito Yagi.

2D Delaunay spatialisation in Max (finished)

March 9, 2019

2D Delaunay spatialisation in Max (finished) from Trond Lossius on Vimeo.

Here is an updated video demonstrating the 2D Delaunay triangulation approach to spatialisation for arbitrary speaker layouts.

I have continued development and now consider it done. The new addition over the last week is to track the convex hull. If source position moves outside the convex hull (the area covered by loudspeakers) only the two speakers at the nearest edge are used, and volume will roll off with increasing distance.

I’ll wrap this up as a package, so that it can be shared.