[PD-cvs] externals/iem/iem_bin_ambi/help ambi_reduced_decode_fft2-help.pd, 1.2, 1.3

musil tmusil at users.sourceforge.net
Tue Nov 28 19:38:42 CET 2006


Update of /cvsroot/pure-data/externals/iem/iem_bin_ambi/help
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22077/iem/iem_bin_ambi/help

Added Files:
	ambi_reduced_decode_fft2-help.pd 
Log Message:
change to binary 2

--- NEW FILE: ambi_reduced_decode_fft2-help.pd ---
#N canvas 87 6 749 642 10;
#X obj 29 365 soundfiler;
#X obj 38 203 unpack s s;
#X msg 29 344 read -skip \$1 \$2 \$3;
#X obj 345 335 pp element;
#X obj 56 299 mergefilename /;
#X text 344 373 multiplexer control indices;
#X text 340 384 for spec2_matrix_bundle_stat~;
#X text 367 133 1.arg: <float> unique-number used as table-name-prefix
;
#X obj 29 323 pack f s s;
#X text 367 183 6.arg: <float> ambisonic order;
#X text 367 193 7.arg: <float> ambisonic dimension;
#X text 367 203 8.arg: <float> number of real loudspeakers;
#X text 367 213 9.arg: <float> number of phantom loudspeakers;
#X text 361 223 10.arg: <float> FFT-size = 2 x effective HRIR-length
;
#X obj 38 165 bin_ambi_reduced_decode_fft2 \$0 HRIR HRTF_re HRTF_im
fadeout 1 2 4 0 256;
#X obj 30 509 table \$0_fadeout 256;
#X obj 56 251 symbol .;
#X obj 38 226 t b b s;
#X obj 56 273 pack s s;
#X obj 29 260 f 0;
#X obj 38 60 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 345 356 print;
#X obj 29 423 table \$0_1_HRIR 256;
#X obj 265 418 table \$0_1_HRTF_re 256;
#X obj 405 418 table \$0_1_HRTF_im 256;
#X obj 29 483 table \$0_4_HRIR 256;
#X obj 29 463 table \$0_3_HRIR 256;
#X obj 29 443 table \$0_2_HRIR 256;
#X obj 265 438 table \$0_2_HRTF_re 256;
#X obj 265 458 table \$0_3_HRTF_re 256;
#X obj 405 458 table \$0_3_HRTF_im 256;
#X obj 405 438 table \$0_2_HRTF_im 256;
#X text 21 12 ambi_reduced_decode_fft2;
#X text 367 143 2.arg: <symbol> last part of left HRIR table name;
#X text 367 173 5.arg: <symbol> last part of HRIR fadeout window table
name;
#N canvas 0 0 465 384 init_fadeout 0;
#X obj 124 23 loadbang;
#X obj 124 45 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 124 73 for++ 0 127;
#X obj 124 144 t b;
#X msg 124 164 1;
#X obj 124 123 moses 95;
#X obj 167 144 - 95;
#X obj 167 166 / 32;
#X obj 167 220 * 3.14159;
#X obj 167 264 t f f;
#X obj 172 286 *;
#X obj 172 317 tabwrite \$0_fadeout;
#X obj 270 162 + 128;
#X msg 270 185 0 \$1;
#X obj 153 97 t f f f;
#X obj 167 241 cos;
#X obj 167 199 / 2;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 14 0;
#X connect 3 0 4 0;
#X connect 4 0 11 0;
#X connect 5 0 3 0;
#X connect 5 1 6 0;
#X connect 6 0 7 0;
#X connect 7 0 16 0;
#X connect 8 0 15 0;
#X connect 9 0 10 0;
#X connect 9 1 10 1;
#X connect 10 0 11 0;
#X connect 12 0 13 0;
#X connect 13 0 11 0;
#X connect 14 0 5 0;
#X connect 14 1 11 1;
#X connect 14 2 12 0;
#X connect 15 0 9 0;
#X connect 16 0 8 0;
#X restore 157 510 pd init_fadeout;
#X text 87 585 IEM KUG;
#X text 71 573 musil;
#X text 101 573 @;
#X text 107 573 iem.at;
#X text 70 595 Graz \, Austria;
#X text 22 562 (c) Thomas Musil 2000 - 2006;
#X text 211 40 up to 12.Order 2-dimensional;
#X text 208 28 up to 5.Order 3-dimensional or;
#X text 367 153 3.arg: <symbol> last part of real reduced HRTF table
name;
#X text 367 163 4.arg: <symbol> last part of imag reduced HRTF table
name;
#X text 220 14 AMBISONIC BINAURAL DECODING;
#X text 446 33 of HRTF-spectra;
#X text 429 20 calculates a reduced set;
#X obj 39 112 cnv 15 102 15 empty empty empty 20 12 0 14 -260818 -66577
0;
#N canvas 0 5 982 699 input_messages 0;
#X obj 147 645 outlet;
#X msg 67 401 calc_pinv;
#X msg 14 615 calc_sym;
#X obj 93 273 pp pht_ls;
#X obj 107 218 pp real_ls;
#X obj 120 174 pp load_HRIR;
#X msg 120 154 1 L0e045a.wav \, 2 L0e135a.wav \, 3 L0e225a.wav \, 4
L0e315a.wav;
#X obj 80 336 pp ipht_ireal_muladd;
#X obj 133 130 pp ambi_weight;
#X obj 147 86 pp sing_range;
#X msg 93 253 1 -90 0;
#X msg 147 66 1e-010;
#X msg 80 315 1 4 0.707;
#X obj 14 26 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 133 110 1 1;
#X obj 14 5 inlet;
#X msg 107 198 1 45 \, 2 135 \, 3 225 \, 4 315;
#X text 670 112 -180 <= phi <= +180;
#X text 231 115 input: <ambi_weight> one mul-factor for each;
#X text 655 12 n_ao = ambisonic-order;
#X text 667 49 all angles in degree;
#X text 276 126 ambisonic order group to suppress the side-lobe-phenomena
;
#X text 273 388 of all (real + phantom) loudspeaker positions \,;
#X text 274 412 and calculates the pseudo inverse.;
#X text 277 400 multiplicates the ambi order weight;
#X text 536 304 mirror_weight;
#X text 275 330 phantom speaker with the factor "mirror_weight" and
adds;
#X text 231 38 input: <sing_range> singularity range;
#X text 274 49 when calculating the inverse of the matrix by gauss
;
#X text 274 59 algorithm \, you have to divide a row by a certain number
\,;
#X text 274 79 outside of this range (> sing_range \, or < -sing_range).
;
#X text 274 91 Otherwise we say \, this matrix is singular.;
#X text 274 69 to achieve the identity matrix. This number has to be
;
#X text 640 23 n_re_ls = number of real loudspeakers;
#X text 640 35 n_vi_ls = number of virtual phantom loudspeakers;
#X text 271 197 input: <real_ls> re_ls_index + phi .. 2-dimensional
;
#X text 271 208 input: <real_ls> re_ls_index + theta + phi .. 3-dimensional
;
#X text 231 241 input: <pht_ls> vi_ls_index + phi .. 2-dimensional
;
#X text 231 252 input: <pht_ls> vi_ls_index + theta + phi .. 3-dimensional
;
#X text 670 100 -90 <= theta <= +90;
#X text 662 76 1 <= re_ls_index <= n_re_ls;
#X text 662 87 1 <= vi_ls_index <= n_vi_ls;
#X text 313 219 encodes the re_ls_index row of a matrix;
#X text 274 264 encodes the (re_ls_index + vi_ls_index) row of a matrix
;
#X text 275 275 we need them to achieve a nonsingular matrix;
#X obj 14 45 t b b b b b b b b b b b;
#X obj 27 584 pp calc_reduced;
#X msg 27 562 1 \, 2 \, 3;
#X obj 40 527 pp check_HRTF_arrays;
#X msg 40 506 1 \, 2 \, 3;
#X msg 53 454 1 \, 2 \, 3 \, 4;
#X obj 53 475 pp check_HRIR_arrays;
#X text 481 150 input: <load_HRIR> : re_ls_index + left_ear_HRIR_wav_file
;
#X text 230 377 input: <calc_pinv> starts the encoding;
#X text 230 304 input: <ipht_ireal_muladd> vi_ls_index re_ls_index
;
#X text 276 317 multiplies the column "vi_ls_index + re_ls_index" of
;
#X text 274 343 this column to the column "re_ls_index" of real speaker
;
#X text 230 442 input: <check_HRIR_arrays> re_ls_index;
#X text 275 468 index of the HRIR from loudspeaker to the left ear.
;
#X text 274 455 checks the existence of the table with the "re_ls_index"-th
;
#X text 274 509 checks the existence of the reduced decoder table;
#X text 230 496 input: <check_HRTF_arrays> ambi_ch_index;
#X text 275 522 with the "ambi_ch_index"-th index.;
#X text 273 534 [1 .. (2*n_ao+1)] 2d;
#X text 421 534 [1 .. (n_ao+1)*(n_ao+1)] 3d;
#X text 230 561 input: <calc_reduced> ambi_ch_index;
#X text 275 574 multiplies the matrix of HRIR with the "ambi_ch_index"-th
;
#X text 273 587 column of the decoder matrix and does a real FFT;
#X text 26 663 to bin_ambi_reduced_decode_fft2;
#X text 524 162 and outputs on the left 2 symbols (table + wav);
#X text 230 611 input: <calc_sym> outputs a list of 2 floats;
#X text 273 622 second float is the index \, first float is one or
two;
#X text 273 633 one means symmetric \, two means asymmetric column
of;
#X text 273 644 reduced decoder matrix. (message is especially for
;
#X text 253 223 ____________________________________________________________
;
#X text 253 279 ____________________________________________________________
;
#X text 253 347 ____________________________________________________________
;
#X text 253 416 ____________________________________________________________
;
#X text 253 473 ____________________________________________________________
;
#X text 253 539 ____________________________________________________________
;
#X text 253 592 ____________________________________________________________
;
#X text 253 662 ____________________________________________________________
;
#X text 255 95 ____________________________________________________________
;
#X text 496 168 ____________________________________________________________
;
#X text 636 58 _________________________________________________;
#X text 636 121 _________________________________________________;
#X text 66 24 in this order;
#X text 275 655 matrix object "spec2_matrix_bundle_stat~";
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
#X connect 10 0 3 0;
#X connect 11 0 9 0;
#X connect 12 0 7 0;
#X connect 13 0 45 0;
#X connect 14 0 8 0;
#X connect 15 0 13 0;
#X connect 16 0 4 0;
#X connect 45 0 2 0;
#X connect 45 1 47 0;
#X connect 45 2 49 0;
#X connect 45 3 50 0;
#X connect 45 4 1 0;
#X connect 45 5 12 0;
#X connect 45 7 16 0;
#X connect 45 8 6 0;
#X connect 45 9 14 0;
#X connect 45 10 11 0;
#X connect 46 0 0 0;
#X connect 47 0 46 0;
#X connect 48 0 0 0;
#X connect 49 0 48 0;
#X connect 50 0 51 0;
#X connect 51 0 0 0;
#X restore 38 111 pd input_messages;
#X text 108 203 load control of Head Related;
#X text 108 215 Impulse Responses;
#X connect 1 0 17 0;
#X connect 1 1 8 2;
#X connect 2 0 0 0;
#X connect 3 0 21 0;
#X connect 4 0 8 1;
#X connect 8 0 2 0;
#X connect 14 0 1 0;
#X connect 14 1 3 0;
#X connect 16 0 18 0;
#X connect 17 0 19 0;
#X connect 17 1 16 0;
#X connect 17 2 18 1;
#X connect 18 0 4 0;
#X connect 19 0 8 0;
#X connect 20 0 50 0;
#X connect 50 0 14 0;





More information about the Pd-cvs mailing list