我使用以下代码在matlab中获得光谱质心:
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)
函数FeatureSpectralCentroid
我从这个链接得到:https://www.audiocontentanalysis.org/code/audio-features/spectral-centroid/
结果是:centroid = [10.6816, 6.0146, 19.6662]
和vsc = [40.4499, 27.4300, 41.0146]
我还采用了不同的光谱质心实现,结果也不同。有时是标量,而不是向量。如何使用FeatureSpectralCentroid
获得与spectralCentroid
相同的结果?我们总能得到相同的光谱质心结果吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐