オーディオ トラックからエネルギー機能を抽出する .m ファイルを作成しようとしていますが、その実装に問題があるようです。
% Formula for calculating RMS
[f, fs, nb] = wavread('Three.wav');
frameWidth=441; %10ms
numSamples=length(x);
numFrames=(numSamples/1);
energy(frame)=0;
for frame=1:numFrames,
startSample=(frame-1)*frameWidth+1;
endSample=startSample+frameWidth-1;
% Calculate frame energy
for i=startSample:endSample
energy(frame)=energy(frame)+x(i)^2;
end
end
そのファイルを MATLAB で実行すると、次のエラーが発生します。
??? x(2) にアクセスしようとしました。numel(x)=1 であるため、インデックスが範囲外です。エラー ==> 12 の myrms energy(frame)=energy(frame)+x(i)^2;
どんな助けでも大歓迎です。