25 #define CLASS "SpectralEnvelopeApply"
82 output.SetScale(input.GetScale());
83 CLAM_ASSERT(input.GetScale()==spectralEnvelope.GetScale(),
"You are trying to apply an envelope that has a different scale");
87 DataArray& iphaseBuffer=input.GetPhaseBuffer();
88 DataArray& ifreqBuffer=input.GetFreqBuffer();
95 DataArray& omagBuffer=output.GetMagBuffer();
96 DataArray& ophaseBuffer=output.GetPhaseBuffer();
97 DataArray& ofreqBuffer=output.GetFreqBuffer();
101 BPF& env = spectralEnvelope.GetMagBPF();
102 for(i=0;i<nPeaks;i++)
104 ophaseBuffer[i]=iphaseBuffer[i];
105 omagBuffer[i]=env.
GetValue(ifreqBuffer[i]);
106 ofreqBuffer[i]=ifreqBuffer[i];
115 output.SetScale(input.GetScale());
116 CLAM_ASSERT(input.GetScale()==spectralEnvelope.GetScale(),
"You are trying to apply an envelope that has a different scale");
120 int spectrumSize=input.
GetSize();
123 TData delta = input.GetSpectralRange()/(spectrumSize-1);
124 DataArray& outMag = output.GetMagBuffer();
125 BPF& env = spectralEnvelope.GetMagBPF();
127 TData currentFreq = 0.;
128 for(i=0;i<spectrumSize;i++, currentFreq+=delta)
132 outMag[i] = env.
GetValue(currentFreq);