LAMP IRAN
LAMPIRAN LISTING PROGRAM DAN DATA SUARA «
SPEECH.DPR
»
program Speech; uses Forms, main in 'main.pas' {Forml}, Fourier in 'fourier.pas', windowing in 'windowing.pas', lpc in 'lpc.pas', backpro in 'backpro.pas', paramtrain in 'paramtrain.pas'
{Parameter};
{$R *.RES} begin Application.Initialize; Application.CreateForm(TForml, Forml); Application.CreateForm(TParameter, Parameter); Application.Run; end.
«
MAIN. PAS
»
unit main; interface uses Windows, Messages, Sysutils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, TeEngine, Series~ TeeProcs, Chart, Menus, IniFiles, MsAcm, MMSystem, Fourier,math; var Forml: TForml; panjang,sequen:integer; ulang:byte; jj--------------data preprocessing sinyal -------------------cep,potong : Tdatabobot: jj---------
data untuk backpropagation
iterasi,iunit,jdata,pandata : integer: alpha,eror_mak double: hunit array of integer; masuk,wbobot Tdatabobot: vbobot array of Tdatabobot; identitas array of string:
implementation uses paramtrain,windowing,lpc,backpro; {$R
* .DFM)
const SectionWindow KeyTop KeyLeft KeyWidth KeyHeight
'RecDemo' ; 'Top' ; 'Left'; 'Width'; 'Height';
procedure tforml.frontEndi var a,awal,akhir:integer; temp: Tldimensii begin awal:==Oi akhir:=O; for a:==O to high(realdata) do if abs(realdata[a]»==confe*maksval then begin awal:=a; break; end; for a:=high(realdata) downto 0 do if abs(realdata[a]»=confe*maksval then begin akhir:=a; break; end; setlength (temp, akhir-awal+l) ; for a:=awal to akhir do temp [a-awal] ;=realdata[a]; setlength(realdata,O) ; set length (realdata, akhir-awal+l) ; for a:=O to high (temp) do realdata[a] :=temp[a]; end; procedure Tforml.PengolahanSinyal(sinyal:array of double); var p,i,j integer; win,aut array of double; frekdata array of double; Iidata dalam domain frek realtime,imgtime: Tdatabobot; II data terframing domain time realfrek,imgfrek: Tdatabobot; II data terframing domain frek jumframe integer; begin jumframe:=FrameCount(UkuranFrame,UkuranFrame div 3,high(sinyal)+1) ; setlength(realtime,jumframe); setlength(imgtime,jumframe); setlength(realfrek,jumframe) i setlength(imgfrek,jumframe); setlength(cep,jumframe) ;
pre_emphasis (O.94,sinyal) ; setlength(realtime,jumframe); for i:=O to jumframe-l do begin setlength(realtime[i),UkuranFrame) ; setlength(imgtime[i),UkuranFrame) ; setlength(realfrek[i),UkuranFrame); setlength(imgfrek[i],UkuranFrame); end; framing(UkuranFrame,UkuranFrame div 3,sinyal,realtime); setlength(win,UkuranFrame); win sinyal(O,hanning,win); for i:=O to jumframe-l do for j:=O to UkuranFrame-l do realtime[i,j) :=realtime[i,j)*win[j); for i:=O to jumframe-l do fft(UkuranFrame,realtime[ij,imgtime[ij,realfrek[ij,imgfrek[ij); for i:=O to jumframe-l do for j:=O to UkuranFrame-l do realfrek[i,j) :=loglO(sqrt(sqr(realfrek[i,j))+sqr(imgfrek[i,j)) )); for i:=O to jumframe-l do setlength(realfrek[i),length(realfrek[i)) div 2);
II p:=MakeOrder(frek); p:=15; setlength(aut,p+l); for i:=O to jumframe-l do begin setlength(cep[i],p+l); LPCAnalisis(realfrek[i],length(realfrek[i]),p,aut); Ipc2cepstral(p,p,aut,cep[i]) ; weightingcepstral(p,cep(i)); end; normalisasi; end; procedure tforml.normalisasi; var a,b:integer; kecil,besar:double; begin kecil:=lOO; besar:=-lOO; for a:=O to high(cep) do for b:=O to high(cep[a]) do begin kecil:=min(kecil,cep(a,b]); besar:=max(besar,cep[a,b]) ; end; if kecil0 then for i:=high(hunit) downto 1 do UpdateBobot(alpha,eror_j[i],hiden[i-l],vbobot[i]); end; end; result:=l;//-------normalyexit end; function GetDecision(output:tldimensi;target:Tdatabobot) : integer var i,j : integer; sum,min_e :double; begin min e:=lOOO: result:=O; for i:=O to high(target) do begin sum:=O; for j:=l to high(target[ij) do sum:=sum+abs(output[jj-target[i,j]); if min e>sum then begin result:=i; min e:=sum; end; end; end; function tforml.Kenali(var isiData:Tldimensi) :integer; var output,out in Tldimensi; hiden,hiden in Tdatabobot; target Tdatabobot; i,j,k,jhiden,curr integer; begin curr:=length(isiData); if currpandata then begin stretchsuara(isidata) ;
end; setlength(masuk,l); setlength(cep,O); PengolahanSinyal(IsiData); setlength(masuk[Oj,iunit) ; masuk[O,Oj :=1; k:=l; for i:=O to high(cep) do for j:=O to high(cep[i]) do begin masuk[O,k] :=cep[i,j]; inc(k); end; InitRead(hiden in,hiden,out in,output); InitTarget(target); jhiden:=length(hunit); LayerIn(masuk[O],hiden_in[O],vbobot[O]); FungsiAktivasi(hiden_in[O],hiden[O]); if high(hunit»O then for i:=O to high(hunit)-l do begin Layerln(hiden[i],hiden_in[i+1],vbobot[i+1]); FungsiAktivasi(hiden_in[i+l],hiden[i+l]); end; LayerIn(hiden[jhiden-l],out_in,wbobot); FungsiAktivasi(out_in,output) ; i:=GetDecision(output, target) ; result:=i; end;
«
FOURIER.PAS » {$N+,E+} (* Allows code to use type 'double' and run on any iX86 machine *) {$R-} (* Turn off range checking ... we violate array bounds rules *) unit Fourier; interface procedure fft ( NumSamples: var var var var
Realln: Imagln: RealOut: ImagOut:
word; array array array array
must be a positive integer power of 2 of of of of
double; double; double; double ) ;
implementation function IsPowerOfTwo ( x: word ): boolean; var i, y: word; begin y
for i
2;
:= 1 to 15 do begin
if x = y then begin IsPowerOfTwo .- TRUE; exit; end; y :=
y SHL 1;
end; IsPowerOfTwo .- FALSE; end; procedure FourierTransform ( AngleNumerator: double; NumSamples: word; var Realln: array of double; var Imagln: array of double; array of double; var RealOut: var ImagOut: array of double ) ; var NumBits, i, j, k, n, BlockSize, BlockEnd: word; delta_angle, delta_ar: double; alpha, beta: double; tr, ti, ar, ai: double; begin if not IsPowerOf~wo(NumSamples) or (NumSamples=panjang then hasil[b,aj:=O else hasil[b,a] :=sinyal[posisi+a]; end; inc(posisi,n-m); inc (b) ; until posisi>panjang; end;
prosedur pre emphasis koefisien -> nilai dari penguatan berkisar antara 0.9 - 1 sinya1 -> sinyal yang akan dilakukan proses pre emhasis }
procedure pre_emphasis (koefisien:double;var sinyal:array of double); var temp:array of double; a : integer; begin setlength (temp, high (sinyal) ); for a:=l to high (sinyal) do temp[aj :=sinyal[a]-koefisien*sinyal[a-1]; for a:=l to high (sinyal) do sinyal[a] :=temp[a]; end; procedure hanning_win(var win:array of double); var arg:double; a : integer; panjang:integeri begin panjang:=high(win); arg:= M_2PI /panjang; for a:=O to panjang do win[a]:= 0.5 * (1 - cos (a * arg));
end;
prosedur windowing sinyal panjang -> panjang dari daerah yang akan di window nflg -> normalisasi flag o -> tidak dinormalisasi 1 -> normalisasi oleh power 2 -> normalisasi oleh magnitude kode -> kode tipe window yang dipakai win -> koefisien hasil windowing; }
procedure win_sinyal(nflg:integer;kode:twindow;var win:array of double); var a:integer; g:double; panjang:integer; begin g:=l; panjang:=high(win); for a:=O to panjang do win[a] :=0; hanning:hanning_win(win) ; case nflg of O:g:=l; l:begin g:=O; for a:=O to panjang do g:=g+sqr(win[a]); g:=sqrt(g); end; 2:begin g:=O; for a:=O to panjang do g:=g+win [aJ; end; end; for a:=O to panjang do win[aJ:=win[aJ/g; end; end.
«
LPC. PAS
{$N+,E+} machine *) {$R-} rules *)
» (* Allows code to use type 'double' and run on any iX86 (* Turn off range checking ... we violate array bounds
unit lpc; interface uses math, main;
function LPCAnalisis(sinyal:array of double;framelength,p:integer;var a:array of double) : integer; function MakeOrder (BandWith: integer) :integer; procedure Ipc2cepstral(pl,p2:integer;a:array of double;var c:array of double); procedure weightingcepstral(p;integer;var c:array of double);
const M PI:double=3.l4159265358979323846; implementation function MakeOrder(BandWith:integer) :integer; begin result:=2*(BandWith div 1000+1); end;
//-----------------------------------------// { fungsi autokorelasi untuk meminimalisasi mse dari LPC p -> order dari prediksi r -> koefisien autokorelasi frame_length -> panjang frame sinyal -> data sinyal hasil procedure adalah : koefisien autokorelasi }
//-----------------------------------------// procedure autocorelation(sinyal:array of double;frame_length,p:integer;var r:array of double); var a,b:integer; temp :double; begin for a:=O to p do begin temp:=O; for b:=O to frame_length-1-a do temp:=temp+sinyal[b]*sinyal[b+a]; r[a] :=temp; end; end;
//-----------------------------------------// { fungsi untuk mencari koefisien prediksi dari LPC r -> koefisien autokorelasi p -> order dari prediksi eps -> singular check kp -> koefisien prediksi hasil fungsi adalah : o -> normaly completed 1 -> abnormaly completed 2 -> unstable LPC }
//-----------------------------------------//
function CariKoefisienPrediksi(r:array of double;p:integer;eps:double;var kp:array of double) : integer; var rmd,mue :double; a,b,flag:integer; c : array of double; begin flag:=O; setlength(c,p+I); if eps order dari Ipc a -> koefisien dari lpc hasilnya adalah apakah Ipc kita stabil atau nggak }
//-----------------------------------------// function LPCAnalisis(sinyal:array of double;framelength,p:integer;var a:array of double) : integer; var r :array of double; flag,b,c:integer;
temp :double; sinpred :array of double; begin setlength(r,p+1); setlength(sinpred,framelength) ; autoeorelation(sinyal,framelength,p,r) ; flag:=CariKoefisienPrediksi(r,p,-l,a) ; for b:=l to framelength-1 do begin temp:=O; for e:==l to p do if b-e>=O then temp:=temp+sinyal(b-e]*a[e]; sinpred(b] :=temp; end; result:==flag; end;
//-----------------------------------------// {
prosedur untuk meneari koefisien eepstral pI -> order dari lpe p2 -> order dari eepstral a -> koefisien dari lpe e -> koefisien dari cepstral hasilnya adalah koefisien eepstral -> e )
//-----------------------------------------// procedure Ipc2eepstral(p1,p2:integer;a:array of double;var e:array of double); var i,j,k : integer; temp :double; begin e[O] :==log10(a[O]); e [1] : =-a [1) ; for i:=2 to p2 do begin j : =i; if i>p1 then k:=i-p1 else k:=l; temp:=O; repeat temp:=temp+k*e[k)*a[i-k); inc (k) ; until k>=j; e[i] :=-temp/i; if i order dari cepstral
C -> koefisien dari cepstral hasilnya adalah koefisien cepstral yang telah di boboti -> c )
//-----------------------------------------// procedure weightingcepstral(p:integer;var c:array of double); var a:integer; w:array of double; arg:double; begin setlength(w,p+l)i arg:=M_PI!p; for a:=l to p do w[aJ :=1+(p/2)*sin(a*arg)i for a:=l to p do c[aJ:=c[aJ*w[aJ; end; end.
«
BACKPRO.PAS » {$N+,E+} (* Allows code to use type 'double' and run on any iX86 machine *) {$R-) (* Turn off range checking ... we violate array bounds rules *) unit backproi interface uses math,main;
implementation procedure RandomBobot(var bobot:Tdatabobot): var a,b:integer: begin for a:=O to high (bobot) do for b:=O to high(bobot[a]) do bobot[a,b] :=random-O.5; end; procedure NguyenWidrow (var,bobot: tdatabobot) : var beta:double: a,b :integer; old :double: Unitlnput,UnitHiden:integer; begin Unitlnput:=high(bobot) ; UnitHiden:=high(bobot[O)); beta:=O.7*(power(UnitHiden,1/Unitlnput)) ; for a:=l to UnitHiden do begin old:=O: for b:=l to Unitlnput-l do old:=old+sqr(bobot[b,a)); old:=sqrt (old) ; for b:=l to UnitInput-l do
bobot[b,a] :=beta*bobot[b,a]/old; bobot[O,a] :=beta*(1-2*random); end; end; function sigmoid(nilai:real) :real begin result:=l/(l+(exp(-nilai)) ); end; function TurunanSigmoid(nilai:real) :real i begin result:= sigmoid(nilai) * (l-sigmoid(nilai) ); end; procedure InisialisasiBobot(var vbobot:array of Tdatabobot;var wbobot:Tdatabobot); var a:integer; begin RandomBobot(vbobot[O]); NguyenWidrow(vbobot[O]); if high (vbobot)>0 then for a:=l to high (vbobot) do RandomBobot(vbobot[a]); RandomBobot(wbobot) : end: procedure Layerln(prev:array of double;var next:Tldimensi:bobot:Tdatabobot): var a,b:integer: begin for a:=l to high (next) do begin next[a] :=bobot[O,a]: for b:=l to high (prev) do next[a] :=next[a]+bobot[b,a]*prev[b]; e~;
~d;
procedure FungsiAktivasi(inp:array of double;var hasil:array of double); var a:integer; begin for a:=l to high(hasil) do hasil[a] :=sigmoid(inp[a]): end; procedure CalculateOutputEror(target,output,out in:array of double;var eror_k:array of double); var a:integer; begin for a:=l to high(target) do eror_k[a] :=(target[a]-output[a])*TurunanSigmoid(out_in[a]); end: procedure CalculateHidenEror(eror_next,hiden_in:array of double;bobot:Tdatabobot;var eror_j:array of double); var a,b:integer;
eror in:double; begin for a:=l to high (bobot) do begin eror in:=O; for b:=l to high(bobot[a]) do eror_in:=eror_in+eror_next[b]*bobot[a,b]; eror j[a]:=eror in*TurunanSigmoid(hiden in[a])i end; end; procedure UpdateBobot(alpha:double;eror_next,prev_data:array of double;var bobot:Tdatabobot); var a,b:integer; begin for a:=O to high (bobot) do for b:=O to high(bobot[a]) do bobot[a,b] :=bobot[a,b]+alpha*eror_next[b]*prev_data[a]; end; end.
",."
Mi.
'·'''SII»''
I Ixl
NdMn
i
Mii
·'eeMN!I@!i
_I Ixl
f_1 R_d\ ~
t[t!~] ea.tF~Eftd
ril.
'" ........... r~. "" ........
hlPl~
Ii' ±r""
!ly"'" -I ~
,..
Potlli;onlJla'JfIonI132S0bjoQIl
'."'"
'i.;
Gambar 4.02 (file O-l.wav)
'-"'M.'m'"
_I Ixl
; ,FII"M,ijilla
_I .,cl
--I I
--I Aeoerdl
Aeeo-d
~
2!J IL~oiJI
IIT~ eaw:,.. w
Caw:F. . &d
,,~.
iO~.
,"-
111:~
r~.
r~.
'"""""""" ~iJn""
!'rwI1Jrt.......,
~ii"0Xl
-""....
-I ~
....
...
'."'"
-I
~
Po,.,.lJT76t1orw 1J176\¥ft
....
Gambar 4.03 (file 0-2.wav) Fem
~ ~
,...
Gambar 4.01 (file O.wav) LSJ!&U
""-
r~.
ME·.
Fe
'W!,
Gambar 4.04 (file 0-3.wav)
.
I •••
! loci
--I
H_I ~
1t:YJ e....t,..!1Id r~_ lltPftrri.lo
r-:-i_
-...
""-
I
'.-
Gambar 4.05 (file 0-4.wav)
-I
~
ro~. lltPtwrioG
r~.
"" .......
\0 ii"1XD
,."
c..I"I'OrCCncII
--
I'ii""" ~
~
_."""
~ Po.tiotl17.a8l1om11401w.
Gambar 4.06 (file 0-5.wav)
"UM000_ fri fOo
-
_I
83
ifM• •
,x,
N"fh 000..... fOo
,_I !
-
hi.'
_I Ixl
S*ffiffiW"BN*
'_I B.....
.2':.l
...!:':J
C.II'C.FwtErd.
CCI'llFwotEn:I
I[F~I
ILG.i!fl1
,._
r;j,
~±l. lttPlLft'IIW;!
~:;:l.
~::tJ.
...r:;:rooo """'"
"""'-"
,..
r:;:r""
-
"" ""..... ''''' '... '.""
'>00
~
§!!'.d'4§
AM
..
""
~
Gambar 4.07 (file 0-6.wav) •• 'tiM
..........1
-.-J
Gambar 4.08 (file 0-7.wav)
ii
pI '')('
QM§§
.IIFYI., • •"egws.",.F
I -,I
'_I
FOIIII.
a_d !
~ /lG.£)
2!J
CawfllDnt[NI
~FwII[1'd
IL~j
.
iOj. , ...-.,
1.......
..........
.........,•
-I
-I
I'j.
iO::tJ.
--..
~::tJ
r~
rjo""
...
' ,......121 . . .
--.----J
.....,.....
Gambar 4.09 (file 0-8.wav)
POl ll.025kHl.S".Wona
Gambar 4.10 (file 0-9.wav) 1.1
ilWi
'-I -'I
~
I[~~
c....'tO"Ilnd
iO:;:l.
'ttPlwnnu
iO::tJ. ...........
iO jo""
-I
~
,_I 0--1
"
""'" • 'M'-~U
~
I ." c.,.
--...
......
"" ........
1[~4J
,'~
!OJ •
,.........
."
...
-3S
...,
~L-
__________
~
__
--
~
...,
__________________
""
~
'.-
A:J,I11 025U{1,8B4.1M0NI
Gambar 4.11 (file l.wav)
...
-.-J
,%1".,-.
....
I
fi_ d
Gambar 4.12 (file 1-l.wav)
!O::tJ • iO :tY'11l1J -I ~
,adM"
'"aihiY_
" 'x,
"·'''dll·
Mi"'" ••
I Ixl
'_I I
'_I I
Reoord
ReQOfd
~
~
IrG,~il
)rGr-;i-n
CcnItf.afllfnd
CcnItFlOnIfftd
r:;:l.
r~.
2nd_ I':::J. 1.~
'otP,......-.g
r:::J. 2nd~ ......
.....
'" yOlO -I
'" yooo
~
~
-I
.
""
Poolionl.lol4ltonol"'"¥-t
Gambar 4.13 (file 1-2.wav) ·'E6!!
'MS-'
eM
f'()I11 025tt{r.8B(Moroo
Gambar 4.14 (file 1-3.wav) _I Ixl
iI.8
a;;M'
NEdII
Me
SM'
'_I Rom'1
'_I R"",'I
-_
-_
~
~ !rG•• H
1Wi'!
~
....
j.
11t"",""
r:tj.
I
Jo
....
j.
lltPvmg
I':tj. 2nd ........
2nd""""'
fOiJn ...
fO iJn"'"
--
-I --.-J
-I --.-J
'.OlO
f'CN1UI25kHJ.8",MCICI
f'0411.D25kH&.81i.MCIIIO
Gambar 4.15 (file 1-4.wav)
•
.. I Ixl
Gambar 4.16 (file 1-5.wav)
'x,
SF·
•
fiIo 0.-...
'_I """"I
-_
'_I n_'1
-_ "-
~
~
I[]!!!il
1ij!!D
I
....
.....
1O:tj.
I'j.
,.........
!OJ.
!OJ. fOiJnOlll
2nd_
2ndf"llA'li-G
fO iJn"'"
-I
-I
~
"""""s....
~
"""""s....
Gambar 4.17 (file 1-6.wav)
'xl
'9 tp,J.
PCM l1.11l5kHLUIM.M ""'{O±Jmm ......
'aPft.nYo
Il'jj>
""{O....... :tin
1Dl
~ ~
~ ~
Gambar 4.79 (file 7-8.wav) h
Gambar 4.80 (file 7-9.wav)
•
'MMI""".'.
'M
.1 Ixl
Ixl
....=:J
.,
~ ~
~
c-t,... w
I.:: """"'IiIIIIY'1li
!'±I.
,-........
c.., .., ..,
ID
j"
!'±I.
'-""'":21" ""JO....... ±!nOlI 10
·lD
0ll
.., .S)
~~---------------L--------'-~~--'->m----J
~ ~
Gambar 4.82 (file 8-1.wav)
Gambar 4.81 (file 8.wav)
•
c-t'... En:I
~
...... JO :tin
""
.,
.
. .I·,: "
•
Ixl
'M •
.1 Ixl
~ ~ ~
~ ~
c....FO'tfnd
r.-dF-*End
!'±I>
!Oil'
~
~ll
,..
~ 1.. ~
~
!'±I.
!'j.
""JO...... :tin...
""JO 1"011 ~ ~
Gambar 4.83 (file 8-2. wav)
.,., Gambar 4.84 (file 8-3. wav)
~ ~
'F
H,,.,.
.1 ""
Sound Ghk.
f" _ _
. . .tIIL
"*'"
Pame". MY".
I lxl
~
.,~r-----------------~------r--------.
~
~
2!..l
~ ~
CmllflwEfId
r;o..tFfOI'tEfId
fOjjll
r:J lI
lro4tl
~
1.~
1.......
~j].
~j] •
.............
.... .........
1':;Jn""
..
~ ~
R""'l'n~.~
Gambar 4.85 (file 8-4.wav) ·M
--
...
'
.."
1,0»
.---J
•. A~.Iot_
Gambar 4.86 (file 8-5.wav)
_,M"
Ixl
...=:::J
~ ~ ILiAci
--
Hi,M",
61;M"&
.1 Ixl
SOlWld
...=:::J
"
~ ~
OJ
f[Mjl CawI Food End
Ccr.tFotUod
....... 0 :Zt1l
IO~.
!O~.
,.........
,
~ ~
Gambar 4.87 (file 8-6.wav)
""0
1
1
""I' :tin""
.+6
I' :tin 0lJ ~
:J"
I'~""
-,
-....
".an
. . :;00
'''''
~ ~
.......
Gambar 4.88 (file 8-7.wav)
i Ixl f. ar-tiDII AIxU
...=:::J
...=:::J
CcnIFGlEnd
CcNIFotEm
~ ~ ~
~ ~ Il&il
!O~.
IO~.
1.fIIoIIwW'G
1.~
""-
""...
!OJ].
!OJ].
I'~
1'i:Jt1""
'
~
~
.---J
.---J ~~
Gambar 4.89 (file 8-8.wav)
......
n:t.!11.o:1ItIIc,.OIW"Iot_
"_1;:aQJfr_10!0X1i:¥U
Gambar 4.90 (file 8-9.wav)
·,,'"
lye
'Me,.
.1 l.xl
~
I,
I! E~
QpM«iotI
,M
~IXII
ii'Ie
Bbao.t
.,
~ ~
~ ~ [Ej
u:=:!I
CeNlFwtEm
!OjJ.
,. ........
W-jJ.
,..........
C-lf_Errd
,-"c-'"
!Oil·
"W-j. ........
"" ......
-
'"
IO"j.
""""""" fO ilmm
""""""" fOil n..
~ ~
~ ~
."'"
".
111PnNirc1
IO"j.
Gambar 4.109 (file se-8.wav) nnw'!"
;MM', ' Ii
Gambar 4.110 (file se-9.wav)
pe"a
Ix.
a• • •
!.i • •, .
.\ Ixl
...:::::-J
-I
~
u:a.iI
t-tFIIOItUd
tor.cFIIIft£ni:
fO:Zj.
[O::l •
.........
ll1PMri'"G
""-
i1~
10
~
""r~ ....... eoo
"""Gambar 4.111 (file betas. way) iii
! Ixl
,-I
1,m
1,«10
~ ~
41 .+
WM
'xl
-=-l
~
~ ~
c..tF..aErod
"",,,_End
-I ~
fOil>
~
fO::l.
..........
r±\'l""
...-
~ ~
~ ~
'It~
[O:Zj.
• jill
lp:JtJ
Gambar 4.112 (file belas-1.wav)
E'96
.,.,.
j.
r±\'lOll
Gambar 4.113 (file belas-2.wav)
'011~
[O::l.
r±\'l""
Gambar 4.114 (file belas-3.wav)
"PWOfJ
AlGA • • • • •
,,,.,,P.
'x'
iN".
..lBii
~
~
~ ~
[E§
~ ~
!r~1
ca.tFIIIfIEfId
CcNtFIIIfIErod
I' j.
\O~t
1.~
,..,
'"
''''''
1"PrI....-ino
W-:t!. .........
10 :BnOlJ
• ...10W-j ...... iJnllll
~ ~
~ ~
Gambar 4.115 (file belas-4.wav) aM'
+ . ."
iF
'x,
MIWF"P'··
I.ill*iI.
Gambar 4.116 (file belas-5.wav) ! Ixl
'.w.
...&,
I IXI
WMH'IEM
...=J -I ~ I[i"o,JI c-tflOltbcl
tcntflDltEII'd
,.!Oil· ......
!Oil.
-
,.""""j ,
""-
~t ...10iJn"" '"
10
10 :)t1111l
~ ~
....... ,..... Gambar 4.117 (file belas-6. way)
Me
---.J
--. ........
Gambar 4.118 (file belas-7.wav) ! Ixl
H'SHii.
~
a-
.M
! Ixl
Mi,EiiM F
E"~!bauI
-=:!l ~
2!J
1Gi\ii]\
CanltfatEnd
CawtFatElld
1t1.~
I'il-
-
.....
""JOiJn.. ..,
"...
')0>
floJol
~
!Oil·
.,.
-I
-I
~ ~
Gambar 4.119 (file belas-8.wav)
I'j. ll1P11nWc1
r:;:l.
""-
10±In"" ~ ~
Gambar 4.120 (file belas-9.wav)
Ad"!!
'Ae'
,'"",S_W"'-' '
Ixl
"* 'Au ;.;••,
eMil
H"II.'
.1 'xl
~
~
~ ~ ~
~ ~ [B]
c...:f1llt'tElld
t.er.lfl(W'(E..rI
r±l.
'II~
r±l. ........
2nd ......
2nd .........
~:;:r.
~~""
~±I'
~j.
...
~ ~
Gambar 4.121 (file puluh.wav) edWiih a .",• •,, 'M
-"='
~
Gambar 4.122 (file puluh-1. way) .t lx'
. . . .!F
"
'M&M4
i.
Ail'.'.
we"
.1 Ixl
--=--l
-=-i
""I I'-Md
~
t..lF.... ENI
tar.lFut!...:l
~
~
ewl
r±l_ 1._ r±l.
IOjJk lt1Pnwro
r±l.
......
2nd .......
~ ~
~ ~
""~:;:r..m
.'" I"CM".~.,U..
,OO",,,,,,,,
ro.oll~"""'.Oo..."",,,,
~"1l110""",'201CI.IJII_
,W.IM
MiSM".g
r.........,'a:nO_.lllt1G~_
Gambar 4 .124 (file puluh-3. wav)
Gambar 4.123 (file puluh-2. way) .M
~j:f10lJ
Mi,.ii'••
.1 lx'
lx'
...,";1 ~ ~
"',.. 1
-I
..!'!J
I~I
~
c.a.Foort&.d
ea-.tFCIrt&!d
ril.
!Oil· ........ 2nd_ r±l.
111~
iOj.
"" ......
1O~1IIl
~
~
Gambar4.125 (file puluh-4.wav)
IO~
SIC
..........
t,DllO
1.9
''''
~ ~
Gambar 4.126 (file puluh- S. wav)
f" _ _ .M i_t4" 'G6i1i" F.' 'E"'W' ei
-.IIg
lx'
f~
Q,o-
~
~ ~ ~
-
'§e'."""'·'E"'M"MiIi
Ixl
~
~ ~
~
C-FIOI'tEII(I
ecn.tFIOI't£M'
IOjJ:t
/OJ:t
1.......
lll~
......
~:J. ~
~:J.
~"""""
"±in""
" ±i""" 2,O1lO
~ ~
~ ~
Gambar 4.128 (file puluh-7.wav)
Gambar 4.127 (file puluh-6.wav)
aNew """'''liU,Miei 1uM'M'eewiiihMMiM' 8;
_I Ixl
N6W!4
F
4;''''''*'·'••'.'fi
91
.1
''.
~
f_1 Bemd
~ ~
I
~
~
I~I
Crr.t Foort End
!O±i.
CClnll FIOri EI'Id
"""""" 10 ........
r±l~
~:t
1-ItPl~
~
jOj:J.
" ±In''" ~ ~
2ndPl....w-.o
fO:.1'>lXIl
-I ~ PCM 11.025 kHz. 8 Bl.Mono
'x,
Gambar 4.130 (file puluh-9.wav)
PotitiJn 10128 IIOftI 10128t¥et
Gambar 4.129 (file puluh-8.wav)
l
f
l' f,
-
.. ~----~--.-