I obtain spectral centroid in matlab using this code:
Fs = 200
v = [0.79230, 0.28280, 0.63000, 0.64140, 0.76430, 0.25560, 0.27780, 0.73330, 0.48960, 0.01990];
s = spectrogram(v, rectwin(round(Fs*0.03)),...
round(Fs*0.02),...
numel(rectwin(round(Fs*0.03))),...
Fs,...
'power',...
'onesided');
X = abs(sqrt(s/2));
centroid = spectralCentroid(v,Fs,'Window',rectwin(round(Fs*0.03)),...
'OverlapLength',round(Fs*0.02),...
'FFTLength',numel(rectwin(round(Fs*0.03))),...
'Range',[0, Fs/2],...
'SpectrumType','power')
vsc = FeatureSpectralCentroid (X, Fs)
Function FeatureSpectralCentroid I have from this link: https://www.audiocontentanalysis.org/code/audio-features/spectral-centroid/
The results are: centroid = [10.6816, 6.0146, 19.6662] and vsc = [40.4499, 27.4300, 41.0146]
I also use a different implementation of spectral centroid and the results are also different. Sometimes scalar, not vector. How to use FeatureSpectralCentroid to get the same results as in spectralCentroid? Can we always get the same results of spectral centroid?
More...