BowelyzerAnalyzer{ var Synth( name, [ sendReplyFreq: controls.at(\sendReplyFreq), amplitudeAttackTime: controls.at(\amplitudeAttackTime), amplitudeReleaseTime: controls.at(\amplitudeReleaseTime), hfHainsworth: controls.at(\hfhainsworth), hfFoote: controls.at(\hfFoote), hfThreshold: controls.at(\hfThreshold), hfWaitTime: controls.at(\hfWaitTime), pitchInitFreq: controls.at(\pitchInitFreq), pitchMinFreq: controls.at(\pitchMinFreq), pitchMaxFreq: controls.at(\pitchMaxFreq), pitchExecFreq: controls.at(\pitchExecFreq), pitchMaxBinsPerOctave: controls.at(\pitchMaxBinsPerOctave), pitchMedian: controls.at(\pitchMedian), pitchAmpThreshold: controls.at(\pitchAmpThreshold), pitchPeakThreshold: controls.at(\pitchPeakThreshold), pitchDownSample: controls.at(\pitchDownSample) ], analyzerGroup ); ); }); } setSynthControl{ arg name, control; synths.at(name).set(control[0], control[1]); } startAnalysisSynth{ arg name; synths.at(name).run(true); } stopAnalysisSynth{ arg name; synths.at(name).run(false); } startAllAnalysisSynths{ analyzerGroup.run(true); } stopAllAnalysisSynths{ analyzerGroup.run(false); } }