~ubuntu-branches/ubuntu/vivid/sphinxtrain/vivid

« back to all changes in this revision

Viewing changes to python/cmusphinx/test_s3model.py

  • Committer: Package Import Robot
  • Author(s): Samuel Thibault
  • Date: 2013-01-02 04:10:21 UTC
  • Revision ID: package-import@ubuntu.com-20130102041021-ynsizmz33fx02hea
Tags: upstream-1.0.8
ImportĀ upstreamĀ versionĀ 1.0.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
 
 
3
import hmm
 
4
import unittest
 
5
import s3model
 
6
import s2mfc
 
7
from feat import _1s_c_d_dd
 
8
import os
 
9
import numpy
 
10
 
 
11
class TestS3Model(unittest.TestCase):
 
12
    def setUp(self):
 
13
        thisdir = os.path.dirname(__file__)
 
14
        self.testdir = os.path.join(thisdir, 'test', 'tidigits')
 
15
        self.acmod = s3model.S3Model(self.testdir)
 
16
 
 
17
    def test_created(self):
 
18
        self.assert_(abs(self.acmod.tmat[0][0,1] - 0.3326) < 0.01)
 
19
        self.assert_(abs(sum(self.acmod.mixw[0,0]) - 1.0) < 0.01)
 
20
        self.assert_(abs(self.acmod.var[0][0][0][0] - 0.2583) < 0.01)
 
21
        self.assert_(abs(self.acmod.var[35][0][0][38] - 16.9266) < 0.01)
 
22
 
 
23
    def test_compute(self):
 
24
        mfcc = s2mfc.open(os.path.join(self.testdir, 'man.ah.111a.mfc')).getall()
 
25
        mfcc -= mfcc.mean(0)
 
26
        feat = _1s_c_d_dd.compute(mfcc)
 
27
        senones = [0, 69, 135, 525]
 
28
        expected = [3.03518949e-36, 1.00000000e+00, 4.47046728e-16, 1.07179724e-01]
 
29
        senscr = self.acmod.senone_compute(senones, feat[0])
 
30
        for i,s in enumerate(senones):
 
31
            self.assert_(abs(senscr[s] - expected[i]) < 0.01)
 
32
 
 
33
if __name__ == '__main__':
 
34
    unittest.main()