Exemplo n.º 1
0
    def test_from_file_armenian(self):
        tg = TextGrid.from_file('tests/files/numbers.TextGrid', encoding='utf_16')

        assert_equal(tg.tiers[0][0].text, u'մեկ')
        assert_equal(tg.tiers[0][1].text, u'երկու')
        assert_equal(tg.tiers[0][2].text, u'երեք')
        assert_equal(tg.tiers[0][3].text, u'չորս')
Exemplo n.º 2
0
def main(rootDir, outDir):
    print("number of phones appeared in mapping:",
          len(set(phonesTargetMapper.values())), ",",
          "number of target phones:", len(targetPhones))
    phonesLocations = {
    }  # {"ph1": [(fpath1, xmin1, xmax1), (fpath2, xmin2, xmax2), ...], "ph2": [(fpath1, xmin1, xmax1), (fpath2, xmin2, xmax2), ...], ...}
    for targetPhone in targetPhones:
        phonesLocations[targetPhone] = []
    phonesLocations['others'] = []

    for filePath in getFilesPaths(rootDir):
        textGrid = TextGrid.from_file(filePath)
        phonesTier = next(
            filter(lambda interval: interval.name == "phones", textGrid), None)
        if (not phonesTier):
            print("the file has no phones tier !!")
        for interval in phonesTier:
            actualPhone = interval.text.upper()
            targetPhone = phonesTargetMapper.get(actualPhone, 'others')
            relDir = getRelDir(filePath, back=3)
            phonesLocations[targetPhone].append(
                (relDir, interval.xmin, interval.xmax))
    for targetPhone in targetPhones:
        np.savetxt(f"{os.path.join(outDir, targetPhone)}.txt",
                   phonesLocations[targetPhone],
                   fmt='%a')
Exemplo n.º 3
0
    def test_from_file(self):
        tg_file = 'tests/files/doubled-quotes-in-text-and-mark.TextGrid'
        tg = TextGrid.from_file(tg_file)

        assert_equal(tg.xmin, 0.25)
        assert_equal(tg.xmax, 1.5)
        assert_equal(len(tg.tiers), 2)

        assert_is(tg.tiers[0].__class__, IntervalTier)
        assert_equal(tg.tiers[0].name, 'words')
        assert_equal(tg.tiers[0].xmin, 0.1)
        assert_equal(tg.tiers[0].xmax, 1)
        assert_equal(len(tg.tiers[0]._items), 2)

        assert_equal(tg.tiers[0]._items[0].xmin, 0.1)
        assert_equal(tg.tiers[0]._items[0].xmax, 0.5)
        assert_equal(tg.tiers[0]._items[0].text, '"Is anyone home?"')
        assert_equal(tg.tiers[0]._items[1].xmin, 0.5)
        assert_equal(tg.tiers[0]._items[1].xmax, 1)
        assert_equal(tg.tiers[0]._items[1].text, 'asked "Pat"')

        assert_is(tg.tiers[1].__class__, TextTier)
        assert_equal(tg.tiers[1].name, 'points')
        assert_equal(tg.tiers[1].xmin, 0.1)
        assert_equal(tg.tiers[1].xmax, 1)
        assert_equal(len(tg.tiers[1]._items), 2)

        assert_equal(tg.tiers[1]._items[0].number, 0.25)
        assert_equal(tg.tiers[1]._items[0].mark, '"event"')
        assert_equal(tg.tiers[1]._items[1].number, 0.75)
        assert_equal(tg.tiers[1]._items[1].mark, '"event" with quotes again')
Exemplo n.º 4
0
    def test_from_file(self):
        tg_file = 'test/files/doubled-quotes-in-text-and-mark.TextGrid'
        tg = TextGrid.from_file(tg_file)

        assert_equal(tg.xmin, 0.25)
        assert_equal(tg.xmax, 1.5)
        assert_equal(len(tg.tiers), 2)

        assert_is(tg.tiers[0].__class__, IntervalTier)
        assert_equal(tg.tiers[0].name, 'words')
        assert_equal(tg.tiers[0].xmin, 0.1)
        assert_equal(tg.tiers[0].xmax, 1)
        assert_equal(len(tg.tiers[0]._items), 2)

        assert_equal(tg.tiers[0]._items[0].xmin, 0.1)
        assert_equal(tg.tiers[0]._items[0].xmax, 0.5)
        assert_equal(tg.tiers[0]._items[0].text, '"Is anyone home?"')
        assert_equal(tg.tiers[0]._items[1].xmin, 0.5)
        assert_equal(tg.tiers[0]._items[1].xmax, 1)
        assert_equal(tg.tiers[0]._items[1].text, 'asked "Pat"')

        assert_is(tg.tiers[1].__class__, TextTier)
        assert_equal(tg.tiers[1].name, 'points')
        assert_equal(tg.tiers[1].xmin, 0.1)
        assert_equal(tg.tiers[1].xmax, 1)
        assert_equal(len(tg.tiers[1]._items), 2)

        assert_equal(tg.tiers[1]._items[0].number, 0.25)
        assert_equal(tg.tiers[1]._items[0].mark, '"event"')
        assert_equal(tg.tiers[1]._items[1].number, 0.75)
        assert_equal(tg.tiers[1]._items[1].mark, '"event" with quotes again')
Exemplo n.º 5
0
    def test_from_file_armenian(self):
        tg = TextGrid.from_file('test/files/numbers.TextGrid',
                                encoding='utf_16')

        assert_equal(tg.tiers[0][0].text, u'մեկ')
        assert_equal(tg.tiers[0][1].text, u'երկու')
        assert_equal(tg.tiers[0][2].text, u'երեք')
        assert_equal(tg.tiers[0][3].text, u'չորս')
Exemplo n.º 6
0
    def test_from_file_missing_header(self):
        with assert_raises(ValueError):
            TextGrid.from_file('tests/files/intervals-no-filetype.TextGrid')

        with assert_raises(ValueError):
            TextGrid.from_file('tests/files/intervals-no-object-class.TextGrid')
Exemplo n.º 7
0
 def test_utf8_bom(self):
     # BOM should be skipped by regex
     tg = TextGrid.from_file('tests/files/intervals-utf8-bom.TextGrid')
     assert_equal(tg.tiers[1][1].text, 'ciao')
Exemplo n.º 8
0
    def test_from_file_missing_header(self):
        with assert_raises(ValueError):
            TextGrid.from_file('test/files/intervals-no-filetype.TextGrid')

        with assert_raises(ValueError):
            TextGrid.from_file('test/files/intervals-no-object-class.TextGrid')
Exemplo n.º 9
0
 def test_utf8_bom(self):
     # BOM should be skipped by regex
     tg = TextGrid.from_file('test/files/intervals-utf8-bom.TextGrid')
     assert_equal(tg.tiers[1][1].text, 'ciao')