Skip to main content
← Lab

combrange

confirmedupstream bugPython · madmom (Cython)Systems & data structuresJuly 25, 2026

the question

Does madmom's 2-D feed-backward comb filter filter every column of a multi-column signal?

what came out

madmom's `_feed_backward_comb_filter_2d` hardcodes the column loop to `range(2)`, so an 8x5 signal is filtered only on columns 0-1 and columns 2-4 return bit-identical raw input. A single-column signal indexes past the array (bounds-checking is compiled off), diverging from the recurrence and writing one element out of bounds. Fix: `range(signal.shape[1])`.

method & receipts

  • Result: confirmed
  • Reproducible one script re-runs the whole thing from scratch.
  • Tested — a correctness/benchmark suite ships alongside the code.

→ read the code and re-run it

github.com/v-code01/combrange