Exemplo n.º 1
0
    def test_interpolate_hmm(self):
        acmodel1 = AcModel()
        acmodel1.load_htk( os.path.join(HERE, "1-hmmdefs") )
        acmodel2 = AcModel()
        acmodel2.load_htk( os.path.join(HERE,"2-hmmdefs") )
        ahmm1=acmodel1.get_hmm('a')
        ahmm2=acmodel2.get_hmm('a')

        # transitions
        # (notice that the transition of 'a' in acmodel1 is in a macro.)
        a1transition = [macro["transition"] for macro in acmodel1.macros if macro.get('transition',None)][0]
        transitions = [ a1transition['definition'],ahmm2.definition['transition'] ]
        trs = self.lin.linear_transitions( transitions, [1,0])
        compare(trs,a1transition['definition'])
        self.assertTrue(compare(trs,a1transition['definition']))

        acmodel1.fill_hmms()

        transitions = [ ahmm1.definition['transition'],ahmm2.definition['transition'] ]
        trs = self.lin.linear_transitions( transitions, [1,0])
        self.assertTrue(compare(trs,ahmm1.definition['transition']))

        trs = self.lin.linear_transitions( transitions, [0,1])
        self.assertTrue(compare(trs,ahmm2.definition['transition']))

        # states
        # (notice that the state 2 of 'a' in acmodel1 is in a macro.)
        states = [ ahmm1.definition['states'],ahmm2.definition['states'] ]
        sts = self.lin.linear_states( states, [1,0])
        compare(sts,ahmm1.definition['states'],verbose=True)
        self.assertTrue(compare(sts,ahmm1.definition['states']))
        sts = self.lin.linear_states( states, [0,1])
        self.assertTrue(compare(sts,ahmm2.definition['states']))
Exemplo n.º 2
0
    def test_fill(self):
        acmodel1 = AcModel()
        acmodel1.load_htk( os.path.join(HERE,"1-hmmdefs") )
        ahmm1=acmodel1.get_hmm('a')
        a1transition = [macro["transition"] for macro in acmodel1.macros if macro.get('transition',None)][0]

        acmodel1.fill_hmms()
        self.assertTrue(compare(ahmm1.definition['transition'],a1transition['definition']))