<commit_before>#N canvas 544 154 429 191 10;
#N canvas 541 437 689 376 command_interpretation 0;
#X obj 131 6 inlet;
#N canvas 324 117 272 250 PropertiesOfAudioFile 0;
#X obj 29 39 inlet;
#X obj 61 181 readsf~;
#X obj 61 134 list prepend open;
#X obj 61 157 list trim;
#X obj 29 73 t b a;
#X msg 28 112 print;
#X obj 180 133 openpanel;
#X obj 180 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 180 164 open \$1;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 4 1 2 0;
#X connect 5 0 1 0;
#X connect 6 0 8 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X restore 131 92 pd PropertiesOfAudioFile;
#N canvas 469 273 681 649 Transport 0;
#X obj 85 4 inlet;
#X obj 29 186 bang~;
#X obj 55 232 f;
#X obj 55 269 + 64;
#X obj 56 327 / 44100;
#X text 10 360 elapsed time;
#X obj 178 415 +;
#X obj 163 586 s toZTE;
#X text 219 385 offset Time;
#X obj 353 61 print Transport_unknown_message;
#X obj 95 299 r SampleRate;
#X obj 163 490 f;
#X obj 56 391 t b f;
#X obj 94 422 + 1;
#X obj 56 423 f;
#X msg 8 442 0, f 4;
#X obj 56 473 sel 25;
#X obj 253 69 r SampleRate;
#X text 296 108 fps;
#X floatatom 253 145 5 0 0 0 - - -, f 5;
#X text 301 140 samples per frame;
#X obj 253 180 / 64;
#X floatatom 253 218 5 0 0 0 - - -, f 5;
#X obj 253 241 i;
#X obj 253 269 print update_skip;
#X obj 253 107 / 30;
#X msg 92 175 64;
#X msg 150 174 0;
#X text 299 215 number of blocks per refresh;
#X obj 86 32 route play poll setCurrentTime refreshRate;
#X obj 131 223 t b f;
#X msg 87 229 0;
#X msg 435 513 set poll;
#X obj 141 104 t b b;
#X obj 88 108 t b b;
#X msg 247 513 set currentTime \, adddollar 1;
#X msg 163 559 poll;
#X obj 84 564 send poll;
#X obj 58 537 t b b;
#X text 12 155 master clock;
#X connect 0 0 29 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 2 1;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 6 0 11 1;
#X connect 10 0 4 1;
#X connect 11 0 36 0;
#X connect 12 0 14 0;
#X connect 12 1 6 0;
#X connect 13 0 14 1;
#X connect 14 0 13 0;
#X connect 14 0 16 0;
#X connect 15 0 14 1;
#X connect 16 0 15 0;
#X connect 16 0 38 0;
#X connect 17 0 25 0;
#X connect 19 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 23 0 16 1;
#X connect 25 0 19 0;
#X connect 26 0 30 0;
#X connect 27 0 30 0;
#X connect 29 0 34 0;
#X connect 29 1 33 0;
#X connect 29 2 6 1;
#X connect 29 3 25 1;
#X connect 29 4 9 0;
#X connect 30 0 31 0;
#X connect 30 1 3 1;
#X connect 31 0 2 1;
#X connect 32 0 36 0;
#X connect 33 0 27 0;
#X connect 33 1 32 0;
#X connect 34 0 26 0;
#X connect 34 1 35 0;
#X connect 35 0 36 0;
#X connect 36 0 7 0;
#X connect 38 0 11 0;
#X connect 38 1 37 0;
#X restore 161 111 pd Transport;
#N canvas 98 41 748 532 AudioFileInspection 0;
#X obj 102 16 inlet;
#X obj 119 244 soundfiler;
#X obj 101 64 route loadToBuffer freeBuffer;
#X msg 186 311 buffer freed;
#X msg 5 223 buffer loaded;
#X obj 119 272 list prepend number of samples;
#X obj 6 122 t b a;
#X obj 119 308 list trim;
#X obj 119 402 print PDmemory;
#X obj 119 371 spigot;
#X obj 193 346 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 440 261 table fileInspectionBuffer1;
#X obj 440 280 table fileInspectionBuffer2;
#X msg 119 166 read -maxsize \$1 -skip \$2 -resize \$3 fileInspectionBuffer1
fileInspectionBuffer2 fileInspectionBuffer3 fileInspectionBuffer4 fileInspectionBuffer5
fileInspectionBuffer6 fileInspectionBuffer7 fileInspectionBuffer8;
#X obj 440 299 table fileInspectionBuffer3;
#X obj 440 318 table fileInspectionBuffer4;
#X obj 440 337 table fileInspectionBuffer5;
#X obj 440 356 table fileInspectionBuffer6;
#X obj 440 375 table fileInspectionBuffer7;
#X obj 440 394 table fileInspectionBuffer8;
#X msg 500 81 \; fileInspectionBuffer1 resize 0 \; fileInspectionBuffer2
resize 0 \; fileInspectionBuffer3 resize 0 \; fileInspectionBuffer4
resize 0 \; fileInspectionBuffer5 resize 0 \; fileInspectionBuffer6
resize 0 \; fileInspectionBuffer7 resize 0 \; fileInspectionBuffer8
resize 0 \;;
#X text 165 16 This functionality is exclusively used for creating
waveform representation in ZTE;
#X connect 0 0 2 0;
#X connect 1 0 5 0;
#X connect 2 0 6 0;
#X connect 2 1 20 0;
#X connect 2 1 3 0;
#X connect 3 0 9 0;
#X connect 4 0 9 0;
#X connect 5 0 7 0;
#X connect 6 0 4 0;
#X connect 6 1 13 0;
#X connect 7 0 9 0;
#X connect 9 0 8 0;
#X connect 10 0 9 1;
#X connect 13 0 1 0;
#X restore 192 132 pd AudioFileInspection;
#X obj 223 152 s SampleRate;
#X obj 254 172 s ID;
#X obj 287 187 s Speaker;
#X obj 346 224 s vbapMapping;
#X obj 315 204 s SpeakerDef;
#N canvas 580 415 649 501 vbap 0;
#X obj 129 259 s vbapDef;
#X obj 131 204 define_loudspeakers 2 0 45 90 135;
#X obj 133 152 list prepend ls-directions;
#X text 342 193 <- dummy;
#X obj 81 73 t b a;
#X obj 132 177 list trim;
#N canvas 393 359 476 606 convert 0;
#X obj 112 14 inlet;
#X obj 149 562 outlet;
#X obj 221 195 until;
#X obj 221 233 list append;
#X obj 313 238 bang;
#X obj 221 263 list split 2;
#X obj 220 287 unpack 0 0;
#X obj 217 357 circlewrap;
#X obj 222 380 pack 0 0;
#X obj 203 440 list append;
#X obj 323 415 t l;
#X obj 221 406 list prepend;
#X obj 202 167 t b b l b;
#X obj 143 525 list prepend;
#X obj 74 200 until;
#X obj 74 238 list append;
#X obj 166 243 bang;
#X obj 70 362 circlewrap;
#X obj 56 445 list append;
#X obj 176 420 t l;
#X obj 74 411 list prepend;
#X obj 55 172 t b b l b;
#X obj 74 268 list split 1;
#X obj 222 309 * -1;
#X obj 222 330 + 90;
#X obj 75 314 * -1;
#X obj 75 335 + 90;
#X obj 107 98 route 2 3;
#X obj 232 488 list prepend 3;
#X obj 72 484 list prepend 2;
#X connect 0 0 27 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 2 1;
#X connect 5 0 6 0;
#X connect 5 1 3 1;
#X connect 5 2 4 0;
#X connect 6 0 23 0;
#X connect 6 1 8 1;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 9 0 28 0;
#X connect 10 0 11 1;
#X connect 11 0 10 0;
#X connect 11 0 9 1;
#X connect 12 0 9 0;
#X connect 12 1 2 0;
#X connect 12 2 3 1;
#X connect 12 3 11 1;
#X connect 13 0 1 0;
#X connect 14 0 15 0;
#X connect 15 0 22 0;
#X connect 16 0 14 1;
#X connect 17 0 20 0;
#X connect 18 0 29 0;
#X connect 19 0 20 1;
#X connect 20 0 19 0;
#X connect 20 0 18 1;
#X connect 21 0 18 0;
#X connect 21 1 14 0;
#X connect 21 2 15 1;
#X connect 21 3 20 1;
#X connect 22 0 25 0;
#X connect 22 1 15 1;
#X connect 22 2 16 0;
#X connect 23 0 24 0;
#X connect 24 0 7 0;
#X connect 25 0 26 0;
#X connect 26 0 17 0;
#X connect 27 0 21 0;
#X connect 27 1 12 0;
#X connect 28 0 13 0;
#X connect 29 0 13 0;
#X restore 133 118 pd convert;
#X obj 369 410 s toZTE;
#X obj 244 301 route selectedTriplet;
#X obj 368 361 list prepend triplet;
#X obj 368 386 list trim;
#X obj 367 337 list prepend -1;
#X obj 81 42 r SpeakerDef;
#X obj 222 255 zirkvbap;
#X connect 1 0 0 0;
#X connect 1 0 13 0;
#X connect 2 0 5 0;
#X connect 4 0 1 0;
#X connect 4 1 6 0;
#X connect 5 0 1 0;
#X connect 6 0 2 0;
#X connect 8 1 11 0;
#X connect 9 0 10 0;
#X connect 10 0 7 0;
#X connect 11 0 9 0;
#X connect 12 0 4 0;
#X connect 13 4 8 0;
#X restore 81 252 pd vbap;
#N canvas 0 22 459 366 speakerNum 0;
#X obj 250 42 r SpeakerDef;
#X obj 212 127 list length;
#X floatatom 214 172 5 0 0 0 - - -, f 5;
#X obj 214 201 - 1;
#X text 20 193 because first one is dimension;
#X obj 246 67 t l l;
#X msg 304 128 \$1;
#X obj 309 166 sel 2 3;
#X msg 310 228 1;
#X msg 345 228 2;
#X obj 218 247 / 1;
#X floatatom 216 273 5 0 0 0 - - -, f 5;
#X obj 217 296 s NumSpeakers;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 5 0 1 0;
#X connect 5 1 6 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 10 1;
#X connect 9 0 10 1;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X restore 136 252 pd speakerNum;
#X obj 377 244 s HRTF;
#N canvas 0 22 450 300 Report 0;
#X obj 79 75 inlet;
#X obj 79 122 route enableIDLevelReport enableSpeakerLevelReport;
#X obj 76 161 s IDLevelReport;
#X obj 219 161 s SpeakerLevelReport;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X restore 408 265 pd Report;
#X obj 131 34 route PropertiesOfAudioFile Transport AudioFileInspection
SampleRate ID Speaker SpeakerDef vbapMapping hrtf Report SoundFile
;
#X obj 439 287 s SoundFile;
#X obj 471 130 print error-invalidCommand;
#X text 80 306 distributes commands from the Trajectory Editor;
#X connect 0 0 13 0;
#X connect 13 0 1 0;
#X connect 13 1 2 0;
#X connect 13 2 3 0;
#X connect 13 3 4 0;
#X connect 13 4 5 0;
#X connect 13 5 6 0;
#X connect 13 6 8 0;
#X connect 13 7 7 0;
#X connect 13 8 11 0;
#X connect 13 9 12 0;
#X connect 13 10 14 0;
#X connect 13 11 15 0;
#X restore 29 37 pd command_interpretation;
#N canvas 0 22 334 232 report 0;
#X obj 40 20 loadbang;
#X obj 40 96 print;
#X obj 43 122 loadbang;
#X msg 42 160 \; pd dsp 1;
#X obj 111 80 r pd;
#X msg 40 46 Zirkonium Spatialization Server ver3.1;
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X restore 350 60 pd report;
#X obj 29 12 r fromZTE;
#X obj 252 8 catch~ hrtfL;
#X obj 331 9 catch~ hrtfR;
#X obj 295 37 dac~;
#X text 181 73 source layer;
#X text 181 95 ID (sound object) layer;
#X text 181 144 Hardware output layer;
#X text 182 119 Virtual speaker layer;
#N canvas 155 313 727 389 sfplayers 0;
#X obj 17 12 sfplayer 0;
#X obj 17 34 sfplayer 1;
#X obj 17 56 sfplayer 2;
#X obj 17 78 sfplayer 3;
#X obj 17 100 sfplayer 4;
#X obj 17 122 sfplayer 5;
#X obj 17 144 sfplayer 6;
#X obj 17 166 sfplayer 7;
#X obj 17 188 sfplayer 8;
#X obj 17 210 sfplayer 9;
#X obj 17 232 sfplayer 10;
#X obj 17 254 sfplayer 11;
#X obj 17 276 sfplayer 12;
#X obj 17 298 sfplayer 13;
#X obj 17 320 sfplayer 14;
#X obj 17 342 sfplayer 15;
#X obj 98 13 sfplayer 16;
#X obj 98 35 sfplayer 17;
#X obj 98 57 sfplayer 18;
#X obj 98 79 sfplayer 19;
#X obj 98 101 sfplayer 20;
#X obj 98 123 sfplayer 21;
#X obj 98 145 sfplayer 22;
#X obj 98 167 sfplayer 23;
#X obj 98 190 sfplayer 24;
#X obj 98 212 sfplayer 25;
#X obj 98 234 sfplayer 26;
#X obj 98 256 sfplayer 27;
#X obj 98 278 sfplayer 28;
#X obj 98 300 sfplayer 29;
#X obj 98 322 sfplayer 30;
#X obj 98 344 sfplayer 31;
#X text 338 28 sound file players;
#X text 336 85 you can play upto 64 files at the same time. Audio signal
from the sound file will be sent to "receive~ playerID channelID".
Note \, channel ID starts from 1 playerID starts from 0;
#X obj 175 12 sfplayer 32;
#X obj 175 34 sfplayer 33;
#X obj 175 56 sfplayer 34;
#X obj 175 78 sfplayer 35;
#X obj 175 100 sfplayer 36;
#X obj 175 122 sfplayer 37;
#X obj 175 144 sfplayer 38;
#X obj 175 166 sfplayer 39;
#X obj 175 188 sfplayer 40;
#X obj 175 210 sfplayer 41;
#X obj 175 232 sfplayer 42;
#X obj 175 254 sfplayer 43;
#X obj 175 276 sfplayer 44;
#X obj 175 298 sfplayer 45;
#X obj 175 320 sfplayer 46;
#X obj 175 342 sfplayer 47;
#X obj 256 13 sfplayer 48;
#X obj 256 35 sfplayer 49;
#X obj 256 57 sfplayer 50;
#X obj 256 79 sfplayer 51;
#X obj 256 101 sfplayer 52;
#X obj 256 123 sfplayer 53;
#X obj 256 145 sfplayer 54;
#X obj 256 167 sfplayer 55;
#X obj 256 190 sfplayer 56;
#X obj 256 212 sfplayer 57;
#X obj 256 234 sfplayer 58;
#X obj 256 256 sfplayer 59;
#X obj 255 278 sfplayer 60;
#X obj 256 300 sfplayer 61;
#X obj 256 322 sfplayer 62;
#X obj 256 344 sfplayer 63;
#X restore 93 69 pd sfplayers;
#N canvas 269 148 920 628 inputs 0;
#X obj 73 74 send~ in1;
#X obj 89 95 send~ in2;
#X obj 74 13 send~ noinput;
#X obj 105 117 send~ in3;
#X obj 120 139 send~ in4;
#X obj 137 161 send~ in5;
#X obj 156 183 send~ in6;
#X obj 173 204 send~ in7;
#X obj 190 224 send~ in8;
#X obj 209 75 send~ in9;
#X obj 225 96 send~ in10;
#X obj 243 118 send~ in11;
#X obj 262 140 send~ in12;
#X obj 278 163 send~ in13;
#X obj 294 184 send~ in14;
#X obj 311 205 send~ in15;
#X obj 330 224 send~ in16;
#X obj 73 43 adc~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#X obj 356 43 adc~ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
;
#X obj 356 74 send~ in17;
#X obj 376 95 send~ in18;
#X obj 395 117 send~ in19;
#X obj 416 139 send~ in20;
#X obj 438 161 send~ in21;
#X obj 459 183 send~ in22;
#X obj 479 204 send~ in23;
#X obj 505 226 send~ in24;
#X obj 521 78 send~ in25;
#X obj 542 99 send~ in26;
#X obj 562 121 send~ in27;
#X obj 582 143 send~ in28;
#X obj 603 165 send~ in29;
#X obj 623 187 send~ in30;
#X obj 646 208 send~ in31;
#X obj 666 227 send~ in32;
#X text 64 546 input from the hardware. Max 64 channels. You can find
receive~ in ID;
#X obj 63 283 adc~ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
;
#X obj 63 314 send~ in33;
#X obj 83 335 send~ in34;
#X obj 104 357 send~ in35;
#X obj 124 379 send~ in36;
#X obj 141 401 send~ in37;
#X obj 166 423 send~ in38;
#X obj 183 444 send~ in39;
#X obj 206 464 send~ in40;
#X obj 227 311 send~ in41;
#X obj 247 333 send~ in42;
#X obj 269 356 send~ in43;
#X obj 291 380 send~ in44;
#X obj 309 400 send~ in45;
#X obj 329 420 send~ in46;
#X obj 349 439 send~ in47;
#X obj 371 460 send~ in48;
#X obj 411 284 adc~ 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
;
#X obj 411 315 send~ in49;
#X obj 431 336 send~ in50;
#X obj 450 358 send~ in51;
#X obj 471 380 send~ in52;
#X obj 493 402 send~ in53;
#X obj 514 424 send~ in54;
#X obj 534 445 send~ in55;
#X obj 556 465 send~ in56;
#X obj 575 319 send~ in57;
#X obj 597 340 send~ in58;
#X obj 617 362 send~ in59;
#X obj 637 384 send~ in60;
#X obj 658 406 send~ in61;
#X obj 678 428 send~ in62;
#X obj 701 449 send~ in63;
#X obj 721 468 send~ in64;
#X connect 17 0 0 0;
#X connect 17 1 1 0;
#X connect 17 2 3 0;
#X connect 17 3 4 0;
#X connect 17 4 5 0;
#X connect 17 5 6 0;
#X connect 17 6 7 0;
#X connect 17 7 8 0;
#X connect 17 8 9 0;
#X connect 17 9 10 0;
#X connect 17 10 11 0;
#X connect 17 11 12 0;
#X connect 17 12 13 0;
#X connect 17 13 14 0;
#X connect 17 14 15 0;
#X connect 17 15 16 0;
#X connect 18 0 19 0;
#X connect 18 1 20 0;
#X connect 18 2 21 0;
#X connect 18 3 22 0;
#X connect 18 4 23 0;
#X connect 18 5 24 0;
#X connect 18 6 25 0;
#X connect 18 7 26 0;
#X connect 18 8 27 0;
#X connect 18 9 28 0;
#X connect 18 10 29 0;
#X connect 18 11 30 0;
#X connect 18 12 31 0;
#X connect 18 13 32 0;
#X connect 18 14 33 0;
#X connect 18 15 34 0;
#X connect 36 0 37 0;
#X connect 36 1 38 0;
#X connect 36 2 39 0;
#X connect 36 3 40 0;
#X connect 36 4 41 0;
#X connect 36 5 42 0;
#X connect 36 6 43 0;
#X connect 36 7 44 0;
#X connect 36 8 45 0;
#X connect 36 9 46 0;
#X connect 36 10 47 0;
#X connect 36 11 48 0;
#X connect 36 12 49 0;
#X connect 36 13 50 0;
#X connect 36 14 51 0;
#X connect 36 15 52 0;
#X connect 53 0 54 0;
#X connect 53 1 55 0;
#X connect 53 2 56 0;
#X connect 53 3 57 0;
#X connect 53 4 58 0;
#X connect 53 5 59 0;
#X connect 53 6 60 0;
#X connect 53 7 61 0;
#X connect 53 8 62 0;
#X connect 53 9 63 0;
#X connect 53 10 64 0;
#X connect 53 11 65 0;
#X connect 53 12 66 0;
#X connect 53 13 67 0;
#X connect 53 14 68 0;
#X connect 53 15 69 0;
#X restore 28 70 pd inputs;
#N canvas 159 321 440 234 Hardware_out 0;
#X obj 17 42 hout 1;
#X obj 63 42 hout 2;
#X obj 113 42 hout 3;
#X obj 163 42 hout 4;
#X obj 213 42 hout 5;
#X obj 263 42 hout 6;
#X obj 314 42 hout 7;
#X obj 365 42 hout 8;
#X obj 17 61 hout 9;
#X obj 63 61 hout 10;
#X obj 113 61 hout 11;
#X obj 163 61 hout 12;
#X obj 213 61 hout 13;
#X obj 263 61 hout 14;
#X obj 314 61 hout 15;
#X obj 365 61 hout 16;
#X text 17 8 hardware out | max 64 channels;
#X obj 17 80 hout 17;
#X obj 63 80 hout 18;
#X obj 113 80 hout 19;
#X obj 163 80 hout 20;
#X obj 213 80 hout 21;
#X obj 263 80 hout 22;
#X obj 314 80 hout 23;
#X obj 365 80 hout 24;
#X obj 17 99 hout 25;
#X obj 63 99 hout 26;
#X obj 113 99 hout 27;
#X obj 163 99 hout 28;
#X obj 213 99 hout 29;
#X obj 263 99 hout 30;
#X obj 314 99 hout 31;
#X obj 365 99 hout 32;
#X obj 17 118 hout 33;
#X obj 63 118 hout 34;
#X obj 113 118 hout 35;
#X obj 163 118 hout 36;
#X obj 213 118 hout 37;
#X obj 263 118 hout 38;
#X obj 314 118 hout 39;
#X obj 365 118 hout 40;
#X obj 17 137 hout 41;
#X obj 63 137 hout 42;
#X obj 113 137 hout 43;
#X obj 163 137 hout 44;
#X obj 213 137 hout 45;
#X obj 263 137 hout 46;
#X obj 314 137 hout 47;
#X obj 365 137 hout 48;
#X obj 17 156 hout 49;
#X obj 63 156 hout 50;
#X obj 113 156 hout 51;
#X obj 163 156 hout 52;
#X obj 213 156 hout 53;
#X obj 263 156 hout 54;
#X obj 314 156 hout 55;
#X obj 365 156 hout 56;
#X obj 17 175 hout 57;
#X obj 63 175 hout 58;
#X obj 113 175 hout 59;
#X obj 163 175 hout 60;
#X obj 213 175 hout 61;
#X obj 263 175 hout 62;
#X obj 314 175 hout 63;
#X obj 365 175 hout 64;
#X restore 27 139 pd Hardware_out;
#N canvas 230 342 721 259 Speakers 0;
#X obj 614 30 catch~ out0;
#X obj 312 34 speaker 5;
#X obj 84 35 speaker 2;
#X obj 5 34 speaker 1;
#X obj 158 35 speaker 3;
#X obj 231 36 speaker 4;
#X obj 388 35 speaker 6;
#X obj 466 35 speaker 7;
#X obj 540 35 speaker 8;
#X obj 5 54 speaker 9;
#X obj 5 74 speaker 17;
#X obj 5 94 speaker 25;
#X obj 5 114 speaker 33;
#X obj 5 134 speaker 41;
#X obj 5 154 speaker 49;
#X obj 5 174 speaker 57;
#X obj 84 54 speaker 10;
#X obj 84 74 speaker 18;
#X obj 84 94 speaker 26;
#X obj 84 114 speaker 34;
#X obj 158 55 speaker 11;
#X obj 231 56 speaker 12;
#X obj 313 55 speaker 13;
#X obj 388 55 speaker 14;
#X obj 466 55 speaker 15;
#X obj 540 55 speaker 16;
#X obj 158 75 speaker 19;
#X obj 158 95 speaker 27;
#X obj 158 115 speaker 35;
#X obj 158 135 speaker 43;
#X obj 158 155 speaker 51;
#X obj 158 175 speaker 59;
#X obj 84 134 speaker 42;
#X obj 84 154 speaker 50;
#X obj 84 174 speaker 58;
#X obj 230 76 speaker 20;
#X obj 231 96 speaker 28;
#X obj 231 116 speaker 36;
#X obj 231 136 speaker 44;
#X obj 231 156 speaker 52;
#X obj 231 176 speaker 60;
#X obj 313 75 speaker 21;
#X obj 313 95 speaker 29;
#X obj 313 115 speaker 37;
#X obj 313 135 speaker 45;
#X obj 313 155 speaker 53;
#X obj 313 175 speaker 61;
#X obj 388 75 speaker 22;
#X obj 388 95 speaker 30;
#X obj 388 115 speaker 38;
#X obj 388 135 speaker 46;
#X obj 388 155 speaker 54;
#X obj 388 175 speaker 62;
#X obj 466 75 speaker 23;
#X obj 466 95 speaker 31;
#X obj 466 115 speaker 39;
#X obj 466 135 speaker 47;
#X obj 466 155 speaker 55;
#X obj 466 175 speaker 63;
#X obj 540 75 speaker 24;
#X obj 540 95 speaker 32;
#X obj 540 115 speaker 40;
#X obj 540 135 speaker 48;
#X obj 540 175 speaker 64;
#X obj 539 154 speaker 56;
#X text 1 200 represent speaker. The connection of speaker and hardware
out can be configurable. Thus the numbers above are NOT hardware out
channels.;
#X restore 27 114 pd Speakers;
#N canvas 1034 483 393 344 IDs 0;
#N canvas 288 241 727 458 testID 0;
#X obj 478 163 switch~;
#X obj 478 118 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 477 51 loadbang;
#X msg 478 87 0;
#X obj 231 70 noise~;
#X text 274 95 - 6dB;
#X obj 315 51 r ID;
#X obj 315 96 route 0;
#X obj 311 141 route position activate;
#X obj 433 244 print IDActivation;
#X obj 408 276 print IDDeactivation;
#X obj 408 209 route 0 1;
#X obj 408 179 pack 0 \$1;
#X obj 348 181 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 231 97 *~ 0.1;
#X obj 293 208 sel 1;
#X obj 333 212 t f f;
#X msg 286 236 0;
#X obj 229 263 VBAPModule 0;
#X obj 41 158 == 1;
#X obj 126 157 == 0;
#X obj 137 105 loadbang;
#X msg 137 130 0;
#X obj 212 213 *~;
#X obj 71 96 r HRTF;
#X obj 42 312 *~;
#X obj 43 372 throw~ hrtfL;
#X obj 130 372 throw~ hrtfR;
#N canvas 0 22 450 300 HRTF 0;
#X obj 133 105 unpack 0 0;
#X obj 133 164 pack 0 25;
#X obj 197 167 pack 0 25;
#X obj 195 189 line 0 5;
#X obj 130 186 line 0 5;
#N canvas 0 22 450 300 hrtf_convert 0;
#X obj 133 119 * -1;
#X obj 131 166 + 360;
#X obj 131 141 moses 0;
#X obj 136 71 inlet;
#X obj 136 205 outlet;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 1 0;
#X connect 2 1 4 0;
#X connect 3 0 0 0;
#X restore 132 138 pd hrtf_convert;
#X obj 40 112 inlet~;
#X obj 88 250 outlet~;
#X obj 146 247 outlet~;
#X obj 282 147 switch~;
#X obj 281 122 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 307 105 0;
#X obj 346 73 loadbang;
#X obj 278 70 r HRTF;
#X obj 135 65 inlet;
#X text 103 215 hrtf;
#X connect 0 0 5 0;
#X connect 0 1 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 5 0 1 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 13 0 10 0;
#X connect 14 0 0 0;
#X restore 43 341 pd HRTF;
#X connect 1 0 0 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 14 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 18 1;
#X connect 8 0 28 1;
#X connect 8 1 1 0;
#X connect 8 1 13 0;
#X connect 11 0 10 0;
#X connect 11 1 9 0;
#X connect 12 0 11 0;
#X connect 13 0 16 0;
#X connect 14 0 23 1;
#X connect 14 0 25 1;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 16 1 18 3;
#X connect 17 0 18 2;
#X connect 19 0 25 0;
#X connect 20 0 23 0;
#X connect 21 0 22 0;
#X connect 22 0 20 0;
#X connect 23 0 18 0;
#X connect 24 0 19 0;
#X connect 24 0 20 0;
#X connect 25 0 28 0;
#X connect 28 0 26 0;
#X connect 28 1 27 0;
#X restore 244 196 pd testID;
#X obj 26 24 ID 1;
#X text 28 201 represents each ID (sound object);
#X obj 237 24 ID 7;
#X obj 96 42 ID 11;
#X obj 61 24 ID 2;
#X obj 26 42 ID 9;
#X obj 96 24 ID 3;
#X obj 131 24 ID 4;
#X obj 167 24 ID 5;
#X obj 202 24 ID 6;
#X obj 272 24 ID 8;
#X obj 61 42 ID 10;
#X obj 131 42 ID 12;
#X obj 167 42 ID 13;
#X obj 202 42 ID 14;
#X obj 237 42 ID 15;
#X obj 272 42 ID 16;
#X obj 26 61 ID 17;
#X obj 61 61 ID 18;
#X obj 96 61 ID 19;
#X obj 131 61 ID 20;
#X obj 167 61 ID 21;
#X obj 202 61 ID 22;
#X obj 237 61 ID 23;
#X obj 272 61 ID 24;
#X obj 26 79 ID 25;
#X obj 61 80 ID 26;
#X obj 96 80 ID 27;
#X obj 131 80 ID 28;
#X obj 167 80 ID 29;
#X obj 202 80 ID 30;
#X obj 237 80 ID 31;
#X obj 272 80 ID 32;
#X obj 25 100 ID 33;
#X obj 60 100 ID 34;
#X obj 95 100 ID 35;
#X obj 130 100 ID 36;
#X obj 166 100 ID 37;
#X obj 201 100 ID 38;
#X obj 236 100 ID 39;
#X obj 271 100 ID 40;
#X obj 25 118 ID 41;
#X obj 60 118 ID 42;
#X obj 95 118 ID 43;
#X obj 130 118 ID 44;
#X obj 166 118 ID 45;
#X obj 201 118 ID 46;
#X obj 236 118 ID 47;
#X obj 271 118 ID 48;
#X obj 25 137 ID 49;
#X obj 60 137 ID 50;
#X obj 95 137 ID 51;
#X obj 130 137 ID 52;
#X obj 166 137 ID 53;
#X obj 201 137 ID 54;
#X obj 236 137 ID 55;
#X obj 271 137 ID 56;
#X obj 25 155 ID 57;
#X obj 60 156 ID 58;
#X obj 90 156 ID 59;
#X obj 130 156 ID 60;
#X obj 166 156 ID 61;
#X obj 201 156 ID 62;
#X obj 236 156 ID 63;
#X obj 271 156 ID 64;
#X restore 27 91 pd IDs;
#X connect 2 0 0 0;
#X connect 3 0 5 0;
#X connect 4 0 5 1;<commit_msg>added declare local path & DEBUG messaging print<commit_after>#N canvas 544 154 429 191 10;
#X declare -path .;
#N canvas 541 437 689 376 command_interpretation 0;
#X obj 131 6 inlet;
#N canvas 324 117 272 250 PropertiesOfAudioFile 0;
#X obj 29 39 inlet;
#X obj 61 181 readsf~;
#X obj 61 134 list prepend open;
#X obj 61 157 list trim;
#X obj 29 73 t b a;
#X msg 28 112 print;
#X obj 180 133 openpanel;
#X obj 180 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 180 164 open \$1;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 4 1 2 0;
#X connect 5 0 1 0;
#X connect 6 0 8 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X restore 131 92 pd PropertiesOfAudioFile;
#N canvas 469 273 681 649 Transport 0;
#X obj 85 4 inlet;
#X obj 29 186 bang~;
#X obj 55 232 f;
#X obj 55 269 + 64;
#X obj 56 327 / 44100;
#X text 10 360 elapsed time;
#X obj 178 415 +;
#X obj 163 586 s toZTE;
#X text 219 385 offset Time;
#X obj 353 61 print Transport_unknown_message;
#X obj 95 299 r SampleRate;
#X obj 163 490 f;
#X obj 56 391 t b f;
#X obj 94 422 + 1;
#X obj 56 423 f;
#X msg 8 442 0, f 4;
#X obj 56 473 sel 25;
#X obj 253 69 r SampleRate;
#X text 296 108 fps;
#X floatatom 253 145 5 0 0 0 - - -, f 5;
#X text 301 140 samples per frame;
#X obj 253 180 / 64;
#X floatatom 253 218 5 0 0 0 - - -, f 5;
#X obj 253 241 i;
#X obj 253 269 print update_skip;
#X obj 253 107 / 30;
#X msg 92 175 64;
#X msg 150 174 0;
#X text 299 215 number of blocks per refresh;
#X obj 86 32 route play poll setCurrentTime refreshRate;
#X obj 131 223 t b f;
#X msg 87 229 0;
#X msg 435 513 set poll;
#X obj 141 104 t b b;
#X obj 88 108 t b b;
#X msg 247 513 set currentTime \, adddollar 1;
#X msg 163 559 poll;
#X obj 84 564 send poll;
#X obj 58 537 t b b;
#X text 12 155 master clock;
#X connect 0 0 29 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 2 1;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 6 0 11 1;
#X connect 10 0 4 1;
#X connect 11 0 36 0;
#X connect 12 0 14 0;
#X connect 12 1 6 0;
#X connect 13 0 14 1;
#X connect 14 0 13 0;
#X connect 14 0 16 0;
#X connect 15 0 14 1;
#X connect 16 0 15 0;
#X connect 16 0 38 0;
#X connect 17 0 25 0;
#X connect 19 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 23 0 16 1;
#X connect 25 0 19 0;
#X connect 26 0 30 0;
#X connect 27 0 30 0;
#X connect 29 0 34 0;
#X connect 29 1 33 0;
#X connect 29 2 6 1;
#X connect 29 3 25 1;
#X connect 29 4 9 0;
#X connect 30 0 31 0;
#X connect 30 1 3 1;
#X connect 31 0 2 1;
#X connect 32 0 36 0;
#X connect 33 0 27 0;
#X connect 33 1 32 0;
#X connect 34 0 26 0;
#X connect 34 1 35 0;
#X connect 35 0 36 0;
#X connect 36 0 7 0;
#X connect 38 0 11 0;
#X connect 38 1 37 0;
#X restore 161 111 pd Transport;
#N canvas 98 41 748 532 AudioFileInspection 0;
#X obj 102 16 inlet;
#X obj 119 244 soundfiler;
#X obj 101 64 route loadToBuffer freeBuffer;
#X msg 186 311 buffer freed;
#X msg 5 223 buffer loaded;
#X obj 119 272 list prepend number of samples;
#X obj 6 122 t b a;
#X obj 119 308 list trim;
#X obj 119 402 print PDmemory;
#X obj 119 371 spigot;
#X obj 193 346 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 440 261 table fileInspectionBuffer1;
#X obj 440 280 table fileInspectionBuffer2;
#X msg 119 166 read -maxsize \$1 -skip \$2 -resize \$3 fileInspectionBuffer1
fileInspectionBuffer2 fileInspectionBuffer3 fileInspectionBuffer4 fileInspectionBuffer5
fileInspectionBuffer6 fileInspectionBuffer7 fileInspectionBuffer8;
#X obj 440 299 table fileInspectionBuffer3;
#X obj 440 318 table fileInspectionBuffer4;
#X obj 440 337 table fileInspectionBuffer5;
#X obj 440 356 table fileInspectionBuffer6;
#X obj 440 375 table fileInspectionBuffer7;
#X obj 440 394 table fileInspectionBuffer8;
#X msg 500 81 \; fileInspectionBuffer1 resize 0 \; fileInspectionBuffer2
resize 0 \; fileInspectionBuffer3 resize 0 \; fileInspectionBuffer4
resize 0 \; fileInspectionBuffer5 resize 0 \; fileInspectionBuffer6
resize 0 \; fileInspectionBuffer7 resize 0 \; fileInspectionBuffer8
resize 0 \;;
#X text 165 16 This functionality is exclusively used for creating
waveform representation in ZTE;
#X connect 0 0 2 0;
#X connect 1 0 5 0;
#X connect 2 0 6 0;
#X connect 2 1 20 0;
#X connect 2 1 3 0;
#X connect 3 0 9 0;
#X connect 4 0 9 0;
#X connect 5 0 7 0;
#X connect 6 0 4 0;
#X connect 6 1 13 0;
#X connect 7 0 9 0;
#X connect 9 0 8 0;
#X connect 10 0 9 1;
#X connect 13 0 1 0;
#X restore 192 132 pd AudioFileInspection;
#X obj 223 152 s SampleRate;
#X obj 254 172 s ID;
#X obj 287 187 s Speaker;
#X obj 346 224 s vbapMapping;
#X obj 315 204 s SpeakerDef;
#N canvas 580 415 649 501 vbap 0;
#X obj 129 259 s vbapDef;
#X obj 131 204 define_loudspeakers 2 0 45 90 135;
#X obj 133 152 list prepend ls-directions;
#X text 342 193 <- dummy;
#X obj 81 73 t b a;
#X obj 132 177 list trim;
#N canvas 393 359 476 606 convert 0;
#X obj 112 14 inlet;
#X obj 149 562 outlet;
#X obj 221 195 until;
#X obj 221 233 list append;
#X obj 313 238 bang;
#X obj 221 263 list split 2;
#X obj 220 287 unpack 0 0;
#X obj 217 357 circlewrap;
#X obj 222 380 pack 0 0;
#X obj 203 440 list append;
#X obj 323 415 t l;
#X obj 221 406 list prepend;
#X obj 202 167 t b b l b;
#X obj 143 525 list prepend;
#X obj 74 200 until;
#X obj 74 238 list append;
#X obj 166 243 bang;
#X obj 70 362 circlewrap;
#X obj 56 445 list append;
#X obj 176 420 t l;
#X obj 74 411 list prepend;
#X obj 55 172 t b b l b;
#X obj 74 268 list split 1;
#X obj 222 309 * -1;
#X obj 222 330 + 90;
#X obj 75 314 * -1;
#X obj 75 335 + 90;
#X obj 107 98 route 2 3;
#X obj 232 488 list prepend 3;
#X obj 72 484 list prepend 2;
#X connect 0 0 27 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 2 1;
#X connect 5 0 6 0;
#X connect 5 1 3 1;
#X connect 5 2 4 0;
#X connect 6 0 23 0;
#X connect 6 1 8 1;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 9 0 28 0;
#X connect 10 0 11 1;
#X connect 11 0 10 0;
#X connect 11 0 9 1;
#X connect 12 0 9 0;
#X connect 12 1 2 0;
#X connect 12 2 3 1;
#X connect 12 3 11 1;
#X connect 13 0 1 0;
#X connect 14 0 15 0;
#X connect 15 0 22 0;
#X connect 16 0 14 1;
#X connect 17 0 20 0;
#X connect 18 0 29 0;
#X connect 19 0 20 1;
#X connect 20 0 19 0;
#X connect 20 0 18 1;
#X connect 21 0 18 0;
#X connect 21 1 14 0;
#X connect 21 2 15 1;
#X connect 21 3 20 1;
#X connect 22 0 25 0;
#X connect 22 1 15 1;
#X connect 22 2 16 0;
#X connect 23 0 24 0;
#X connect 24 0 7 0;
#X connect 25 0 26 0;
#X connect 26 0 17 0;
#X connect 27 0 21 0;
#X connect 27 1 12 0;
#X connect 28 0 13 0;
#X connect 29 0 13 0;
#X restore 133 118 pd convert;
#X obj 369 410 s toZTE;
#X obj 244 301 route selectedTriplet;
#X obj 368 361 list prepend triplet;
#X obj 368 386 list trim;
#X obj 367 337 list prepend -1;
#X obj 81 42 r SpeakerDef;
#X obj 222 255 zirkvbap;
#X connect 1 0 0 0;
#X connect 1 0 13 0;
#X connect 2 0 5 0;
#X connect 4 0 1 0;
#X connect 4 1 6 0;
#X connect 5 0 1 0;
#X connect 6 0 2 0;
#X connect 8 1 11 0;
#X connect 9 0 10 0;
#X connect 10 0 7 0;
#X connect 11 0 9 0;
#X connect 12 0 4 0;
#X connect 13 4 8 0;
#X restore 81 252 pd vbap;
#N canvas 0 22 459 366 speakerNum 0;
#X obj 250 42 r SpeakerDef;
#X obj 212 127 list length;
#X floatatom 214 172 5 0 0 0 - - -, f 5;
#X obj 214 201 - 1;
#X text 20 193 because first one is dimension;
#X obj 246 67 t l l;
#X msg 304 128 \$1;
#X obj 309 166 sel 2 3;
#X msg 310 228 1;
#X msg 345 228 2;
#X obj 218 247 / 1;
#X floatatom 216 273 5 0 0 0 - - -, f 5;
#X obj 217 296 s NumSpeakers;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 5 0 1 0;
#X connect 5 1 6 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 10 1;
#X connect 9 0 10 1;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X restore 136 252 pd speakerNum;
#X obj 377 244 s HRTF;
#N canvas 0 22 450 300 Report 0;
#X obj 79 75 inlet;
#X obj 79 122 route enableIDLevelReport enableSpeakerLevelReport;
#X obj 76 161 s IDLevelReport;
#X obj 219 161 s SpeakerLevelReport;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X restore 408 265 pd Report;
#X obj 131 34 route PropertiesOfAudioFile Transport AudioFileInspection
SampleRate ID Speaker SpeakerDef vbapMapping hrtf Report SoundFile
;
#X obj 439 287 s SoundFile;
#X obj 470 130 print error-invalidCommand;
#X text 80 306 distributes commands from the Trajectory Editor;
#X obj 545 9 inlet;
#X obj 512 33 spigot;
#X obj 512 60 print DEBUG;
#X connect 0 0 13 0;
#X connect 0 0 18 0;
#X connect 13 0 1 0;
#X connect 13 1 2 0;
#X connect 13 2 3 0;
#X connect 13 3 4 0;
#X connect 13 4 5 0;
#X connect 13 5 6 0;
#X connect 13 6 8 0;
#X connect 13 7 7 0;
#X connect 13 8 11 0;
#X connect 13 9 12 0;
#X connect 13 10 14 0;
#X connect 13 11 15 0;
#X connect 17 0 18 1;
#X connect 18 0 19 0;
#X restore 29 37 pd command_interpretation;
#N canvas 0 23 334 232 report 0;
#X obj 40 20 loadbang;
#X obj 40 96 print;
#X obj 40 130 loadbang;
#X msg 40 159 \; pd dsp 1;
#X obj 59 71 r pd;
#X msg 40 46 Zirkonium Spatialization Server ver3.1;
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X restore 350 60 pd report;
#X obj 29 12 r fromZTE;
#X obj 252 8 catch~ hrtfL;
#X obj 331 8 catch~ hrtfR;
#X obj 295 37 dac~;
#X text 181 73 source layer;
#X text 181 95 ID (sound object) layer;
#X text 181 144 Hardware output layer;
#X text 182 119 Virtual speaker layer;
#N canvas 155 313 727 389 sfplayers 0;
#X obj 17 12 sfplayer 0;
#X obj 17 34 sfplayer 1;
#X obj 17 56 sfplayer 2;
#X obj 17 78 sfplayer 3;
#X obj 17 100 sfplayer 4;
#X obj 17 122 sfplayer 5;
#X obj 17 144 sfplayer 6;
#X obj 17 166 sfplayer 7;
#X obj 17 188 sfplayer 8;
#X obj 17 210 sfplayer 9;
#X obj 17 232 sfplayer 10;
#X obj 17 254 sfplayer 11;
#X obj 17 276 sfplayer 12;
#X obj 17 298 sfplayer 13;
#X obj 17 320 sfplayer 14;
#X obj 17 342 sfplayer 15;
#X obj 98 13 sfplayer 16;
#X obj 98 35 sfplayer 17;
#X obj 98 57 sfplayer 18;
#X obj 98 79 sfplayer 19;
#X obj 98 101 sfplayer 20;
#X obj 98 123 sfplayer 21;
#X obj 98 145 sfplayer 22;
#X obj 98 167 sfplayer 23;
#X obj 98 190 sfplayer 24;
#X obj 98 212 sfplayer 25;
#X obj 98 234 sfplayer 26;
#X obj 98 256 sfplayer 27;
#X obj 98 278 sfplayer 28;
#X obj 98 300 sfplayer 29;
#X obj 98 322 sfplayer 30;
#X obj 98 344 sfplayer 31;
#X text 338 28 sound file players;
#X text 336 85 you can play upto 64 files at the same time. Audio signal
from the sound file will be sent to "receive~ playerID channelID".
Note \, channel ID starts from 1 playerID starts from 0;
#X obj 175 12 sfplayer 32;
#X obj 175 34 sfplayer 33;
#X obj 175 56 sfplayer 34;
#X obj 175 78 sfplayer 35;
#X obj 175 100 sfplayer 36;
#X obj 175 122 sfplayer 37;
#X obj 175 144 sfplayer 38;
#X obj 175 166 sfplayer 39;
#X obj 175 188 sfplayer 40;
#X obj 175 210 sfplayer 41;
#X obj 175 232 sfplayer 42;
#X obj 175 254 sfplayer 43;
#X obj 175 276 sfplayer 44;
#X obj 175 298 sfplayer 45;
#X obj 175 320 sfplayer 46;
#X obj 175 342 sfplayer 47;
#X obj 256 13 sfplayer 48;
#X obj 256 35 sfplayer 49;
#X obj 256 57 sfplayer 50;
#X obj 256 79 sfplayer 51;
#X obj 256 101 sfplayer 52;
#X obj 256 123 sfplayer 53;
#X obj 256 145 sfplayer 54;
#X obj 256 167 sfplayer 55;
#X obj 256 190 sfplayer 56;
#X obj 256 212 sfplayer 57;
#X obj 256 234 sfplayer 58;
#X obj 256 256 sfplayer 59;
#X obj 255 278 sfplayer 60;
#X obj 256 300 sfplayer 61;
#X obj 256 322 sfplayer 62;
#X obj 256 344 sfplayer 63;
#X restore 93 70 pd sfplayers;
#N canvas 269 148 920 628 inputs 0;
#X obj 73 74 send~ in1;
#X obj 89 95 send~ in2;
#X obj 74 13 send~ noinput;
#X obj 105 117 send~ in3;
#X obj 120 139 send~ in4;
#X obj 137 161 send~ in5;
#X obj 156 183 send~ in6;
#X obj 173 204 send~ in7;
#X obj 190 224 send~ in8;
#X obj 209 75 send~ in9;
#X obj 225 96 send~ in10;
#X obj 243 118 send~ in11;
#X obj 262 140 send~ in12;
#X obj 278 163 send~ in13;
#X obj 294 184 send~ in14;
#X obj 311 205 send~ in15;
#X obj 330 224 send~ in16;
#X obj 73 43 adc~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#X obj 356 43 adc~ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
;
#X obj 356 74 send~ in17;
#X obj 376 95 send~ in18;
#X obj 395 117 send~ in19;
#X obj 416 139 send~ in20;
#X obj 438 161 send~ in21;
#X obj 459 183 send~ in22;
#X obj 479 204 send~ in23;
#X obj 505 226 send~ in24;
#X obj 521 78 send~ in25;
#X obj 542 99 send~ in26;
#X obj 562 121 send~ in27;
#X obj 582 143 send~ in28;
#X obj 603 165 send~ in29;
#X obj 623 187 send~ in30;
#X obj 646 208 send~ in31;
#X obj 666 227 send~ in32;
#X text 64 546 input from the hardware. Max 64 channels. You can find
receive~ in ID;
#X obj 63 283 adc~ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
;
#X obj 63 314 send~ in33;
#X obj 83 335 send~ in34;
#X obj 104 357 send~ in35;
#X obj 124 379 send~ in36;
#X obj 141 401 send~ in37;
#X obj 166 423 send~ in38;
#X obj 183 444 send~ in39;
#X obj 206 464 send~ in40;
#X obj 227 311 send~ in41;
#X obj 247 333 send~ in42;
#X obj 269 356 send~ in43;
#X obj 291 380 send~ in44;
#X obj 309 400 send~ in45;
#X obj 329 420 send~ in46;
#X obj 349 439 send~ in47;
#X obj 371 460 send~ in48;
#X obj 411 284 adc~ 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
;
#X obj 411 315 send~ in49;
#X obj 431 336 send~ in50;
#X obj 450 358 send~ in51;
#X obj 471 380 send~ in52;
#X obj 493 402 send~ in53;
#X obj 514 424 send~ in54;
#X obj 534 445 send~ in55;
#X obj 556 465 send~ in56;
#X obj 575 319 send~ in57;
#X obj 597 340 send~ in58;
#X obj 617 362 send~ in59;
#X obj 637 384 send~ in60;
#X obj 658 406 send~ in61;
#X obj 678 428 send~ in62;
#X obj 701 449 send~ in63;
#X obj 721 468 send~ in64;
#X connect 17 0 0 0;
#X connect 17 1 1 0;
#X connect 17 2 3 0;
#X connect 17 3 4 0;
#X connect 17 4 5 0;
#X connect 17 5 6 0;
#X connect 17 6 7 0;
#X connect 17 7 8 0;
#X connect 17 8 9 0;
#X connect 17 9 10 0;
#X connect 17 10 11 0;
#X connect 17 11 12 0;
#X connect 17 12 13 0;
#X connect 17 13 14 0;
#X connect 17 14 15 0;
#X connect 17 15 16 0;
#X connect 18 0 19 0;
#X connect 18 1 20 0;
#X connect 18 2 21 0;
#X connect 18 3 22 0;
#X connect 18 4 23 0;
#X connect 18 5 24 0;
#X connect 18 6 25 0;
#X connect 18 7 26 0;
#X connect 18 8 27 0;
#X connect 18 9 28 0;
#X connect 18 10 29 0;
#X connect 18 11 30 0;
#X connect 18 12 31 0;
#X connect 18 13 32 0;
#X connect 18 14 33 0;
#X connect 18 15 34 0;
#X connect 36 0 37 0;
#X connect 36 1 38 0;
#X connect 36 2 39 0;
#X connect 36 3 40 0;
#X connect 36 4 41 0;
#X connect 36 5 42 0;
#X connect 36 6 43 0;
#X connect 36 7 44 0;
#X connect 36 8 45 0;
#X connect 36 9 46 0;
#X connect 36 10 47 0;
#X connect 36 11 48 0;
#X connect 36 12 49 0;
#X connect 36 13 50 0;
#X connect 36 14 51 0;
#X connect 36 15 52 0;
#X connect 53 0 54 0;
#X connect 53 1 55 0;
#X connect 53 2 56 0;
#X connect 53 3 57 0;
#X connect 53 4 58 0;
#X connect 53 5 59 0;
#X connect 53 6 60 0;
#X connect 53 7 61 0;
#X connect 53 8 62 0;
#X connect 53 9 63 0;
#X connect 53 10 64 0;
#X connect 53 11 65 0;
#X connect 53 12 66 0;
#X connect 53 13 67 0;
#X connect 53 14 68 0;
#X connect 53 15 69 0;
#X restore 28 70 pd inputs;
#N canvas 159 321 440 234 Hardware_out 0;
#X obj 17 42 hout 1;
#X obj 63 42 hout 2;
#X obj 113 42 hout 3;
#X obj 163 42 hout 4;
#X obj 213 42 hout 5;
#X obj 263 42 hout 6;
#X obj 314 42 hout 7;
#X obj 365 42 hout 8;
#X obj 17 61 hout 9;
#X obj 63 61 hout 10;
#X obj 113 61 hout 11;
#X obj 163 61 hout 12;
#X obj 213 61 hout 13;
#X obj 263 61 hout 14;
#X obj 314 61 hout 15;
#X obj 365 61 hout 16;
#X text 17 8 hardware out | max 64 channels;
#X obj 17 80 hout 17;
#X obj 63 80 hout 18;
#X obj 113 80 hout 19;
#X obj 163 80 hout 20;
#X obj 213 80 hout 21;
#X obj 263 80 hout 22;
#X obj 314 80 hout 23;
#X obj 365 80 hout 24;
#X obj 17 99 hout 25;
#X obj 63 99 hout 26;
#X obj 113 99 hout 27;
#X obj 163 99 hout 28;
#X obj 213 99 hout 29;
#X obj 263 99 hout 30;
#X obj 314 99 hout 31;
#X obj 365 99 hout 32;
#X obj 17 118 hout 33;
#X obj 63 118 hout 34;
#X obj 113 118 hout 35;
#X obj 163 118 hout 36;
#X obj 213 118 hout 37;
#X obj 263 118 hout 38;
#X obj 314 118 hout 39;
#X obj 365 118 hout 40;
#X obj 17 137 hout 41;
#X obj 63 137 hout 42;
#X obj 113 137 hout 43;
#X obj 163 137 hout 44;
#X obj 213 137 hout 45;
#X obj 263 137 hout 46;
#X obj 314 137 hout 47;
#X obj 365 137 hout 48;
#X obj 17 156 hout 49;
#X obj 63 156 hout 50;
#X obj 113 156 hout 51;
#X obj 163 156 hout 52;
#X obj 213 156 hout 53;
#X obj 263 156 hout 54;
#X obj 314 156 hout 55;
#X obj 365 156 hout 56;
#X obj 17 175 hout 57;
#X obj 63 175 hout 58;
#X obj 113 175 hout 59;
#X obj 163 175 hout 60;
#X obj 213 175 hout 61;
#X obj 263 175 hout 62;
#X obj 314 175 hout 63;
#X obj 365 175 hout 64;
#X restore 27 139 pd Hardware_out;
#N canvas 230 342 721 259 Speakers 0;
#X obj 614 30 catch~ out0;
#X obj 312 34 speaker 5;
#X obj 84 35 speaker 2;
#X obj 5 34 speaker 1;
#X obj 158 35 speaker 3;
#X obj 231 36 speaker 4;
#X obj 388 35 speaker 6;
#X obj 466 35 speaker 7;
#X obj 540 35 speaker 8;
#X obj 5 54 speaker 9;
#X obj 5 74 speaker 17;
#X obj 5 94 speaker 25;
#X obj 5 114 speaker 33;
#X obj 5 134 speaker 41;
#X obj 5 154 speaker 49;
#X obj 5 174 speaker 57;
#X obj 84 54 speaker 10;
#X obj 84 74 speaker 18;
#X obj 84 94 speaker 26;
#X obj 84 114 speaker 34;
#X obj 158 55 speaker 11;
#X obj 231 56 speaker 12;
#X obj 313 55 speaker 13;
#X obj 388 55 speaker 14;
#X obj 466 55 speaker 15;
#X obj 540 55 speaker 16;
#X obj 158 75 speaker 19;
#X obj 158 95 speaker 27;
#X obj 158 115 speaker 35;
#X obj 158 135 speaker 43;
#X obj 158 155 speaker 51;
#X obj 158 175 speaker 59;
#X obj 84 134 speaker 42;
#X obj 84 154 speaker 50;
#X obj 84 174 speaker 58;
#X obj 230 76 speaker 20;
#X obj 231 96 speaker 28;
#X obj 231 116 speaker 36;
#X obj 231 136 speaker 44;
#X obj 231 156 speaker 52;
#X obj 231 176 speaker 60;
#X obj 313 75 speaker 21;
#X obj 313 95 speaker 29;
#X obj 313 115 speaker 37;
#X obj 313 135 speaker 45;
#X obj 313 155 speaker 53;
#X obj 313 175 speaker 61;
#X obj 388 75 speaker 22;
#X obj 388 95 speaker 30;
#X obj 388 115 speaker 38;
#X obj 388 135 speaker 46;
#X obj 388 155 speaker 54;
#X obj 388 175 speaker 62;
#X obj 466 75 speaker 23;
#X obj 466 95 speaker 31;
#X obj 466 115 speaker 39;
#X obj 466 135 speaker 47;
#X obj 466 155 speaker 55;
#X obj 466 175 speaker 63;
#X obj 540 75 speaker 24;
#X obj 540 95 speaker 32;
#X obj 540 115 speaker 40;
#X obj 540 135 speaker 48;
#X obj 540 175 speaker 64;
#X obj 539 154 speaker 56;
#X text 1 200 represent speaker. The connection of speaker and hardware
out can be configurable. Thus the numbers above are NOT hardware out
channels.;
#X restore 27 114 pd Speakers;
#N canvas 1034 483 393 344 IDs 0;
#N canvas 288 241 727 458 testID 0;
#X obj 478 163 switch~;
#X obj 478 118 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 477 51 loadbang;
#X msg 478 87 0;
#X obj 231 70 noise~;
#X text 274 95 - 6dB;
#X obj 315 51 r ID;
#X obj 315 96 route 0;
#X obj 311 141 route position activate;
#X obj 433 244 print IDActivation;
#X obj 408 276 print IDDeactivation;
#X obj 408 209 route 0 1;
#X obj 408 179 pack 0 \$1;
#X obj 348 181 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 231 97 *~ 0.1;
#X obj 293 208 sel 1;
#X obj 333 212 t f f;
#X msg 286 236 0;
#X obj 229 263 VBAPModule 0;
#X obj 41 158 == 1;
#X obj 126 157 == 0;
#X obj 137 105 loadbang;
#X msg 137 130 0;
#X obj 212 213 *~;
#X obj 71 96 r HRTF;
#X obj 42 312 *~;
#X obj 43 372 throw~ hrtfL;
#X obj 130 372 throw~ hrtfR;
#N canvas 0 22 450 300 HRTF 0;
#X obj 133 105 unpack 0 0;
#X obj 133 164 pack 0 25;
#X obj 197 167 pack 0 25;
#X obj 195 189 line 0 5;
#X obj 130 186 line 0 5;
#N canvas 0 22 450 300 hrtf_convert 0;
#X obj 133 119 * -1;
#X obj 131 166 + 360;
#X obj 131 141 moses 0;
#X obj 136 71 inlet;
#X obj 136 205 outlet;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 1 0;
#X connect 2 1 4 0;
#X connect 3 0 0 0;
#X restore 132 138 pd hrtf_convert;
#X obj 40 112 inlet~;
#X obj 88 250 outlet~;
#X obj 146 247 outlet~;
#X obj 282 147 switch~;
#X obj 281 122 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 307 105 0;
#X obj 346 73 loadbang;
#X obj 278 70 r HRTF;
#X obj 135 65 inlet;
#X text 103 215 hrtf;
#X connect 0 0 5 0;
#X connect 0 1 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 5 0 1 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 13 0 10 0;
#X connect 14 0 0 0;
#X restore 43 341 pd HRTF;
#X connect 1 0 0 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 14 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 18 1;
#X connect 8 0 28 1;
#X connect 8 1 1 0;
#X connect 8 1 13 0;
#X connect 11 0 10 0;
#X connect 11 1 9 0;
#X connect 12 0 11 0;
#X connect 13 0 16 0;
#X connect 14 0 23 1;
#X connect 14 0 25 1;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 16 1 18 3;
#X connect 17 0 18 2;
#X connect 19 0 25 0;
#X connect 20 0 23 0;
#X connect 21 0 22 0;
#X connect 22 0 20 0;
#X connect 23 0 18 0;
#X connect 24 0 19 0;
#X connect 24 0 20 0;
#X connect 25 0 28 0;
#X connect 28 0 26 0;
#X connect 28 1 27 0;
#X restore 244 196 pd testID;
#X obj 26 24 ID 1;
#X text 28 201 represents each ID (sound object);
#X obj 237 24 ID 7;
#X obj 96 42 ID 11;
#X obj 61 24 ID 2;
#X obj 26 42 ID 9;
#X obj 96 24 ID 3;
#X obj 131 24 ID 4;
#X obj 167 24 ID 5;
#X obj 202 24 ID 6;
#X obj 272 24 ID 8;
#X obj 61 42 ID 10;
#X obj 131 42 ID 12;
#X obj 167 42 ID 13;
#X obj 202 42 ID 14;
#X obj 237 42 ID 15;
#X obj 272 42 ID 16;
#X obj 26 61 ID 17;
#X obj 61 61 ID 18;
#X obj 96 61 ID 19;
#X obj 131 61 ID 20;
#X obj 167 61 ID 21;
#X obj 202 61 ID 22;
#X obj 237 61 ID 23;
#X obj 272 61 ID 24;
#X obj 26 79 ID 25;
#X obj 61 80 ID 26;
#X obj 96 80 ID 27;
#X obj 131 80 ID 28;
#X obj 167 80 ID 29;
#X obj 202 80 ID 30;
#X obj 237 80 ID 31;
#X obj 272 80 ID 32;
#X obj 25 100 ID 33;
#X obj 60 100 ID 34;
#X obj 95 100 ID 35;
#X obj 130 100 ID 36;
#X obj 166 100 ID 37;
#X obj 201 100 ID 38;
#X obj 236 100 ID 39;
#X obj 271 100 ID 40;
#X obj 25 118 ID 41;
#X obj 60 118 ID 42;
#X obj 95 118 ID 43;
#X obj 130 118 ID 44;
#X obj 166 118 ID 45;
#X obj 201 118 ID 46;
#X obj 236 118 ID 47;
#X obj 271 118 ID 48;
#X obj 25 137 ID 49;
#X obj 60 137 ID 50;
#X obj 95 137 ID 51;
#X obj 130 137 ID 52;
#X obj 166 137 ID 53;
#X obj 201 137 ID 54;
#X obj 236 137 ID 55;
#X obj 271 137 ID 56;
#X obj 25 155 ID 57;
#X obj 60 156 ID 58;
#X obj 90 156 ID 59;
#X obj 130 156 ID 60;
#X obj 166 156 ID 61;
#X obj 201 156 ID 62;
#X obj 236 156 ID 63;
#X obj 271 156 ID 64;
#X restore 27 91 pd IDs;
#X obj 322 143 declare -path .;
#X obj 176 13 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X connect 2 0 0 0;
#X connect 3 0 5 0;
#X connect 4 0 5 1;
#X connect 16 0 0 1;
{'fraction_non_alphanumeric': 0.08477033930443706, 'fraction_numerical': 0.2504517366765565, 'mean_word_length': 3.0860450278005653, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3176389', 'n_tokens_mistral': 28364, 'n_tokens_neox': 17322, 'n_words': 10721}