Nonfinite endpoints or increment for colon operator in index.
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Matt J
il 1 Dic 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?
Risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!