1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#include <math.h>
#include "PenroseOscil.h"
t_float fftease_frequencyToIncrement( t_float samplingRate, t_float frequency, int bufferLength ) {
return (frequency / samplingRate) * (t_float) bufferLength;
}
void fftease_makeSineBuffer( t_float *buffer, int bufferLength ) {
int i;
t_float myTwoPi = 8. * atan(1.);
for ( i=0; i <= bufferLength; i++ )
*(buffer+i) = sin( myTwoPi * ((t_float) i / (t_float) bufferLength) );
return;
}
t_float fftease_bufferOscil( t_float *phase, t_float increment, t_float *buffer,
int bufferLength )
{
t_float sample;
while ( *phase > bufferLength )
*phase -= bufferLength;
while ( *phase < 0. )
*phase += bufferLength;
sample = *( buffer + (int) (*phase) );
*phase += increment;
return sample;
}
|