#2070·librosa

Discussion: deprecate hybrid and pseudo cqt?

Author: bmcfeeCreated Jul 9, 2026Updated Aug 19, 2026
LabelsdiscussionStaged

In implementing #2066 , I got to thinking about these two functions, which exist primarily as computationally efficient approximations to a proper cqt. Back when these were first added in #159 , cqt was a pretty heavy lift due to resampling. Ten years later, things look very different, and our cqt/vqt implementation is no longer such a computational burden.

This leaves me wondering whether we need to continue maintaining this functionality, or whether we can deprecate it and remove it some time down the line (say 2.0)?

I've tried to get a sense of where this function is used in the wild. Most of what comes up in github search are forks/ports/vendored copies, though there appear to be legitimate uses sprinkled in as well.

I'm thinking of this with #1743 in mind. One reason to keep these is that they might be a little more amenable to gpu computation than the recursive downsampling method (at least, pseudo_cqt would be). OTOH, I think we have a workable plan for implementing our own resampler for this specific use case that would circumvent the need for a round trip into numpy, so this is not that strong of an argument.

I'm curious for other folks' thoughts though.