// --------------------------------------------------------------------------- // freq_distance // --------------------------------------------------------------------------- // Helper function, used in formPartials(). // Returns the (positive) frequency distance between a Breakpoint // and the last Breakpoint in a Partial. // inline double PartialBuilder::freq_distance( const Partial & partial, const SpectralPeak & pk ) { double normBpFreq = pk.frequency() / mFreqWarping->valueAt( pk.time() ); double normPartialEndFreq = partial.last().frequency() / mFreqWarping->valueAt( partial.endTime() ); return std::fabs( normPartialEndFreq - normBpFreq ); }
// masking occurs if any (louder) peak falls // in the frequency range delimited by fmin and fmax: bool operator()( const SpectralPeak & v ) const { return ( v.frequency() > _fmin ) && ( v.frequency() < _fmax ); }
// --------------------------------------------------------------------------- // helpers, used below // --------------------------------------------------------------------------- static double accumPeakSquaredAmps( double init, const SpectralPeak & pk ) { return init + (pk.amplitude() * pk.amplitude()); }
// --------------------------------------------------------------------------- // associate // --------------------------------------------------------------------------- // Associate bandwidth with a single SpectralPeak. // void AssociateBandwidth::associate( SpectralPeak & pk ) { pk.setBandwidth(0); pk.addNoiseEnergy( computeNoiseEnergy( pk.frequency(), pk.amplitude() ) ); }