PanAZ for vertical panning

Hi everybody,

I’m using PanAZ to project sound on 6 speakers. I want the movement to go from speaker 1 to 6, clockwise, and anti-clockwise. The code below works, now that I have an horizontal setup of speakers, and sound projection is ok; but I’m simulating the final set up, which will be the speakers being positioned in vertical, in a spiral fashion, and no longer in horizontal.

I’ll be doing an installation into a tower, and wanting to place this 6 speakers, one each floor.
I’m asking you guys if PanAZ will do the job, and sound projection will still be perceivable as an ascending and then descending motion, or I should use PanX, for example, or some other Ugens.

Many many thanks

Leo



(
~toPan_bus = Bus.audio(s,1);
~panNumChans = 6;
)

(
SynthDef(\sirena, {
    arg fMin, fMax, rate = 0.66, amp = 0.25;
    var scatto, freqSirena, sirena;

   scatto = LFPulse.kr(rate, iphase: 0, width: 0.5);
   freqSirena = Select.kr(scatto, [fMin, fMax]);
   sirena = LFTri.ar(freqSirena)*amp;
	                                
	Out.ar(~toPan_bus, sirena);
}).add;

SynthDef(\pan_sirena_clock_antiClock, {
    arg speed = 0.05, amp = 0.4, wid = 2;
    var sig, pos, panned;

    sig = In.ar(~toPan_bus, 1);           //PinkNoise.ar(amp);
    pos = (LFTri.kr(speed, iphase: 1) * -1).linlin(-1, 1, 0.0, 1.666);
	
    panned = PanAz.ar(
        numChans: ~panNumChans,
	in: sig,
        pos: pos,
        level: amp,
        width: wid,
        orientation: 0 
    );

    Out.ar(0, panned);
}).add;
)

(
c = Synth(\sirena, [\fMin, 467, \fMax, 620], addAction: \addToHead);
d = Synth(\pan_sirena_clock_antiClock, addAction: \addToTail);
)

The problem you might find with panaz is that once you are on speaker 6, part of the sound will also be routed to speaker 1, creating a spatial discontinuity. It’s probably a better idea to use panX if you don’t want that sound leaks from the higher positioned speaker to the lower positioned speaker…

You might consider something like vbap?

Hi, thank you for your answer. But why? The code doesn’t do that on the ring setup…

yes, then I’ve found it…
thank you.

You’re right. Looking more carefully at your code, my previous comment doesn’t actually apply to the range you are using.

PanAz is cyclic: with 6 channels and orientation: 0 , the speaker positions are approximately:

0, 0.333, 0.666, 1.0, 1.333, 1.666

and then at 2.0 you are back at speaker 1.

But your pos only moves from 0 to 1.666 and then reverses, so it reaches speaker 6 and goes back towards speaker 5. It never enters the section between 1.666 and 2.0 , where PanAz would crossfade from speaker 6 back to speaker 1.

So yes, with your current code PanAz should work fine for an ascending/descending sequence.

The only reason I suggested PanX is that conceptually your speaker arrangement is linear rather than circular: PanX explicitly maps 0 to the first speaker and 1 to the last one and does not wrap around. So it might be a slightly safer/more semantically appropriate choice, but it is not necessary if you keep PanAz constrained to this range.

Sorry for the confusion!

Hi,
thanks a lot for your message again. It’s more me getting confused, at this point: I am worried that if I use PanAZ, as it is an azimuth pan, I wouldn’t get the ascending-descending motion properly done. As I’m not very familiar with panning, I made some research, and tought that probably I would end up in a mess…
Doesn’t the VBAP provide elevation control too, which obviously PanAZ is lacking, and, isn’t it the problem?
Do you believe that if I use that code, but my speakers are put in a spiral-like way, probably covering a distance of 10 meters or so, I’ll still have my perceivable motion?

Thanks again for your time

I think you’ll still have your perceivable motion, yes. Something i do to reinforce -maybe metaphorically- the distance of the sound source is to low-pass filter or “diffuse” (maybe some reverb or diffuser delays) the signal on those channels whose speakers are further away from the listener. I dont tend to make it scientifically accurate, just play a little bit with the sound until i like it and feel like tricking the ears…

Thank you.

Also for the suggestion. I believe I won’t go in that direction, also because the listeners Will be moving up and down the tower, I mean, there Will be no sweetsposts, but the position people will choose to take, therefore, no longer distance for everyone. I’m trying to sinulate the verticale spirale right now alik studio. I’ll let you know how It works.

Let’see. Thanks again,

Leo

Edit: I wrote this without reading your previous comment! Sorry!

Are the speakers evenly spaced vertically? Since they are in a spiral, do you care about horizontal motion, or only vertical? If so panx is good.

Are people walking up and down the structure? If so you might want to give a lot of thought into what sounds you are actually playing as people are going to be very close to each speaker and won’t be able to hear other speakers. Panning works best when the user is in a sweat spot… assuming it’s a spiral staircase around a tower, that’s floating in the middle of the air if you want the spot between two, if it’s a spot where you can hear each speaker at the same time… I’m not sure that’s possible.

If this was me I wouldn’t use panning at all. I’d be thinking about these two idea…

A ‘mono’ quiet background (or silence) with extra unique sounds coming out of each speaker but no movement of the sounds between speakers, each speaker has it’s own sound. This way, someone at the bottom of the structure might be able to hear what is happening at the topz assuming the sounds are sonically unique… let the space work for you.

Or, lots of unique sounds that jump between speakers and floors, creating a pointalistic texture.

Also be careful with artificial reverbs that have different delays between the speakers, to make it realistic, you need to consider the space and the speed of sound.

Hi, no worries please!

Yes the speakers will be vertically evenly spaced, not 100% precisely, but I’ll try to out them at the same distance between one and the other.
I’m only interested in the vertical movement, not horizontal.

People are free to move, theres a staircase in fact in the middle of the tower, but I assume people won’t move a lot, It depends.
I think I cannot control the position of people on the staircase, and as the tower is tight, you are right, maybe the sound of the nearest speaker will cover the sound of others, but I’ll work on amplitudes.
I’ll be playing synthetic sirens, moving them up and down the tower. I also think that normally people stop when realize they are hearing the movement. Also, due to the tightness of the tower, they are not encouraged to do so.

If this won’t work, I’ll play the same things but treating each speaker individually.
I won’t use any reverb.

Thanks a lot