I want a stereo reverb written in C. Efficiency is of prime concern as it will run on mobile devices.
The audio format is PCM. basically it will be two arrays of signed integers. (one for each of the stereo channels) the process is run in real time. The method would have a signature like this
void applyReverb(int *leftChannel, int *rightChannel, int numberOfSamples, float wetDryMix, float reverbTime);
usually the number of samples is between 512 and 4096. so the method will be in a class that will store data that can be used during the next method call (as reverb is a long running process).
wetDryMix - the amount of reverb applied (0.0 - none, 1.0 all reverb no original signal)
reverbTime - reverb time.
there is probably a few other parameters we could think up, but i just want to get the basics down first.
The process takes in two arrays applies the effect and then replaces the values in the array with the effected data.