34 "key",
"SpectralAnalysis",
35 "category",
"Analysis",
36 "description",
"SpectralAnalysis",
39 static FactoryRegistrator<ProcessingFactory, SpectralAnalysis>
reg =
metadata;
43 : mInput(
"Input",this ),
44 mOutput(
"Output",this )
51 : mInput(
"Input",this),
52 mOutput(
"Output",this)
73 bool SpectralAnalysis::ConfigureChildren()
75 mPO_WinGen.
Configure(mConfig.GetWindowGenerator());
76 mPO_CShift.
Configure(mConfig.GetCircularShift());
77 mPO_FFT.Configure(mConfig.GetFFT());
82 void SpectralAnalysis::ConfigureData()
89 mAudioFrame.
SetSize(mConfig.GetprFFTSize());
94 mPO_WinGen.
Do(mWindow);
100 mWindow.
SetSize(mConfig.GetprFFTSize());
104 scfg.SetSize(mConfig.GetprFFTSize()/2+1);
109 mPO_FFT.SetPrototypes (mWindow, mSpec);
113 void SpectralAnalysis::AttachChildren()
118 mPO_FFT.SetParent(
this);
124 mOutput.
GetData().SetSpectralRange( mInput.
GetAudio().GetSampleRate()/2);
145 mAudioFrame.
SetSize(mConfig.GetprFFTSize());
148 mPO_AProduct.
Do(mAudioFrame, mWindow, mAudioFrame);
151 mPO_CShift.
Do(mAudioFrame,mAudioFrame);
154 mPO_FFT.Do(mAudioFrame, outSp);
162 return Do(in.GetAudioFrame(),in.GetSpectrum());