From what I can determine, spat~ is designed such that all speakers are pointed to a theoretical sweet spot in the center of the space.
I often find myself in situations in which the speakers cannot necessarily be aligned in such a way – am I correct in assuming that there is no way to compensate for this?
At least there is no easy way.
Assuming that you know the (frequency-dependent) directivity function of the loudspeakers, you could somehow compensate for their orientation. But there is no built-in function to do so.
Given the thoroughness with which most things are covered in spat~, I’m sure some thought has gone into whatever decision was made about this, and I’d also be interested in hearing the reasoning behind it (mostly so I can tell my students!)
Not so much reasoning.
Panning algorithms are built on the assumptions that the loudspeakers are :
- with a flat-ish frequency response,
- equidistant to the sweet spot (or delivering the same power, and in-sync, w.r.t. the sweet spot),
- pointing towards the sweet spot,
- in a dry-ish room.
If that is not the case, then someone (the FOH engineer ?) should “calibrate” the system so that it behaves “as if”.
The equidistance hypothesis is easy to circumvent; you can e.g. use spat5.align~.
The orientation hypothesis is bit more complex/annoying.
The interaction with the reproduction room is yet another story…