1 like 0 dislike
1 view
in Matlab by anonymous Bilge (165k points)
reshown by anonymous
Matlab ses filtreleme

1 Answer

0 like 0 dislike
by anonymous Bilge (165k points)
% Volume 1 Ses dosyasını düzenliyoruz.
[speech,fs]=audioread('sestestqe.wav');
sure_ms=100;                 % 100 milisaniyelik parçalar alacağız.
enerji_esik=1;               % Enerjisi uygun olanlar 1 olacak.
s_s=0;                       % Ses sayısı
ses_par=sure_ms*fs/1000;     % 100ms için 4400 ornek olacak
speech2=speech(1:(length(speech))-mod(length(speech),ses_par),1);
sesler=reshape(speech2,ses_par,length(speech2)/ses_par); % 2sn/100ms=>20 ses
enegies=sqrt(sum(sesler.*sesler))';
vuv=enegies>enerji_esik     % Eşik değerine göre 1-0 dizisi elde ettik.
ses_baslangici=0;
% Volume 2  Harfleri ayırıyoruz.
for j=1:length(enegies);
    if((vuv(j)==0)&& (vuv(j+1)==1)) % 0 ile başlayıp sonrasında 1 varsa ses başlangıcıdır.
        ses_baslangici=j+1;
        disp(ses_baslangici);
       break;
    end
end
disp('KAYIT')
q=ses_baslangici+1;
w=q+1;
HARF = sesler(:,[q,w,w+1]); % 2 sutun seçmek şimdilik yeterli.
HARF=HARF(:);           % iki sutunu tek sutuna indirdik.(1. altına ekledik.)
size(HARF);
audiowrite('harftestqe.wav',HARF,fs);
...