can anyone tell me what is wrong with this program?

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;

 Accepted 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

4 Comments

i tried the for loop but i am still not getting the plot!!
When you do
a=sum(temp)
you are getting the total energy of the system. if you want the plot corresponding to each sample, then plot temp instead of a.
i am still not getting the short-time energy plot !! what should i try ?
is your error still the same as shown in figure. If so it is because of line 4, change the format of function to
sound(y,fs);
If a different error is present send the snap.

Sign in to comment.

More Answers (0)

Categories

Find more on Audio Processing Algorithm Design in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!