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;

 Réponse acceptée

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 commentaires

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.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by