I wished to find a higher spatial resolution in projected sound and work with 3D sound images, which have potentials past the 2D setups we were using for the "Wheels within wheels" concerts. For many of our recording sessions, the musicians were sitting around the Soundfield microphone, 1 with an active spatial spread of different types of timbres. Four microphone capsules created suffient resolution for 1st order ambisonic encodings. I would like to have a larger sweet spot for the final 16 speaker setup. Eigenmike would have been an possibility. 

For this project, I used Blue Ripple Sound's TOA Harpex upsampler to upsample the Soundfield B-format recordings to 3rd order ambisonics, meaning 16 channels sound files in Furse Malham channel orderings. I used sample rate 96000, 32 or 24 bit. The final sound installation files were altogether more than 200 GB, meaning some sounds would need to be played from external hard drives.

Spatializations and spatial rotations are present in the Csound orchestra attached in the previous chapter, controlled dynamically by curve shapes, 360 degrees in azimuth and elevation.

Csound has a third order solution for single sound sources projected in a 3D space; 'bformenc1'.  Third order recordings however, require a full rotation matrix, which I could not find implemented for Csound. Blue Ripple Sound  has provided enough information to do this for second order. 2 A flexible 3D rotation would need all dimensions, yaw (x to y), pitch (x to z) and roll (y to z). For the sake of clarity and visual logic, I kept the ACN ordering at the rotation part of my Csound instrument. For 1st order, all three dimensions are implemented in my instrument, while for 3rd order only yaw, which is the most relevant dimension for a 2D setup.

3rd order yaw rotation is logical to expand to higher orders, and the result was confirmed by other texts I studied. Rotations towards the z-axis requires more mathematic skills. Ircam Spat 5 includes full 3D rotations for much higher ambisonics orders. 3 Matthias Kronlachner's ambiX plugins contains open source solutions for high order 3D rotations, the solutions are somewhere in this code.

I would very much like to see higher order ambisonics rotations integrated in Csound as well. The rotation in my Csound instrument was a temporary solution. Other softwares have good solutions, while for my workflow, it was important to have everything within Csound, for algorithmic variations created by Open Music and rendered through Csound. Theoretically, Csound should be able to use Vst plug-ins available on the systems, but this ability was not included in the current compilation of Csound (spring 2018).
 
Distance simulation could have been added, however I found it sufficient to use dynamic differences between individual sound events on a decibel scale, which I experienced as musically more convincing than a linear amplitude scale.

Spatial audio: High order ambisonics rotation