예제 #1
0
def test_type_properties(acoustic_config):
    with CorpusContext(acoustic_config) as c:
        q = c.query_graph(c.word).order_by(c.word.begin)
        q = q.columns(c.word.id.column_name('id'))

        results = q.all()
        id = results[1]['id']

        model = LinguisticAnnotation(c)
        model.load(id)
        assert(model.label == 'this')
        assert(model.transcription == 'dh.ih.s')
예제 #2
0
def test_models(acoustic_config):
    with CorpusContext(acoustic_config) as c:
        q = c.query_graph(c.phone).order_by(c.phone.begin)
        q = q.columns(c.phone.id.column_name('id'))

        results = q.all()
        id = results[0]['id']

        model = LinguisticAnnotation(c)
        model.load(id)
        assert(model.label == '<SIL>')

        assert(model.following.label == 'dh')

        assert(model.following.following.label == 'ih')
        assert(model.previous is None)
예제 #3
0
def test_delete(subannotation_config):
    with CorpusContext(subannotation_config) as c:

        q = c.query_graph(c.phone).order_by(c.phone.id)
        res = q.all()
        id = res[0].id
        model = LinguisticAnnotation(c)
        model.load(id)

        assert(model.voicing_during_closure[0].begin == 99)

        model.delete_subannotation(model.voicing_during_closure[0])

        q = c.query_graph(c.phone).order_by(c.phone.id)
        res = q.all()
        id = res[0].id
        model = LinguisticAnnotation(c)
        model.load(id)

        assert(model.voicing_during_closure == [])
예제 #4
0
def test_hierarchical(acoustic_config):
    with CorpusContext(acoustic_config) as c:
        q = c.query_graph(c.word).order_by(c.word.begin)
        q = q.columns(c.word.id.column_name('id'))

        results = q.all()
        id = results[1]['id']

        model = LinguisticAnnotation(c)
        model.load(id)
        assert(model.label == 'this')
        assert([x.label for x in model.phone] == ['dh','ih','s'])

        q = c.query_graph(c.phone).order_by(c.phone.begin)
        q = q.columns(c.phone.id.column_name('id'))

        results = q.all()
        id = results[1]['id']

        model = LinguisticAnnotation(c)
        model.load(id)
        assert(model.label == 'dh')
        assert(model.word.label == 'this')
예제 #5
0
def test_add_subannotation(subannotation_config):
    with CorpusContext(subannotation_config) as c:
        q = c.query_graph(c.phone).order_by(c.phone.id)
        q = q.columns(c.phone.id.column_name('id'))
        res = q.all()
        id = res[0]['id']
        model = LinguisticAnnotation(c)
        model.load(id)
        assert(model.voicing_during_closure == [])

        model.add_subannotation('voicing_during_closure', begin = 100, end = 101)
        model.save()
        print(model._subannotations)
        print(model.voicing_during_closure)
        assert(model.voicing_during_closure[0].begin == 100)
        id = model.voicing_during_closure[0].id

        submodel = SubAnnotation(c)
        submodel.load(id)

        submodel.update_properties(begin = 99)

        submodel.save()

        q = c.query_graph(c.phone).order_by(c.phone.id)
        res = q.all()
        id = res[0]['id']
        model = LinguisticAnnotation(c)
        model.load(id)

        assert(model.voicing_during_closure[0].begin == 99)