#### test_HMM.praat1.5 KB Permalink History Raw

 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 ``````# test_HMM.praat appendInfoLine: "test_HMM" @mm @hmms_test_multiple_os # two state not hidden model procedure mm .mm1 = Create simple HMM: "m1", "no", "1 2", "" Set transition probabilities: 1, "0.8 0.2" Set transition probabilities: 2, "0.4 0.6" # check sum of p leaving for .it to 10 .psum = 0 for .istate to 2 .lnp = Get p (time, state): .it , .istate .p = exp(.lnp) .psum += .p endfor assert (.psum>0.999 and .psum<1.001) endfor .os = To HMMObservationSequence: 0, 2000 .mm2 = To HMM: 0, "no" plusObject: .os Learn: 0.001, 0.00000001, "no" selectObject: .mm2 # check sum of p leaving for .it to 10 .psum = 0 for .istate to 2 .p = Get p (time, state): .it, .istate .p = exp(.p) .psum += .p endfor assert (.psum>0.999 and .psum<1.001) endfor removeObject: .mm1, .mm2, .os endproc procedure hmms_test_multiple_os .hmm = Create simple HMM: "hmm1", "no", "1 2 3", "" Set transition probabilities: 1, "0.5 0.1 0.4" Set transition probabilities: 2, "0.3 0.5 0.2" Set transition probabilities: 3, "0.4 0.1 0.5" .os = To HMMObservationSequence: 0, 20000 .s = To Strings .s1 = Extract part: 1, 10001 .os1 = To HMMObservationSequence selectObject: .s .s2 = Extract part: 10002, 20000 .os2 = To HMMObservationSequence .hmm2 = Create simple HMM: "hmm3", "no", "1 2 3", "" selectObject: .hmm2, .os1, .os2 Learn: 0001, 0.00000001, "no" removeObject: .s, .s1, .s2, .hmm2, .os, .os1, .os2, .hmm endproc appendInfoLine: "test_HMM OK" ``````