what should be the constraint on window length in function melspectrogram?
21 views (last 30 days)
I am using the in built function melspectrogram in a loop, for calculation of spectrograms of a wav dataset.
The code I am using is given below:
fs = 44100;
frameDuration = 0.046;
hopDuration = 0.023;
numBands = 128;
frameLength = round(frameDuration*fs);
hopLength = round(hopDuration*fs);
spec = melSpectrogram(x,fs, ...
'OverlapLength',frameLength - hopLength, ...
getting the error below:
Error using audio.internal.MelSpectrogramValidator/validateOptionalInputs (line 97)
Invalid window length. WINDOWLENGTH must be in the range [2,size(x,1)], where x is the audio input.
The default window length depends on the specified sample rate: round(fs*0.03).
the audio data length is 160000. Can someone guide me whats wrong here? This is working fine on other dataset, with sampling rate=16000.
jibrahim on 12 Jan 2022
This looks fine. Make sure that your input x is a column vector, not a row vector. The function treats each column as a separate channel, so I would expect to see this error if x is a long row vector,