#N canvas 195 283 786 398 10;
#X obj 111 145 qnorm~;
#X obj 38 71 osc~ 30;
#X obj 101 71 osc~ 40;
#X obj 163 70 osc~ 50;
#X obj 229 71 osc~ 60;
#X obj 143 319 dac~;
#X obj 123 244 vol~;
#X obj 163 244 vol~;
#X floatatom 230 230 5 0 0;
#X floatatom 58 36 5 0 0;
#X floatatom 107 36 5 0 0;
#X floatatom 159 36 5 0 0;
#X floatatom 208 36 5 0 0;
#X obj 167 282 hip~ 10;
#X obj 103 281 hip~ 10;
#X text 402 190 qmult multiplies 2 quaternion signals;
#X floatatom 347 35 5 0 0;
#X floatatom 396 35 5 0 0;
#X floatatom 448 35 5 0 0;
#X floatatom 497 35 5 0 0;
#X obj 327 70 osc~ 70;
#X obj 390 70 osc~ 80;
#X obj 452 69 osc~ 90;
#X obj 518 70 osc~ 100;
#X obj 410 136 qnorm~;
#X obj 106 195 qmult~ 0 0 0 0 0;
#X text 410 208 "quaternion ring modulation";
#X text 403 245 the inlets are in 1 x real 3 x imag form;
#X connect 0 0 25 0;
#X connect 0 1 25 1;
#X connect 0 2 25 2;
#X connect 0 3 25 3;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
#X connect 3 0 0 2;
#X connect 4 0 0 3;
#X connect 6 0 14 0;
#X connect 7 0 13 0;
#X connect 8 0 7 1;
#X connect 8 0 6 1;
#X connect 9 0 1 0;
#X connect 10 0 2 0;
#X connect 11 0 3 0;
#X connect 12 0 4 0;
#X connect 13 0 5 1;
#X connect 14 0 5 0;
#X connect 16 0 20 0;
#X connect 17 0 21 0;
#X connect 18 0 22 0;
#X connect 19 0 23 0;
#X connect 20 0 24 0;
#X connect 21 0 24 1;
#X connect 22 0 24 2;
#X connect 23 0 24 3;
#X connect 24 0 25 4;
#X connect 24 1 25 5;
#X connect 24 2 25 6;
#X connect 24 3 25 7;
#X connect 25 0 6 0;
#X connect 25 1 6 0;
#X connect 25 2 7 0;
#X connect 25 3 7 0;