You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The VQT function (which powers cqt and the like) recursively downsamples the input signal by factors of 2 to compute one octave worth of frequencies at a time at the lowest feasible sampling rates (subject to integral hop length constraints, etc):
There's an assumption in CQT/VQT that all octaves have a fixed number of bins (except maybe the first/last), but this really isn't necessary.
Describe the solution you'd like
We could instead compute a set of feasible sampling rates, and then divide up the basis frequencies into whatever sampling rate range is most reasonable. This change should be invisible to the user for the currently supported use cases.
However, restructuring the code in this way would relax the constraint that each octave has an equal number of frequencies, which in turn should allow for basically arbitrary frequency sets. This, I think, would fully resolve #18 .
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
The VQT function (which powers cqt and the like) recursively downsamples the input signal by factors of 2 to compute one octave worth of frequencies at a time at the lowest feasible sampling rates (subject to integral hop length constraints, etc):
librosa/librosa/core/constantq.py
Lines 982 to 1005 in 1f770e8
There's an assumption in CQT/VQT that all octaves have a fixed number of bins (except maybe the first/last), but this really isn't necessary.
Describe the solution you'd like
We could instead compute a set of feasible sampling rates, and then divide up the basis frequencies into whatever sampling rate range is most reasonable. This change should be invisible to the user for the currently supported use cases.
However, restructuring the code in this way would relax the constraint that each octave has an equal number of frequencies, which in turn should allow for basically arbitrary frequency sets. This, I think, would fully resolve #18 .
The text was updated successfully, but these errors were encountered: