File size: 1,758 Bytes
2f6b10b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from pathlib import Path

import sqlalchemy
from montreal_forced_aligner import config

config.USE_POSTGRES = False
config.CLEAN = True
config.QUIET = True
config.TEMPORARY_DIRECTORY = Path(__file__).parent.joinpath("temp")

from montreal_forced_aligner.corpus.acoustic_corpus import AcousticCorpus
from montreal_forced_aligner.db import Utterance

root_dir = Path(r"D:\Data\speech\model_training_corpora")


languages = [
    #'english',
    "korean",
    "bulgarian",
    "vietnamese",
    "serbocroatian",
    "hausa",
    "ukrainian",
    "thai",
    "swahili",
    "turkish",
    "spanish",
    "swedish",
    "portuguese",
    "polish",
    "french",
    "czech",
    "japanese",
    "russian",
    "german",
    "mandarin",
    "tamil",
    "hindi-urdu",
]

languages = ["czech"]

for language_directory in root_dir.iterdir():
    if not language_directory.is_dir():
        continue
    if language_directory.name not in languages:
        continue
    print(language_directory.name)
    for corpus_directory in language_directory.iterdir():
        if not corpus_directory.is_dir():
            continue
        corpus_name = corpus_directory.name
        print(corpus_name)
        print("=" * len(corpus_name))
        c = AcousticCorpus(corpus_directory=corpus_directory)
        c._load_corpus()
        print("Num utterances:", c.num_utterances)
        print("Num files:", c.num_files)
        print("Num speakers:", c.num_speakers)
        with c.session() as session:
            total_duration = (
                session.query(sqlalchemy.func.sum(Utterance.duration))
                .filter(Utterance.text != "")
                .first()[0]
                / 3600
            )
        print("Num hours:", total_duration)
        print()