#include #include "Gamma/AudioIO.h" #include "Gamma/Domain.h" #include "Gamma/Delay.h" using namespace gam; int frameCount = 512; int samplingRate = 44100; int channels = 2; Comb<> comb1, comb2, comb3, comb4; Comb<> ap1, ap2; void audioCallBack(AudioIOData& io) { while(io()) { float in = io.in(0); float sample = ap2(ap1(comb1(in) + comb2(in) + comb3(in) + comb4(in))); for (int i = 0; i < channels; i++) { io.out(i) = sample * 0.01; } } } int main() { float reverbTimeCoeff = 0.95; comb1.maxDelay(0.035); comb1.set(0.035, 0, -reverbTimeCoeff); comb2.maxDelay(0.040); comb2.set(0.040, 0, -reverbTimeCoeff); comb3.maxDelay(0.045); comb3.set(0.045, 0, -reverbTimeCoeff); comb4.maxDelay(0.050); comb4.set(0.050, 0, -reverbTimeCoeff); ap1.maxDelay(0.005); ap1.set(0.005, reverbTimeCoeff, -reverbTimeCoeff); ap2.maxDelay(0.00017); ap2.set(0.0017, reverbTimeCoeff, -reverbTimeCoeff); AudioIO audioIO(frameCount, samplingRate, audioCallBack, NULL, channels, 1); Sync::master().spu(audioIO.framesPerSecond()); audioIO.start(); printf("Press 'enter' to quit...\n"); getchar(); return 0; }