Demo of some Java code I have been developing recently that offers an alternative spatialisation approach to DBAP for arbitrary 2D loudspeaker configurations.
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.
When source moves outside the convex hu8ll of the speaker layout, only the two speakers at the nearest edge are used, and volume drops off. The reference_distance parameter determines how fast audio volume drops. The lower value, the faster it rolls off.
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. he java code is based the cataLib by Jão Menezes. His code is again based on earlier code by Yoshihito Yagi.