aboutsummaryrefslogtreecommitdiff
path: root/rvbap-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'rvbap-help.pd')
-rw-r--r--rvbap-help.pd278
1 files changed, 278 insertions, 0 deletions
diff --git a/rvbap-help.pd b/rvbap-help.pd
new file mode 100644
index 0000000..e9365c6
--- /dev/null
+++ b/rvbap-help.pd
@@ -0,0 +1,278 @@
+#N canvas 243 71 910 727 10;
+#X obj 98 144 define_loudspeakers 3 -45 0 45 0 0 45 180 45;
+#X msg 32 62 bang;
+#X floatatom 136 276 5 0 0 2 azi - -;
+#X floatatom 180 276 5 0 0 2 ele - -;
+#X floatatom 224 276 5 0 100 2 spread - -;
+#X msg 115 173 bang;
+#X text 428 201 In two dimensions \, only specify the azimuth. (for
+example "define_loudspeakers 2 -45 45 0 180";
+#X text 63 21 VBAP and define_loudspeakers;
+#X text 430 338 The spread-parameter can be used to prevent a situation
+where sound is coming from one speaker only \, which would make speaker
+positions "visible". The range is 0 to 100;
+#X text 231 410 actual location;
+#X obj 115 350 rvbap 0 0;
+#X floatatom 277 277 5 1 20 2 dist - -;
+#X text 131 241 azimuth \, elevation \, spread and distance;
+#X msg 98 119 bang;
+#X text 428 111 1) Use define_loudspeakers to list the speaker positions.
+The example here defines loudspeakers in three dimensions (the first
+parameter). For each speaker \, define its azimuth and elevation. Here
+we have speakers front left and right with no elevation (-45 0 45 0)
+and front and back with 45 degrees of elevation (0 45 180 45). Send
+the data to vbap.;
+#X floatatom 159 381 5 0 0 3 azi - -;
+#X floatatom 203 381 5 0 0 3 ele - -;
+#X floatatom 247 381 5 0 0 3 spread - -;
+#X floatatom 300 382 5 0 0 3 dist - -;
+#X floatatom 277 597 5 0 100 1 dB_after_1sec - -;
+#X obj 114 691 dac~ 1 2 3 4;
+#N canvas 0 0 699 527 sig 0;
+#X obj 58 72 line~;
+#X msg 58 49 0 \, 10000 5;
+#X obj 58 118 cos~;
+#X msg 146 70 1;
+#X obj 146 47 loadbang;
+#X obj 58 95 clip~ 0 0.25;
+#X obj 251 134 line~;
+#X obj 251 157 cos~;
+#X msg 324 54 -0.25 \, 0.25 100;
+#X obj 251 8 loadbang;
+#X msg 251 31 -0.25;
+#X obj 251 203 *~;
+#X obj 58 140 hip~ 5;
+#X msg 324 77 -0.25 \, 0.25 400;
+#X floatatom 324 145 0 0 0 0 - - -;
+#X obj 324 191 osc~ 440;
+#X obj 324 168 mtof;
+#X msg 324 31 -0.25 \, 0.25 20;
+#X obj 251 180 *~ 0.1;
+#X msg 324 100 -0.25 \, 0.25 1000;
+#X msg 324 122 -0.25 \, 0.25 2000;
+#X obj 324 226 *~;
+#X obj 342 252 *~;
+#X msg 324 8 0;
+#X obj 308 257 *~;
+#X obj 58 26 metro 2000;
+#X floatatom 58 4 0 0 0 0 - - -;
+#X text 1 51 impulse;
+#X text 362 7 tone;
+#X obj 59 184 outlet~;
+#X obj 170 6 inlet;
+#X obj 442 18 metro 500;
+#X obj 91 8 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 12 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 18 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 29 0;
+#X connect 13 0 6 0;
+#X connect 14 0 16 0;
+#X connect 15 0 11 1;
+#X connect 15 0 21 0;
+#X connect 15 0 21 1;
+#X connect 15 0 22 0;
+#X connect 16 0 15 0;
+#X connect 17 0 6 0;
+#X connect 18 0 11 0;
+#X connect 19 0 6 0;
+#X connect 20 0 6 0;
+#X connect 21 0 22 1;
+#X connect 21 0 11 1;
+#X connect 21 0 24 0;
+#X connect 21 0 24 1;
+#X connect 22 0 11 1;
+#X connect 23 0 6 0;
+#X connect 24 0 11 1;
+#X connect 25 0 1 0;
+#X connect 26 0 25 0;
+#X connect 30 0 31 0;
+#X connect 31 0 8 0;
+#X connect 32 0 25 0;
+#X restore 159 545 pd sig;
+#X obj 159 517 tgl 24 0 empty empty test-sigs 26 7 1 10 -262144 -1
+-1 0 1;
+#X obj 115 488 mtx 8 1;
+#N canvas 352 196 547 360 set-element 0;
+#X obj 70 81 unpack 0 0;
+#X obj 70 104 + 1;
+#X obj 70 137 pack 0 1 0;
+#X obj 70 179 list trim;
+#X obj 70 158 list prepend element;
+#X obj 70 59 inlet;
+#X obj 70 261 outlet;
+#X obj 70 221 t b a;
+#X text 48 33 transforms rvbap-output to be used with [mtx] from iemmatrix
+;
+#X connect 0 0 1 0;
+#X connect 0 1 2 2;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 7 0 6 0;
+#X connect 7 1 6 0;
+#X restore 115 464 pd set-element;
+#N canvas 203 642 802 273 peek 0;
+#X floatatom 55 198 10 0 0 0 - - -;
+#X floatatom 134 198 10 0 0 0 - - -;
+#X floatatom 213 198 10 0 0 0 - - -;
+#X floatatom 292 198 10 0 0 0 - - -;
+#X obj 55 74 route 0 1 2 3 4 5 6 7;
+#X floatatom 366 197 10 0 0 0 - - -;
+#X floatatom 445 197 10 0 0 0 - - -;
+#X floatatom 524 197 10 0 0 0 - - -;
+#X floatatom 603 197 10 0 0 0 - - -;
+#X obj 55 49 inlet;
+#X connect 4 0 0 0;
+#X connect 4 1 1 0;
+#X connect 4 2 2 0;
+#X connect 4 3 3 0;
+#X connect 4 4 5 0;
+#X connect 4 5 6 0;
+#X connect 4 6 7 0;
+#X connect 4 7 8 0;
+#X connect 9 0 4 0;
+#X restore 129 438 pd peek;
+#X floatatom 201 567 5 0 0 1 interp - -;
+#X msg 297 622 clear;
+#N canvas 0 0 450 300 tba 0;
+#X obj 143 51 inlet;
+#X obj 96 49 inlet;
+#X obj 191 51 inlet;
+#X obj 238 51 inlet;
+#X obj 173 180 outlet;
+#X obj 61 178 outlet;
+#X obj 221 180 outlet;
+#X obj 268 180 outlet;
+#X obj 126 180 outlet;
+#X obj 96 73 t b a;
+#X obj 143 72 t b a;
+#X obj 191 72 t b a;
+#X obj 238 72 t b a;
+#X connect 0 0 10 0;
+#X connect 1 0 9 0;
+#X connect 2 0 11 0;
+#X connect 3 0 12 0;
+#X connect 9 0 5 0;
+#X connect 9 1 8 0;
+#X connect 10 0 5 0;
+#X connect 10 1 4 0;
+#X connect 11 0 5 0;
+#X connect 11 1 6 0;
+#X connect 12 0 5 0;
+#X connect 12 1 7 0;
+#X restore 136 316 pd tba;
+#X obj 318 262 hsl 64 15 1 20 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#N canvas 0 0 766 594 four-reverbs 0;
+#X obj 67 179 rev1~;
+#X obj 114 179 rev1~;
+#X obj 160 179 rev1~;
+#X obj 210 179 rev1~;
+#X obj 282 55 inlet;
+#X obj 67 54 inlet~;
+#X obj 113 54 inlet~;
+#X obj 160 53 inlet~;
+#X obj 211 53 inlet~;
+#X obj 67 286 outlet~;
+#X obj 114 268 outlet~;
+#X obj 159 246 outlet~;
+#X obj 209 226 outlet~;
+#X obj 339 55 inlet;
+#X obj 339 76 b;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 11 0;
+#X connect 3 0 12 0;
+#X connect 4 0 3 1;
+#X connect 4 0 2 1;
+#X connect 4 0 1 1;
+#X connect 4 0 0 1;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 2 0;
+#X connect 8 0 3 0;
+#X connect 13 0 14 0;
+#X connect 14 0 3 2;
+#X connect 14 0 2 2;
+#X connect 14 0 1 2;
+#X connect 14 0 0 2;
+#X restore 197 644 pd four-reverbs;
+#X text 429 15 rvbap is almost compatible to;
+#X obj 644 15 vbap 0 0;
+#X obj 33 82 define_loudspeakers 2 -45 45 0 180;
+#X obj 115 599 mtx_*~ 8 1 20;
+#X text 711 17 see help for this \, too.;
+#X text 429 36 Additionally it generates additional commands for controlling
+a reverberated signal and has control to set the radial distance of
+a sound.;
+#X text 430 397 3) rvbap also will generate messages to control the
+amount of reverberated signal to generate. This is meant to be used
+with [matrix~] or [mtx_*~] from the IEMmatrix collection of externals.
+;
+#X text 431 255 2) For rvbap \, give azimuth and elevation and a distance
+(1-inf \, default 1) for the desired location. Bang the first inlet
+and vbap will output gain-factors for each speaker and the actual location
+produced. This can be different from the desired one depending where
+your speakers are.;
+#X text 433 589 See rvbap-demo.pd for a more complex setup.;
+#X text 429 467 To use it \, create a [mtx_*~] object that has double
+the amount of outlets as you have speakers. Send the first half of
+the matrix-signals to the speakers and the second half through a reverbarator
+and add them to the respective speaker outs. The example shows this
+in action for four speakers. Pay attention to the "set-element" subpatch
+which translates the [rvbap] output to set matrix elements correctly.
+;
+#X text 193 439 <= here's the output of [rvbap];
+#X connect 0 0 10 0;
+#X connect 1 0 33 0;
+#X connect 2 0 28 0;
+#X connect 3 0 28 1;
+#X connect 4 0 28 2;
+#X connect 5 0 10 0;
+#X connect 10 0 24 0;
+#X connect 10 0 25 0;
+#X connect 10 1 15 0;
+#X connect 10 2 16 0;
+#X connect 10 3 17 0;
+#X connect 10 4 18 0;
+#X connect 11 0 28 3;
+#X connect 13 0 0 0;
+#X connect 19 0 30 4;
+#X connect 21 0 34 1;
+#X connect 22 0 21 0;
+#X connect 23 0 34 0;
+#X connect 24 0 23 0;
+#X connect 26 0 34 2;
+#X connect 27 0 30 5;
+#X connect 28 0 10 0;
+#X connect 28 1 10 1;
+#X connect 28 2 10 2;
+#X connect 28 3 10 3;
+#X connect 28 4 10 4;
+#X connect 29 0 11 0;
+#X connect 30 0 20 0;
+#X connect 30 1 20 1;
+#X connect 30 2 20 2;
+#X connect 30 3 20 3;
+#X connect 33 0 10 0;
+#X connect 34 0 20 0;
+#X connect 34 1 20 1;
+#X connect 34 2 20 2;
+#X connect 34 3 20 3;
+#X connect 34 4 30 0;
+#X connect 34 5 30 1;
+#X connect 34 6 30 2;
+#X connect 34 7 30 3;