34 "key",
"AudioWindowing",
35 "category",
"Analysis",
36 "description",
"AudioWindowing",
39 static FactoryRegistrator<ProcessingFactory, AudioWindowing>
reg =
metadata;
50 if (! ConfigureChildren())
return false;
55 bool AudioWindowing::ConfigureChildren()
57 int windowSize = mConfig.GetWindowSize();
58 EWindowType windowType = mConfig.GetWindowType();
59 if (not (windowSize&1))
80 WindowGeneratorConfig windowGeneratorConfig;
81 windowGeneratorConfig.SetSize(windowSize);
82 windowGeneratorConfig.SetType(windowType);
83 if (! mWindowGenerator.
Configure(windowGeneratorConfig) )
90 CircularShiftConfig circularShiftConfig;
91 circularShiftConfig.SetAmount(-((windowSize-1)/
TData(2)));
92 if (! mCircularShift.
Configure(circularShiftConfig) )
102 void AudioWindowing::ConfigureData()
104 mInput.
SetSize(mConfig.GetWindowSize()-1);
105 mInput.
SetHop(mConfig.GetHopSize());
107 mWindow.
SetSize(mConfig.GetWindowSize());
110 mWindowGenerator.
Do(mWindow);
116 mWindow.
SetSize(mConfig.GetFFTSize());
119 void AudioWindowing::AttachChildren()
139 out.SetSampleRate(mConfig.GetSamplingRate());
142 out.
SetSize(mConfig.GetFFTSize());
146 mAudioProduct.
Do(out, mWindow, out);
149 if (mConfig.GetDoHalfWindowShift())
150 mCircularShift.
Do(out,out);