Random posts, aperiodic and sparse.

Photon Salon

(10/11/2018) Tim Thompson's Photon Salon is restarting down in San Jose tonight at Anno Domini. We'll try to have four visualists (myself, Tim, David Tristam, and Fred Lakin) "throwing sparse" and running through single mixer. Band name not found.

Sensel Morph

(9/17/2018) Tim Thompson turned me onto the Morph touchpad from Sensel, which, besides being pressure sensing and solidly built, has a built-in accelerometer. This gives a way to lift the touches into 3D, makes for a more expressive controller. Simply lifing the pad and tilting and shaking it gives more for the audience to watch in performance as well, escaping the usual "person on laptop turning knobs" scenario.
I'm also finding the experience of directly expression via touch qualitatively changes the feel of playing. I have a lot more to do with it, like connecting the accelerometer in with my physics simulation, using position/pressure/acceleration for various parameters like color, size, speed, etc. Tossing objects into space would be cool, too.

Constant Power Panning with focus and size parameters

(late 2017?) These are empirical controls for spatial audio rendered in multiple speakers with simple amplitude panning. I originally used this for size and position controls for audio sources in the matrix mixer I wrote (under BeOS) for Naut Humon in the early-mid 1990s. It had a tweaker's GUI with a separate control for each level in the 40 input x 12 output matrix that I was chuffed to hear that Maryanne Amacher liked. Here is a paper about the larger Sound Traffic Control system I worked on.


The idea of focus is to give a way to reduce the image of the source when there are a large number of speakers in the source's vicinity. We use a cosine raised to a power to give the amplitude in each speaker, then normalize the amplitude to lie between 0.0 and 1.0.

At most, only speakers in the hemisphere centered on the source direction will have non-zero contributions.


To allow the apparent size of the source to exceed a hemisphere, a size parameter is used. With the size set to 0.0, we get the usual behavior, with the sound potentially affecting all speakers in the hemisphere centered toward the source. Increasing the size from 0.0 to 1.0 will increase the size to cover the entire sphere, while still being strongest in the source direction.