I'm trying to find abrupt changes in the spectrogram of an audio using the findchangepts function. However, every time I get the error: Expected input number to be finite.

3 次查看(过去 30 天)
[y, Fs] = audioread('vocals.wav');
findchangepts(y,'MaxNumChanges',10,'Statistic','rms')
[s,f,t,pxx] = spectrogram(y,128,120,128,Fs, 'yaxis');
findchangepts(pow2db(pxx),'MaxNumChanges',50)

回答(1 个)

Walter Roberson
Walter Roberson 2022-12-8
Suppose that somehow one of the output powers in pxx were exactly 0. Then pow2db() would be -inf there, but findchangeptrs() cannot accept infinite inputs.

类别

Help CenterFile Exchange 中查找有关 Parametric Spectral Estimation 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by