< Back to IRCAM Forum

Dump azimuth positions

Hello!
I’m still fairly new to spat. I’m using it within MAX7, and trying to use the Around bpatcher to change the speed of continuous circles for several sources at once using antescofo for event triggering.

I’m wondering how you can get spat.oper to dump only the azimuth positions. At the moment I can only get spat.oper to dump all the info about a source. But what I’d like is all the azimuth positions of every source, so I can send this data on to Around, so that when I make a speed change on Around, the source changes speed from its most recent position, rather than from a previous value of Init (e.g. the default 0 degrees).

I’ve attached an example patch which tries to sum up in a very crude way what I’m trying to do.

Any help would be much appreciated.

  
----------begin_max5_patcher----------  
1364.3oc6ZsrbihCEcs8WgJ1MU43BI.CzqlY4rXVMKmpqTxfLVc.IOBQdzc0  
+6id.13XLVI1Iwo5YQaC5gO5bz8d08pz+X5Duk7GI0dfu.9GvjI+X5jIllzM  
Lo88IdU3GyJw0lg4UQpqwEDuY19jjGkl1q4UD4ZJq.HWikfBNoFPYRt5UB3O  
YTIfux7LVvaX4y.OPkqARNGT0jsFrhKpvRod9Bx+1PEjbvWt425fgla.gu7a  
2D3203FrLSi3sBRlzxgHe+49y.QHj9qvnP8W5W.escRrlJJqjHMrAsqQdirq  
UXaq0xmJIFb6PzNH4SaHV377.eU2yOmNU+wLG0vLdUEgIOTC2PTzFWVBp4Mh  
L0FygzGkLB8CiWXHr4SXjQKP9Gi8vAYu+gr+hSQK8.ng3W7H7Ck9ohevg3Wz  
H7CBM1sA9e37yQ27J7cJ+7ZEUly2PDf7lpMVu7uqco6aKC3rxm.p4n6lxpkX  
lD7vZBCfAVUKaMlUP.7rrFQ87NnKoLRlJjgruCaeAEMhfFjDXDzjHSXAqhFD  
ckEOXYiTxYCXr.SGyYeAzvFjghnvtOeIFKu.psTs475n2wrkfI9Cv4whugBM  
TFASLLGdUFc+XzcHxtXDxtHw59aLcQoyi9Dw0t.7.rxu9l3z4.+4.37ghGN1  
w4HiDDkZ1nCSPWk62LxCJhbfDrQP1PXpyBHxg7rSNMsiLGyEehbXfWUr1bTP  
FmcOQHIhgHd7oItMVVR7qg3gtSbqQp2Lyo1pCxD05mM+aKh036I42pV3p03s  
pDTETUvZaFyS1pLZtHvpCFIhaIL7RKv9l9Lx5KUbk7hhRxPpWvIUOn8KWOOX  
vU94ZRQ0mV+ZrppKo4Ca1.G6jvDaV+Ac4KoTAs0yqm40zuadOXg9W67cvZ6R  
sJLyct+EUa7GMkRidrv+WSsIcT+Ezu.RyQBTKWKZFPuBOY7ktzNgelNVZ6gw  
sElopOYnqV3zj2O0Fi0+SL6QCy9wpiBYuWkqb5uzrx2EG3dJ4g6o0zkzRp7o  
9KA9pU57xLfY3R+hrK4Y2QxyE3h5LAurruGdVIM6NkuCuoXc+1swBVe3Drcb  
+gcrrnhmuWzikbgNHVuV5GjuiTLUzmcoZYuMs4JYP81o2.Q1bJgglHevfEGa  
GLbzcv+e+5z6Wgm4FVx0290X47at9meWAe208fru0lYMHz7pfnJLXY8v2L1V  
EaEmI2pZ+gfhKOcf4zP6oRsWPvKKxTPOf6NC27K4d.q23JGL+rl6B6Y2VuQQ  
zsu+9VasM1EWahPfcZRNoVRYXIky5MF39CZm48f1JWTjUiAcHvvyB3DGAFdD  
mAWwYgK3DdA.JzAfPsC5r.R+2XwYJcYsVbC5gQ97LWBb.3Kg3hbYa7YxvERb  
cBZ8MzLDzmm5pul92GiWz6z9Hzk.acz97PxkHYH+KARwtXfjbIPxIufKAPt3  
Wm7V3s4DxKdKb1bB4msCrEZz6.zCibv4gLzAjSeSja3GVxUtAs+axNs+GGqc  
N+jKdRktn2GFy2l9NdyFU4O0sC1.gp.quwMKq3YSsW0m8USIIdp5knci2Thm  
GVnJ.RpponQXKI4wD6eDQOc4oBVCskiJxMsszkmUxvtRqZxo7+VhkM029WDV  
68ApH0JbSobegXYwJZYYFuzt75WBSWYPd1dm0171wpKYGkFBgI551CfAwnEl  
mTODE0KSt14.6lTXTXpOROzvEn3vHySInfnf8t.f1og1gkOL0hfeZhen8IUS  
vY.X+ogYE1BtPwauuVkkffugK51RUSMc63aj7BANmRr+uQX+5zl0ZGIT897J  
F8pTBJsaNZ6go+b5+AXI1fRF  
-----------end_max5_patcher-----------  

Hi

I for one think that you just need to address the speed change message to the circle bpatcher’s speed inlet…

As for the source azimut position :

  • you can parse the source’s data with the route or select object from the first spat oper outlet
  • you can use the multioutput attribute and parse the data from the source position output
  • you can use the spat converter object connected to the first output of the spat oper and choose the az format
  • Check the Spat Overview there must be plenty of other solutions…

And as you are using antescofo to control your spat, would you consider using this lib and tell us if it’s convenient ?

https://github.com/nadirB/Spat_Trajectory_Score_Library

Thanks for your feedback.

Bye

N.

Hi,

Thanks, yes looking more closely at the Around bpatcher, I just have to disconnect the init value and replace it with my own value, sent via antescofo along with all the other initialisation data (see attached patch and antescofo score), so it’s not actually so necessary to have the positions dumped as previously described, at least not for this piece. But thank you for the tips on source azimut positions, this will be useful for other situations for sure.

Thanks also for the antescofo lib, it looks like exactly the kind of thing I’d like to explore once I’ve covered the basics (i.e. circles) with spat, before exploring more elaborate geometry, so when I get time to explore the lib I’ll try and give some feedback.

  
----------begin_max5_patcher----------  
1974.3oc6asziaaCD9r8uBAAzKstaDenW8TK5ghdnmxgdHHXAsLssxJKYPQs  
YSBR+sWJRIaYaZItRxdWuHAHZkod7w4iCmY3vQea5D64YOQyss9MqOXMYx2l  
NYhroxFlT86I1aHOEkPxk2lcJ8yYy+j8L0k3zm3xlYVDVVQ5BPbZLu9pwKjW  
Sb++pKttwsDdz53zU2ynQbExvPvcNyrfxi99xyg24X8wpGIsXSbZBkK6AN6a  
LqfW2Jnp0b9WRnRTqwScS7urkp.y115ikW46SmVdX1vj6sL5VZ5Bq7rBVD0B  
XQ9pNoG0hz6B8tCI9G.MyBGFTJ8.nS6j.3UEI7SVHOGMhsWcaKyR4ojMp9ze  
vhIIlxGHXIQfcq0OzSGvVoiRzyi+pDcPoNlwrTbJeTIpx22ozDX3zjijlDjk  
6sEMUrYNksSHYzbZJmviyRaHndH4TBGoN.FchlPClLnalb9pnrjLl5UKM3r+  
fSi2ZWLtG9LcGsySiHohWGIcEsYqME3CZmvD8cNkcOMkLWw9NMzkZHANU86p  
CG0QZLJCetixbV7A336N6fiMgRbuBY6vNZ7pzLA2kDG8PSY6TKQyrrmKdZ6c  
us0GCcfeInAvxiPbEz8PcKJayF59of6lV9mELVi1OidHvsodXn7Gg50CQA8Z  
JM1O3DErSwQqB14TkNTIvwXkfQjcWPW0AyFBavrHPqLqe+LV55dLypAmaMlM  
K05cVYKW1A8h7jFojrqaPqrqa+zaAJtDDdFHdsRryK3bA3ZHh1BXCEpr0JUi  
phTy4hEoVkswwKHjhzsjnGrbDFSKCrRD7vc5Xf9EURE23iUJDF5d7PxAOJAj  
HbqrLIin6jwjMEuvExgHMTnyPnPrjB8b5CCN7P55uVGOaUYj.0A9rlF8.cgY  
Qrzf6fgmOfM8ObGArAceVSWaKDL8bcQZmxZSTeAV8A2J1Zt0bMZpP+gnoBTA  
of8LLVXiFNOjjQikIA0T0KfU02IhewQqkTHregrHrgtW4UxsX+WlkAO.qlmK  
zkM4znNBaIPNgMPpY31ZPgv94qxyAsigAH7Yv4VKnv+hQhS6ZoLN6o11WICz  
omImH7Xp8FZkLB8cAZcvgtMTOQdskUBP3kMsD9mnFiLzT7alDPrLisgH4COy  
yyffPh2HFmK6HN65HWrrObVuxysVpwsQ3f8Z.B.U1zbe9gPBGmPHmcQ7dzcJ  
ETNObMv4AneNOvh25N2yg9uQbd72M18lV8c3ZfuC.teQU56eLy91z2gqA9Nf  
nKpuCL7Ds3e363UYNpEl7dmowL64ZPLy8KUet.7cA67uD7Fwr262RoKrLxvm  
mAo+G1yz+icNlaeaZ3Swgsa3CAurF9BNQO9GF9dQM7clvi+4ykeZ7vypBTNh  
6Bu4xpxY3peQP95npgWGFHUB88PuLEXv3SU50oBGNQgg2nD0g4su08.WsUhZ  
RkdCtDiMHwwpMLz3bx2CCu8da2F6juK5frLgsLMpcX2Aq1AqVuafYlx5SJ3e  
I2SoyVzg4k7BOQWQUEzB0UUuggp3jQ2REb3tBsLuLlUcBtug4kEJUVTbvMmz  
qcW6Assq8PU4k.jKx0+0oTuglmSVQOQrSEmPejpu5AgsHz.npzZTkVqWGZ5v  
WWRcNmvzJwNsHwAn80efJY32NxaTFipQdaaBsZRrRbwNuJE2yLUljxoBIdY1  
+oqfo6TjApzN32qBkF+Lj4lkOR9W1LOK4zEEkSdjt3dQGWzIumvEKQZdAWUW  
8S1wJSr+WBKMt7410ulXSDbvJFY656WSiWsVJi9dAmd4OGufuVsWEP7IWNJK  
cYUONIKhjrNKurG64GDJ7vI9SceswyrkjRSz2Y1lkWmzCYk4UsjN0P+XswGq  
YE5hFpyg9J+1pB36VoF4M6CE.0svqJ43aruPfijdndoG1p6amaWwuLL06x1R  
YV+tnCoHgbgNf7WaojGnrbKr7mLged1bwE0wO8KmGJEGDRkde.nOUT1vK.mR  
qlx++bsZpc4cmZMR9ZsShSO96YRxHkse33lZTnpyUuhAq8jxBZNONc2hM+v9  
g.qykfKSQBes.Jz.fPiEP.S.BLPfLYLp7qspwMkwVPY6TZtnHeFfACBXeSD4  
QXLzy.bBFAbbMR8GMFyybMYLKbLPxHYxeDPBYzbZuw.IOSYOvXOWyHnAWhIa  
HiFHgiA8hLgdcFCjfWK2.HfAHgGMjfcISvwBITW5higQj5A61kIvXfjICSi.  
NPSLVgGCmWRaqlpOXVVvGd+oS6HgW29CvPs3qQ+A8LbtLLjfl5vbvHcklUAL  
YVU3kHFXfwymAisiYfISnFEC9.z0xIF.dkBsG3bs.x.bNM1T0R2Ia29HkkWc  
yRHr2P9jxDj+ropJ1V8SY5HrYzGiqueYJQsIrn0wbZDufoRGwSAphevdSlPM  
LsHtRSTHbSqRawQoKXeZUJVDm8dNgWje++PSqxUoPnVRJR3GRDyWsLNIYmAy  
lounNEHUlSqS05A0PCLDC.AkFWQ.jOzSdl3DW2FyjpdFP8CgcwgNxxtA6A8w  
xR7AG.QtnCp9opGCtGKGPnBAmv.Gr5LQSfC18WAWV+E8C82Uc7kaBe11LV8P  
p3QC2c+E7xjGuHtbepNIGMypziJ+P6ONaQ1aDDZb8yTpOL86S+e.9Ppgn  
-----------end_max5_patcher-----------  

Thanks,
NM

cues.txt (332 Bytes)

Hi,

here is a crude patch that should do what you want.
(just to put you on the track; i let you polish/optimize to your needs)

T.

  
----------begin_max5_patcher----------  
1242.3oc6ZsrbihCEcs8WAEqc6B8.vLq54CXVMKmZpTxfriRvHWBg6jtq9ee  
zKrwwujMD6rXVDLRbEWcN2qjNRjeMdT3b9az5vf+H3eBFM5WiGMxTkthQtxi  
BWQdKujTaLKLmuZEsRFNw9LI8Moo950TZQPMuQjSCfsOdMQl+LqZ4SBZtz5l  
zHzznIAYwlql6gQSiB9WWSpZVwpJoRi6.tJYEFmvm+x2fog6rj2HaMMxUas7  
8Rpw5PcE+d7X8kICI7.mAdwHP+fW7mI7pKYETQqGrud46qo19dX31t4oQF.h  
0+jjXKD2Aa0reZdSnDEh8EucHSAYEUREOQqHysfL5nbA3PtvUixWFClFcmIG  
WV8PSNvuLjSE8GpdzAiKVKnqoUpQFT4sQbnrnciWRMrGDdMiWh1RQBZsZnKQ  
x3U64.6.xY5qQtKce8mm69BQUPvrdQUfrv6Opapdgyp1shvgPdh6OOfdbjEz  
2.1mcbri9LwtE4AeWJXKWRE0AeCbaQdPZpYZEfA3..373GdD7G+.h8xmEM8B  
vHDz7C35i2fvG3HbmLg.xOYq5EA.mkYh3HzUy.nGOA.6AAfvY8j.felDvbSW  
dmZgML5O1vpYyYkL46c8CewB8L9FPcvxOk77WoEEBxx5bAurr6x54kr7WUCg  
3MKeta8VA.OeXCrOXygOX9xU7h8jLLmKzRc5TyMEc.HqPGLbaoiGdvGYD5t3  
iRYiSjMQNkn.bUwTEaqJchP3+Gvtw4S5U.CeWCXKJ4pWxYkMLmTs77xFRLoo  
wVv2pd3ZVFIxGA3mP4I.aHaLB6gzS3IksufKVQLuxjGDM5RdtcZL652FymEe  
bhUtT4vRpZ4pyKS0mbM6JUw3qVhVZ3kRmLN.kAuszouRjUaF0MSVIgOJXC56  
dYbXGa23a7ryiczgXO9ArUFK1s555cXGaC3NItWSXG+.B6lE4x4UanB0DWAe  
2N+y4R+aoIywFRdUsyuqJw.X0VgsyyB5POK3Ux1yQxrIPOWEKrS62t38eJXj  
xiym3SN4aMYCs3I0KU0qehHU6rctJwn1wpNZ8DyyadlIlLjQF9ZcPQ0+srd8  
.M7D4DLMbQAH9ZCCn6TXvfrvRV0G+T.F5QW+9wFW9skTa0xGrifJn0RVkY8q  
NF4r4ngeecjO9Qu0+d6HsX2K5Iz.3Hz8BQPu3NsQv95IfOdBO.dRepVW1Sy1  
ynUrh0bVkzkpClkLMdRPRrcRWfY399kZO6gTsg5B8sWq6PfKMZIZHh4Q9FyA  
8ESY9FyACA6cQOkM.rmWPJdHlrIxWO0axymglP7.foTefzPjim3giFhrgXOF  
zlNP94R3IY.7iOKvMHI2d3mgHgC5CfNbgTq1Gx50J480NiM9Po.8Et4D2RmL  
190SsEMpxBET8oGZs2HWNjHTRIkJAYMBqXs2RrJ9B0Glmnpg4NJLE5F6D08A  
8V6DE1Tv3+sjHape5unUtuhhBTKHMkx8Yh4KWvJKy4k1tWW8esZeCsOchq5s  
1pOfSXFF.loOKAD.kBSL2otINtS9tqMf1Fo1AWVDTaJNAlhiM2MChhQ6cnDt  
lA24qHPl0CQYyhv16TUAlD.51LR0RqZUX51uVt9fQ3q4h1PppoYasuQxWJHE  
L8+6FGHxchKQRnd5G0RGtRQnr11nyGF+6w+GG6gf.  
-----------end_max5_patcher-----------  

Hi,

Thanks a lot, your patch is precisely what I was after! I can tweak it further, as you say. But thanks again for your help!

Cheers,
NM

Hello,

Follow up question to related to this post: How can I make spat.oper dump the azimuth positions in 0-360 degrees format instead of -180 to 180 degrees?

I am using the source azimuth position to trigger certain events that are defined within certain zones (e.g. when a musician is facing between 0-60 degrees, or 60-120 degrees etc), however to produce the [if] triggers on MAX I need to use only positive numbers 0-360 for the live source position as input data, but right now my spat.oper is outputting -1 to -180 when in the left half of the sound space.

Many thanks!
NM

Hi,

A scale object might do the trick.

Check the spat5.converter ?

N.

Hi,

Fairly simple: add 360 to the azimuth angle [+ 360.], then modulo [% 360.]

T.

Thanks for both your solutions. I also tried splitting the azimuth angle between:

[if $i1 >= 0 & $i1 <= 180 then $i1] and [if $f1 >= -180. & $f1 <= 0. then $f1] with [-180. 0 180 360]

But modulo is much more elegant!
NM