Popełniłem program obrabiający podany sygnał. Do tego co w kodzie, jest jeszcze segmentacja, transformacja itp. ale to wszystko mi działa. Nie działa natomiast nakładanie się 3 głosów i echo. Kompiluje się, ale nie wyświetla wykresów. Pomoże ktoś? Dzięki.

bits=50;
%%% czytanie pliku 
[FN,PN]=uigetfile('*.wav','Wybierz plik do obróbki');
   if any(PN)==1
      [x,fp,bits]=wavread(char([PN,FN]));       
   end
%%% odtworzenie pliku
 sound(x,44100)             %odtworzeie pliku bez obróbki
 
%%% nakladanie sie 3 glosow
 clear
 f=700;
 fp=44100;
 dt=1/fp;
 t=0:dt:3;
   [FN,PN]=uigetfile('*.wav')
   if any(PN)==1                    %warunek poprawnosci pliku, jeśli jest spełniony, plik nazwany jest g
      [g,fp,bits]=wavread(char([PN,FN]));       
   end 
   [FN,PN]=uigetfile('*.wav')
   if any(PN)==1
      [h,fp,bits]=wavread(char([PN,FN]));      %warunek poprawnosci pliku, jeśli jest spełniony, plik nazwany jest h 
   end
   [FN,PN]=uigetfile('*.wav')
   if any(PN)==1
      [j,fp,bits]=wavread(char([PN,FN]));      %warunek poprawnosci pliku, jeśli jest spełniony, plik nazwany jest j 
   end
 ghj=g+h+j;                          % dodawanie macierzowe trzech dzwieków             Warunek konieczny- macierze muszą mieć ten sam wymiar       
 sound(ghj,44100)
 figure                              
 plot(ghj)                              % rysowanie wykresu z nałożonymi dźwiękami
 title('chor');
 
 %%% tworzenie echa
 clear
 f=700;
 fp=44100;
 dt=1/fp;
 t=0:dt:3;
   [FN,PN]=uigetfile('*.wav')
   if any(PN)==1
      [y,fp,bits]=wavread(char([PN,FN]));       
   end
 ya=y(:,1); 
 ya=ya';
 z(5000)=0;
 y1=[z ya(1:length(y)-5000)]; 
 y2=[z z y1(1:length(y1)-10000)];
 yc=ya/3+y1/3+y2/3;
 sound(yc,44100,16)
 figure
 plot(yc)
 title('echo');