What are the audio features to best describe a music? I'm working on the content-based filtering part of a recommender system for an audio streaming project. 

I firstly used the k-mean algorithm with music genres and one-hot encoding to  classify musics into different groups.
But, in order to get more precise results I want to change it and use audio features to feed the model instead.

So my questions are:
 - is my approach correct.
 - what are the most relevant audio features I can extract from an audio file.  

Thx for your answers.

edit:
right now, I'm extracting those features:  


music tempo
zero-crossing rate
duration
spectral centroids
spectral roll-off
MFCC
spectral bandwidth
spectral contrast


I want to know at which degree those audio features are relevant to 'describe' an audio extract.
Every cepstral coefficients can be considered as one of the best features for defining a musical piece.

Most famous being the Mel Scale, as I can see you are already extracting MFCCs, you are good to go. Although you should have mentioned, which MFCC are you extracting, from experience (a little bit) first 15 are usually the most useful cause they have a positive value. You can also work on more intrinsically robust GFCC.

They can then be used to obtain Spectrograms and so on.

I would suggest not using kNN, prefer Random Forrest, moreover audio signals require a lot of preprocessing. DCT and STFT are a must.