FFT additive synthesis
FFT additive synthesis
- Subject: FFT additive synthesis
- From: "Mark's Studio" <email@hidden>
- Date: Sat, 4 Oct 2003 21:44:01 +0200
Sorry if this is a bit OT.
I am playing around with the vDSP lib
and i thought i could generate pure sine waves with the fft.
but im not getting pure sine waves,
what am i doing wrong? or is it not that simple?
and the other problem is, what value should i put into ex. A.imagp[1] =
?; to get a full scale sine?
{
UInt32 log2n;
UInt32 n, nOver2;
SInt32 stride;
UInt32 i;
log2n = 6; // N is 10.
n = 1 << log2n; // n is 2^10.
stride = 1;
nOver2 = n / 2; // half of n as real part and imag
part.
fft_zrip ( fftSetup, &A, stride, log2n, FFT_INVERSE );
// Verify correctness of the results, but first scale it by 2n.
fftScale = (float)1.0/nOver2;
vsmul( A.realp, 1, &fftScale, A.realp, 1, nOver2 );
vsmul( A.imagp, 1, &fftScale, A.imagp, 1, nOver2 );
// The output signal is now in a split real form. Use the function
// ztoc to get a split real vector.
ztoc ( &A, 1, ( COMPLEX * ) obtainedReal, 2, nOver2 );
memcpy(waveformSamples, obtainedReal, n * sizeof ( float ));
}
Peter Mark
Mark's Recording Studio A/S
Lundeskovsvej 3
2900 Hellerup
Denmark
Tel: +45 35366078 Fax: +45 35366038
www.marks-studio.dk
email@hidden
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.