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.

1 回表示 (過去 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 Center および File ExchangeParametric Spectral Estimation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by