WaveProcess.h
上传用户:huifengb
上传日期:2007-12-27
资源大小:334k
文件大小:2k
源码类别:

多媒体

开发平台:

Visual C++

  1. // WaveProcess.h: interface for the CWaveProcess class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "FFT.h"
  5. #include "DCT.h"
  6. #include "math.h"
  7. #if !defined(AFX_WAVEPROCESS_H__23FC2C8D_4DD1_4A8A_937B_B3E24B604F3C__INCLUDED_)
  8. #define AFX_WAVEPROCESS_H__23FC2C8D_4DD1_4A8A_937B_B3E24B604F3C__INCLUDED_
  9. #if _MSC_VER > 1000
  10. #pragma once
  11. #endif // _MSC_VER > 1000
  12. class CWaveProcess  
  13. {
  14. public:
  15. float MaxData(float *pfData, DWORD dwLenData);
  16. void WaveSignalFFT(float *pfSignal, DWORD dwLenSignal, int nPower, double *pdReFFT, double *pdImFFT);
  17. void WaveSignalFFT_I(float *pfSignal, DWORD dwLenSignal, int nPower, double *pdReFFT, double *pdImFFT);
  18. void WaveSignalDCTIV(float *pfSignal, float *pfDCT, DWORD dwLenSignal, int nPower);
  19. void WaveSignalIDCTIV(float *pfSignal, float *pfDCT, DWORD dwLenSignal, int nPower);
  20. void LowPass(float *pfSignal, DWORD dwLenSignal, int nStep);
  21. void HighPass(float *pfSignal, DWORD dwLenSignal, int nStep, int nTh, float fRate);
  22. void FFTLowFrequencyShift(float *pfSoundData, DWORD dwLenSound, int nShift, int nPower);
  23. void FFTHighFrequencyShift(float *pfSoundData, DWORD dwLenSound, int nShift, int nPower);
  24. void DCTLowFrequencyShift(float *pfSoundData, DWORD dwLenSound, int nShift, int nPower);
  25. void DCTHighFrequencyShift(float *pfSoundData, DWORD dwLenSound, int nShift, int nPower);
  26. void DCTMidFrequencyShift(float *pfSoundData, DWORD dwLenSound, int nShift, int nPower, float fRate);
  27. void Contraction(float *pfSoundData, DWORD dwLenSound, float fRate);
  28. CWaveProcess();
  29. virtual ~CWaveProcess();
  30. };
  31. #endif // !defined(AFX_WAVEPROCESS_H__23FC2C8D_4DD1_4A8A_937B_B3E24B604F3C__INCLUDED_)