Advertisement
Guest User

odf

a guest
Jan 29th, 2015
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. clear all
  2. clc
  3. [c1,pathc1]=uigetfile({'*.wav'},'Select the data');
  4. file1=[pathc1,c1];
  5. SAMPEL1=importdata(file1);
  6. bufS1=SAMPEL1.data;
  7. S1=bufS1(:,1);
  8. FS1=SAMPEL1.fs;
  9.  
  10. [c2,pathc2]=uigetfile({'*.wav'},'Select the data');
  11. file2=[pathc2,c2];
  12. SAMPEL2=importdata(file2);
  13. bufS2=SAMPEL2.data;
  14. S2=bufS2(:,1);
  15. FS2=SAMPEL2.fs;
  16. panjang1=length(S1);
  17. panjang2=length(S2);
  18. N1=FS1*0.02;
  19. M1=FS1*0.01;
  20. N2=FS2*0.02;
  21. M2=FS2*0.01;
  22. NFRAME1=floor((panjang1/M1)-1);
  23. count1=0;
  24. for k=1:NFRAME1
  25. FRAME1=S1((k-1)*M1+1:N1+(k-1)*M1);
  26. AMP1MAX=max(S1);
  27. DEL1=0.09*AMP1MAX
  28. MAXVAL1=max(FRAME1);
  29. if MAXVAL1>DEL1
  30. count1=count1+1;
  31. S1SRbuf((count1-1)*M1+1:N1+(count1-1)*M1)=FRAME1;
  32. end
  33. end
  34.  
  35. S1SR=S1SRbuf';
  36. NFRAME2=floor((panjang2/M2)-1);
  37. count2=0;
  38. for k=1:NFRAME2
  39. FRAME2=S2((k-1)*M2+1:N2+(k-1)*M2);
  40. AMP2MAX=max(S2);
  41. DEL2=0.09*AMP2MAX;
  42. MAXVAL2=max(FRAME2);
  43. if MAXVAL2>
  44. count2=count2+1;
  45. S2SRbuf((count2-1)*M2+1:N2+(count2-1)*M2)=FRAME2;
  46. end
  47. end
  48.  
  49. S2SR=S2SRbuf';
  50. L1=length(S1SR);
  51. L2=length(S2SR);
  52. S1DCR=S1SR-(sum(S1SR)/L1);
  53. S2DCR=S2SR-(sum(S2SR)/L2);
  54. alpha=0.97;
  55. S1PE=zeros(L1,1);
  56. S1PE(1,1)=S1DCR(1,1);
  57. for i=2:L1
  58. S1PE(i,1)=S1DCR(i,1)-alpha*S1DCR(i-1,1);
  59. end
  60. S2PE=zeros(L2,1);
  61. S2PE(1,1)=S2DCR(1,1);
  62. for i=2:L2
  63. S2PE(i,1)=S2DCR(i,1)-alpha*S2DCR(i-1,1);
  64. end
  65. N_FRAME1=floor((L1/M1)-1);
  66. hitung1=0;
  67. SWND1=hamming(N1);
  68. for k1=1:N_FRAME1
  69. FRAME_1=S1PE((k1-1)*M1+1:N1+(k1-1)*M1);
  70. hitung1=hitung1+1;
  71. S1W(((hitung1-1)*M1+1):(N1+(hitung1-1)*M1))=S1PE(((hitung1-1)*M1+1):(N1+(hitung1-1)*M1)).*SWND1;
  72. end
  73.  
  74. N_FRAME2=floor((L2/M2)-1);
  75. hitung2=0;
  76. SWND2=hamming(N2);
  77. for k2=1:N_FRAME2
  78. FRAME_2=S2PE((k2-1)*M2+1:N2+(k2-1)*M2);
  79. hitung2=hitung2+1;
  80. S2W((hitung2-1)*M2+1:N2+(hitung2-1)*M2)=S2PE(((hitung2-1)*M2+1):(N2+(hitung2-1)*M2)).*SWND2;
  81. end
  82. S1FFT=fftshift(S1W);
  83. S2FFT=fftshift(S2W);
  84. [PXX1,Fil1]=periodogram(S1FFT,[],512,FS1);
  85. Filter1=melfilter(N1,Fil1);
  86. S1MEL=Filter1*PXX1;
  87. [PXX2,Fil2]=periodogram(S2FFT,[],512,FS2);
  88. Filter2=melfilter(N2,Fil2);
  89. S2MEL=Filter2*PXX2;
  90. S1DCT=dct(S1MEL);
  91. S2DCT=dct(S2MEL);
  92. S1C=cceps(S1DCT);
  93. S2C=cceps(S2DCT);
  94. [Dist,D,k,w]=dtw(S1C',S2C');
  95. disp(Dist);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement