-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cqcc feature extract #40
Comments
Constant-Q transform: In the field of music, this transform and the chroma features based on it are commonly used. The standard CQT (Constant-Q Transform) implementation requires an impressive length to achieve a certain frequency resolution according The typical approach, due to the characteristics of Q fitting musical tones, involves solving N[k] with a much smaller size within each octave. If variable bandwidth ratios are not considered, the filter banks produced in the frequency domain are the same for each octave. Additionally, each time an octave is computed, the data must be downsampled by a factor of 2 to be used in the next octave computation. This method is essentially a hack version of an efficient CQT implementation proposed in the 1990s, and most libraries for standard CQT implementations are based on this paper. Later, the Non-Stationary Gabor Transform was proposed as an optimal solution to address issues related to CQT. It offers significant improvements in efficiency, effectiveness, and invertibility. Non-Stationary Gabor Transform: MATLAB cqt is implemented using the Non-Stationary Gabor Transform approach. AudioFlux provides implementations standard CQT and NSGT. So, MATLAB’s CQT and AudioFlux’s NSGT are more consistent with each other. Finally, in the field of numerical computation, it is challenging for different frameworks to produce exactly the same values. However, the issue you mentioned regarding CQCC is primarily due to different mechanisms in algorithm implementations. Even for the same algorithm, factors such as optimization techniques and precision in numerical computation make it difficult to achieve identical values. |
Thank you very much for your reply.
Is this standard CQT ? If I want to align the output with the matlab version, should I replace “cc = audioflux.CQT() m_data_arr = cc.cqt(x) ” with “gg = audioflux.NSGT() m_data_arr = gg.nsgt(x)” Or can you tell me how to correctly use audioflux to extract cqcc features?thank u~ |
hi
I want to ask about how cqcc features are extracted, which is not the same as the output of the matlab version.
The text was updated successfully, but these errors were encountered: