www.pudn.com > AudioWave.rar > WaveProcess.cpp
// WaveProcess.cpp: implementation of the CWaveProcess class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Audio.h"
#include "WaveProcess.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#include "DCT.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CWaveProcess::CWaveProcess()
{
}
CWaveProcess::~CWaveProcess()
{
}
void CWaveProcess::WaveSignalFFT(float *pfSignal, DWORD dwLenSignal, int nPower, double *pdReFFT, double *pdImFFT)
{
int nSamples = 1<FFTSignal(nPower, pdReSignal, pdImSignal, pdReFFT+i*nSamples, pdImFFT+i*nSamples);
}
delete[] pdReSignal;
delete[] pdImSignal;
delete pFFT;
}
void CWaveProcess::WaveSignalFFT_I(float *pfSignal, DWORD dwLenSignal, int nPower, double *pdReFFT, double *pdImFFT)
{
int nSamples = 1<IFFTSignal(nPower, pdReSignal, pdImSignal, pdReFFT+i*nSamples, pdImFFT+i*nSamples);
for(j=0; jDCTIV(pfDCT+i*nSamples,nPower);
}
delete pDCT;
}
void CWaveProcess::WaveSignalIDCTIV(float *pfSignal, float *pfDCT, DWORD dwLenSignal, int nPower)
{
int nSamples = 1<IDCTIV(pfDCT+i*nSamples,nPower);
for(j=0; jnTh)
{
pfSignal[i] = pfSignal[i]*fRate;
}
}
fMaxD = MaxData(pfSignal, dwLenSignal);
// for(i=0; i<(int)dwLenSignal; i++)
// {
// pfSignal[i] = pfSignal[i]*(fMaxS/fMaxD);
// }
delete[] pfData;
}
void CWaveProcess::FFTLowFrequencyShift(float *pfSoundData, DWORD dwLenSound, int nShift, int nPower)
{
int nSamples = 1<FFTSignal(nPower, pdReSignal, pdImSignal, pdReFFT, pdImFFT);
for(j=0; jIFFTSignal(nPower, pdReSignal, pdImSignal, pdReFFT, pdImFFT);
for(j=0; jFFTSignal(nPower, pdReSignal, pdImSignal, pdReFFT, pdImFFT);
for(j=0; jIFFTSignal(nPower, pdReSignal, pdImSignal, pdReFFT, pdImFFT);
for(j=0; jfMax)
{
fMax = (float)fabs(pfData[i]);
}
}
return fMax;
}
void CWaveProcess::DCTLowFrequencyShift(float *pfSoundData, DWORD dwLenSound, int nShift, int nPower)
{
int nSamples = 1<DCTIV(pfDCT, nPower);
for(j=0; jIDCTIV(pfDCT, nPower);
for(j=0; jDCTIV(pfDCT, nPower);
for(j=0; jIDCTIV(pfDCT, nPower);
for(j=0; jDCTIV(pfDCT, nPower);
for(j=0; jIDCTIV(pfDCT, nPower);
for(j=0; j