오디오 파일을 받아와서 FFT한 결과가 나와야 하는데
'인덱스가 행렬의 차원을 초과합니다' 라고 나옵니다..
하루종일 이거때문에 찾아다녔는데 해결을 못하고 있습니다
도와 주시면 감사하겠습니다.
지금쓴 코드입니다.......
% Wave파일 읽어 들이기
[yy,Fs] = audioread('sound.m4a'); % 음원 파일 입력
L = length(yy); % Length of signal
y = zeros(L,1);
for k = 1:L;
y(k,1) = yy(k,1) + yy(k,2);
end
T = 1/Fs; % Sample time
t = (0:L-1)*T; % Time vector
%plot(Fs*t(1:50),y(1:50))
%title('Signal Corrupted with Zero-Mean Random Noise')
%xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2+1)))
%axis([0 4000 0 0.01]);%축 고정
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('amplitude')