what should be the constraint on window length in function melspectrogram?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
krishna Chauhan
am 12 Jan. 2022
Kommentiert: krishna Chauhan
am 15 Jan. 2022
hi there
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, ...
'WindowLength',frameLength, ...
'OverlapLength',frameLength - hopLength, ...
'FFTLength',2048, ...
'NumBands',numBands, ...
'FrequencyRange',[50,8000]);
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.
Thanks
0 Kommentare
Akzeptierte Antwort
jibrahim
am 12 Jan. 2022
Hi Krishna,
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,
3 Kommentare
jibrahim
am 13 Jan. 2022
OK... Could you update your reproduction steps to include x? You can either instantiate a vector of the same dimensions, or attach x in a MAT file.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Feature Extraction finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!