// ambiophonic processor // // Improved phase cancelation using subtraction // of the channels first tried by Howard Moscovitz, // No filters, no feedback. I have found it sounds // better this way // July 8, 2008 // Howard Moscovitz // instnatiate the class ambio A; // the patch adc.left => A.L_in; adc.right => A.R_in; A.L_out => dac.left; A.R_out => dac.right; // time after time... while (true) { second => now; } // define the class class ambio { Gain L_in => Gain L_minus; Gain R_in => Gain R_minus; -1 => L_minus.gain => R_minus.gain; L_in => Gain L_prime; R_minus => L_prime; R_in => Gain R_prime; L_minus => R_prime; L_prime => DelayA L_delay; R_prime => DelayA R_delay; 0.080::ms => dur delay; L_delay.max (10*delay); L_delay.delay (delay); R_delay.max (10*delay); R_delay.delay (delay); -0.5 => L_delay.gain => R_delay.gain; R_delay => Gain L_out; L_in => L_out; L_delay => Gain R_out; R_in => R_out; 0.5 => L_out.gain => R_out.gain; }