I have a dataset of equal length feature vectors, where each vector contains around 20 features extracted from an audio file (fundamental frequency, BPM, ratios of high to low frequencies etc).
I am currently using cosine Similarity to measure the distance between vectors to give an indication of sound similarity e.g. between two files.
I understand that for Euclidean distance it is important to normalise features across the dataset prior to computing distances. Is this also the case with Cosine distance?
If not, is there a similarity metric that would be agnostic of the ranges of individual features?
Or... alternatively, is there any "quick and dirty" method for weighting the features (in conjunction with appropriate similarity measure) that doesn't require access to the entire data set.
The features have very different ranges, but for technical reasons I'd ideally like to avoid a normalisation step.