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.

Focus

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.

Size

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.