openmixer — generated API reference
    Preparing search index...

    Function isCandidateBin

    • A bin passes the instantaneous multi-criteria test (before persistence confirms it).

      EVALUATION ORDER is a measured hot-path decision (task #126): the three gates are pure predicates over the same frame, so any && order returns the IDENTICAL boolean — but their costs differ wildly. papr scans the WHOLE spectrum per call (averageExcluding, O(n)); pnpr touches ~7 neighbour bins and phpr ~3 harmonics. With papr first, FeedbackDetector.push's per-bin loop was O(n²) — profiled at ~27 ms per 100 ms tick on the server's event loop with two armed channels (a third of the operator's "EQ drags stutter" stall, alongside the sync FFT the same task moved off-thread). Cheap-and-selective first: pnpr rejects almost every non-tonal bin for ~7 adds, phpr kills harmonic-rich music tones for ~3 reads, and the O(n) papr scan runs only for the handful of bins that still look like feedback.

      Parameters

      Returns boolean