Nonfinite endpoints or increment for colon operator in index.

19 views (last 30 days)
hi, cant help me with this error?
i cant see this message: "Nonfinite endpoints or increment for colon operator in index."
the error is in the line "Error in sexto (line 90)
frame = x(curPos:curPos+windowLength-1); % get current frame:"
this is my code:
clc
clear
y1final= sum(y1,2)/2;
y2 = audioread('juan2.mp3');
y2final= sum(y2,2)/2;
y3 = audioread('juan3.mp3');
y3final= sum(y3,2)/2;
y4 = audioread('juan4.mp3');
y4final= sum(y4,2)/2;
y5 = audioread('juan5.mp3');
y5final= sum(y5,2)/2;
y6 = audioread('juan6.mp3');
y6final= sum(y6,2)/2;
y7 = audioread('juan7.mp3');
y7final= sum(y7,2)/2;
y8 = audioread('juan8.mp3');
y8final= sum(y8,2)/2;
windowLength= 2;
step=1;
var=0;
info = audioinfo('JuanCorto.wav');
fs= info.SampleRate;
numOfSamples=(info.TotalSamples);
nChannels=(info.NumChannels);
curSample=1;
BlockSize= 44099;
while(curSample <= numOfSamples)
N1= curSample;
N2= curSample + BlockSize -1;
if(N2>numOfSamples)
N2= numOfSamples;
end
tempX=audioread('juanCorto.wav',[N1,N2]);
plot(tempX);
drawnow;
curSample= curSample + (BlockSize);
audiowrite('libro.wav',curSample,44100);
[x,Ys] = audioread('libro.wav');
windowLength = round(windowLength * Ys); step = round(step * Ys);
curPos = 1; L = length(x);
% compute the total number of frames:
numOfFrames = floor((L-windowLength)/step) + 1;
figure;
for (i=1:numOfFrames) % for each frame
mensaje='dilan';
frame = x(curPos:curPos+windowLength-1); % get current frame:
% multiply the frame with the hamming window:
frameW = frame .* window(@hamming, length(frame));
% DO SOMETHIN WITH 'frameW' HERE:
xfinal= sum(frameW,2)/2;
cor=xcorr(xfinal,y1final);
cor2=xcorr(xfinal,y2final);
cor3=xcorr(xfinal,y3final);
cor4=xcorr(xfinal,y4final);
cor5=xcorr(xfinal,y5final);
cor6=xcorr(xfinal,y6final);
cor7=xcorr(xfinal,y7final);
cor8=xcorr(xfinal,y8final);
% corN= cor./sqrt(corrX.*corrY);
corN= cor./sqrt(max(xcorr(y1final))*max(xcorr(xfinal)));
corN2= cor2./sqrt(max(xcorr(y2final))*max(xcorr(xfinal)));
corN3= cor3./sqrt(max(xcorr(y3final))*max(xcorr(xfinal)));
corN4= cor4./sqrt(max(xcorr(y4final))*max(xcorr(xfinal)));
corN5= cor5./sqrt(max(xcorr(y5final))*max(xcorr(xfinal)));
corN6= cor6./sqrt(max(xcorr(y6final))*max(xcorr(xfinal)));
corN7= cor7./sqrt(max(xcorr(y7final))*max(xcorr(xfinal)));
corN8= cor8./sqrt(max(xcorr(y8final))*max(xcorr(xfinal)));
val = max(corN);
val1 = max(corN2);
val2 = max(corN3);
val3 = max(corN4);
val4 = max(corN5);
val5 = max(corN6);
val6 = max(corN7);
val7 = max(corN8);
if (val>0.1 | val1>0.1 |val2>0.1 | val3> 0.2 |val4>0.2 | val5>0.1 | val6>0.1 | val7>0.1)
disp(mensaje)
end
curPos = curPos + step;
end
end
  1 Comment
Matt J
Matt J on 1 Dec 2019
i cant see this message: "Nonfinite endpoints or increment for colon operator in index." the error is in the line "Error in sexto (line 90) frame = x(curPos:curPos+windowLength-1);
Well, did you verify whether curPos and curPos+windowLength-1 are finite as the error message prompted you?

Sign in to comment.

Answers (0)

Categories

Find more on Performance and Memory in Help Center and File Exchange

Tags

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!