I am doing an automatic music recognition project with a deep learning model. For my data preprocessing, I am trying to calculate the Constant Q Transform for polyphonic 88-key piano audio using Python's Librosa library. However, I do not understand what I should set fmin, n_bins, and bins_per_octave to in Librosa's cqt() method to do this. Specifically:
- What exactly is a bin? Do the upper and lower boundaries of a bin correspond to the frequencies of two consecutive notes? In other words, because an 88-key piano has 7 octaves each with 12 unique notes, should I set
n_bins = 7 * 12 = 84or equivalentlybins_per_octave = 7? Or should several bins correspond to a single note interval? - Is
fminsupposed to be the deepest note on the 88-key piano, i.e. the A note with a frequency of about 27.5 Hz? - Why do we need
fmin? Is this some sort of reference point, similar to the equation from amplitude to decibels? - What are the differences between
n_binsandbins_per_octaveand which is better to use? For example, this research paper here uses both. - When is it appropriate to use Librosa's
chroma_cqtmethod?