So at the inclusive improv Improv Session this evening a really obvious idea hit me for coding within ChucK.

<br /> adc => Gain g => blackhole;

while(1)<br /> {<br /> g.last() => (Ugen.parameter-of-choice)<br /> 1::samp => now;<br /> }<br />

Doing this allows you to take the audio input amplitude value and map onto any appropriate resolution Ugen value.

So you can use the audio input as an amplitude control on a synth like this;

<br /> adc => Gain g => blackhole;<br /> SinOsc s => Gain gg => dac;<br /> while(1)<br /> {<br /> g.last() => gg.gain;<br /> 1::samp => now;<br /> }<br />

Also to provide variation the amplitude values can scaled

<br /> g.last() * 0.8 => gg.gain;<br />

Finally the obvious inversion;

<br /> 1.0 - (g.last() * 0.8) => gg.gain;<br />

As always I was using my lc script so the changes were recorded in a git respiratory available online here.