// Listing 6.12 Simple reverb using three Delay UGens // Direct sound adc => Gain input => dac; // (1) Direct signal from adc to dac (through Gain) 1.0 => input.gain; // Delay lines to model walls + ceiling // (2) adc to dac via three delay lines in parallel input => Delay d1 => dac; input => Delay d2 => dac; input => Delay d3 => dac; // Hook delay lines back to themselves // (3) Closes each delay loop (hook output to input) d1 => d1; d2 => d2; d3 => d3; // set feedback/loss on all delay lines 0.6 => d1.gain => d2.gain => d3.gain; // (4) Can set all three delay // gains in one line of code // allocate memory and set delay lengths 0.06 :: second => d1.max => d1.delay; // (5) Can set max and delay 0.08 :: second => d2.max => d2.delay; // all in one line of code each 0.10 :: second => d3.max => d3.delay; // Enjoy the room you built! while (1) { 1.0 :: second => now; }