Hi I see that
downmix in [_surroundRouting] may have misconceptions,
(I don't see entire code yet, so I could be wrong)
according ITU-BR:
L = 1L+0.71Ls+0.71C
R = 1L+0.71Rs+0.71C
here i send a external that is part of my research (and therefore may have bugs)
--HELP--
#N canvas 0 22 581 337 10;
#X text 188 145 creation: [downmix~] or [downmix~ arg];
#X text 250 162 arg is normalization ratio;
#X text 250 178 by default 1;
#X obj 49 55 adc~ 1 2 3 4 5;
#X obj 48 210 dac~;
#X text 189 14 DownMix for 5.1 surround to Stereo 2;
#X obj 48 130 downmix_5.1~;
#X text 193 247 Acorrding ITU-R-BS 1116-1;
#X text 193 263 METHODS FOR THE SUBJECTIVE ASSESSMENT OF SMALL IMPAIRMENTS
IN AUDIO SYSTEMS INCLUDING MULTICHANNEL SOUND SYSTEMS;
#X text 186 38 1-L;
#X text 186 53 2-R;
#X text 186 69 3-Ls;
#X text 187 84 4-Rs;
#X text 187 98 5-C;
#X text 187 112 6-LFE;
#X text 19 305 Guilherme M. Lunhani;
#X text 157 305 gcravista@gmail.com;
#X connect 3 0 6 0;
#X connect 3 1 6 1;
#X connect 3 2 6 2;
#X connect 3 3 6 3;
#X connect 3 4 6 4;
#X connect 6 0 4 0;
#X connect 6 1 4 1;
--External--
#N canvas 110 320 757 405 10;
#X obj 71 125 inlet~ L;
#X obj 131 125 inlet~ R;
#X obj 189 125 inlet~ Ls;
#X obj 254 125 inlet~ Rs;
#X obj 318 125 inlet~ C;
#X obj 71 351 outlet~;
#X obj 343 344 outlet~;
#X text 70 62 Downmix: L = 1L+0.71C+0.71Ls;
#X text 124 78 R = 1R+0.71C+0.71Rs;
#X text 51 262 L;
#X obj 384 125 inlet;
#X obj 495 125 loadbang;
#X obj 495 147 \$0;
#X obj 71 260 expr~ ($v1+(0.71*$v2)+(0.71*$v3))/($f4*2.42);
#X obj 343 261 expr~ ($v1+(0.71*$v2)+(0.71*$v3))/($f4*2.42);
#X obj 495 172 expr if($f1==0 \, 1 \, $f1);
#X obj 564 152 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X connect 0 0 13 0;
#X connect 1 0 14 0;
#X connect 2 0 13 1;
#X connect 3 0 14 1;
#X connect 4 0 13 2;
#X connect 4 0 14 2;
#X connect 10 0 13 3;
#X connect 10 0 14 3;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 5 0;
#X connect 14 0 6 0;
#X connect 15 0 13 3;
#X connect 15 0 14 3;
#X connect 16 0 12 0;