MATLAB: Can anyone tell me what is wrong with this program

#matlab #audiospeech

clear all;
clc;
[y,fs,nbits]=wavread('fatmamedhat.wav');
sound(y,fs,nbits);
y=y(:,1);
fs=44100; %sampling frequency
FRAME_DURATION=0.03; %typical duration for frame
L=FRAME_DURATION*fs;
OVERLAPPED_DURATION=0.005; %overlapped duration
R=floor(OVERLAPPED_DURATION*fs);
X=buffer(y,L,R);
n=length(y);
t=(0:n-1)/fs; %times of sampling
%plotting the wave signal
subplot(2,1,1);
plot(t,y);
title('wave signal');
xlabel('Time (s)');
ylabel('Amplitude');
grid on;
%calculating the energy signal
temp=0;
i=1:y;
temp=((y(i).^2+temp)>=0);
a=temp/10;
%plotting the energy of the wave file
subplot(2,1,2);
plot(i,a);
title('energy signal');
xlabel('Time (s)');
ylabel('Amplitude');
grid on;

Best Answer

1. Sound function generally takes in two arguments, but you have given three that includes nbits.
2. A for loop is missing, and should be based on the size/length of y
for i=1:length(y);% y is size Nx1
temp=((y(i).^2)>=0);
end
sum(temp)% total energy
Related Question