VOWELS = {"A", "A:", "E", "E0", "E:", "I", "I:", "O", "O:", "U", "U:", "Y", "Y:",
          "Ä", "Ä3", "Ä4", "Ä:", "Å", "Å:", "Ö", "Ö3", "Ö4", "Ö:"}
VOICELESS_STOPS = {"k", "t", "p", "2t"}


IPA2WAX = {
    '<hes>': 'öh', '<ha>': 'ha', '<kl>': 'kl', '<pa>': 'pa', '<sm>': 'sm', '<v>': 'v',
    'œ̞ː': 'Ö3', 'ɑː': 'A:', 'eː': 'E:', 'iː': 'I:', 'uː': 'O:', 'ʉː': 'U:', 'yː': 'Y:',
    'æː': 'Ä3', 'ɛː': 'Ä:', 'œ̞': 'Ö4', 'øː': 'Ö:', 'oː': 'Å:',
    'ɖ': '2D', 'ɭ': '2L', 'ɳ': '2N', 'ʂ': '2S', 'ʈ': '2T',
    'a': 'A', 'b': 'B', 'd': 'D', 'e': 'E', 'ə': 'E0', 'f': 'F', 'ɡ': 'G', 'h': 'H',
    'ɪ': 'I', 'j': 'J', 'k': 'K', 'l': 'L', 'm': 'M', 'n': 'N', 'ŋ': 'NG', 'ʊ': 'O',
    'p': 'P', 'r': 'R', 's': 'S', 'ɧ': 'SJ', 't': 'T', 'ɕ': 'TJ', 'ɵ': 'U', 'v': 'V',
    'ʏ': 'Y', 'ɛ': 'Ä', 'æ': 'Ä4', 'œ': 'Ö', 'ɔ': 'Å', ' ': 'SIL'
}
SPECIAL = {"<pad>", "<s>", "</s>", "<unk>", ""}
_VOCAB = sorted(IPA2WAX, key=len, reverse=True)


def ipa_to_phones(text):
    phones = []
    for word in text.replace("|", " ").split():
        if word in SPECIAL:
            continue
        i = 0
        while i < len(word):
            for sym in _VOCAB:
                if word.startswith(sym, i):
                    phones.append(IPA2WAX[sym])
                    i += len(sym)
                    break
            else:
                raise ValueError(f"unknown IPA {word[i:]!r} in {word!r}")
    return phones
ipa_to_phones("ɔtɪ")
['Å', 'T', 'I']
sample = '{"word": "på", "word_start_ms": 52780, "word_end_ms": 52840, "tokens": [{"text": "poː", "start_ms": 52780, "end_ms": 52860, "annotations": {}}], "has_epenthetic": false, "annotations": {"match_method": "exact_timing"}, "metadata": {"id": "CA37298"}, "ipa": "poː", "dict_match_score": 1.0}'
import json

data = json.loads(sample)
data.keys()
dict_keys(['word', 'word_start_ms', 'word_end_ms', 'tokens', 'has_epenthetic', 'annotations', 'metadata', 'ipa', 'dict_match_score'])
import json

lines = []

with open("/tmp/storspigg_word_pronunciations.jsonl") as inf:
    for line in inf.readlines():
        sample = json.loads(line)
        if sample["dict_match_score"] != 1.0:
            continue
        line = f'{sample["word"]}\t{" ".join(ipa_to_phones(sample["ipa"]))}'
        if not line in lines:
            lines.append(line)

with open("/tmp/storspigg_waxholm.dict", "w") as outf:
    for line in sorted(lines):
        print(line, file=outf)
numbers = {}

with open("sp_numlist") as f:
    for line in f.readlines():
        line = line.strip()
        if not ' ' in line:
            continue
        key = line.replace(" ", "")
        numbers[key] = line
numbers
{'etthundraarton': 'ett hundra arton',
 'etthundraelva': 'ett hundra elva',
 'etthundraen': 'ett hundra en',
 'etthundrafem': 'ett hundra fem',
 'etthundrafemtio': 'ett hundra femtio',
 'etthundrafemtioen': 'ett hundra femtio en',
 'etthundrafemtiofem': 'ett hundra femtio fem',
 'etthundrafemtiofyra': 'ett hundra femtio fyra',
 'etthundrafemtionio': 'ett hundra femtio nio',
 'etthundrafemtiosex': 'ett hundra femtio sex',
 'etthundrafemtiosju': 'ett hundra femtio sju',
 'etthundrafemtiotre': 'ett hundra femtio tre',
 'etthundrafemtiotvå': 'ett hundra femtio två',
 'etthundrafemtioåtta': 'ett hundra femtio åtta',
 'etthundrafemton': 'ett hundra femton',
 'etthundrafyra': 'ett hundra fyra',
 'etthundrafyrtio': 'ett hundra fyrtio',
 'etthundrafyrtioen': 'ett hundra fyrtio en',
 'etthundrafyrtiofem': 'ett hundra fyrtio fem',
 'etthundrafyrtiofyra': 'ett hundra fyrtio fyra',
 'etthundrafyrtionio': 'ett hundra fyrtio nio',
 'etthundrafyrtiosex': 'ett hundra fyrtio sex',
 'etthundrafyrtiosju': 'ett hundra fyrtio sju',
 'etthundrafyrtiotre': 'ett hundra fyrtio tre',
 'etthundrafyrtiotvå': 'ett hundra fyrtio två',
 'etthundrafyrtioåtta': 'ett hundra fyrtio åtta',
 'etthundranio': 'ett hundra nio',
 'etthundranittio': 'ett hundra nittio',
 'etthundranittioen': 'ett hundra nittio en',
 'etthundranittiofem': 'ett hundra nittio fem',
 'etthundranittiofyra': 'ett hundra nittio fyra',
 'etthundranittionio': 'ett hundra nittio nio',
 'etthundranittiosex': 'ett hundra nittio sex',
 'etthundranittiosju': 'ett hundra nittio sju',
 'etthundranittiotre': 'ett hundra nittio tre',
 'etthundranittiotvå': 'ett hundra nittio två',
 'etthundranittioåtta': 'ett hundra nittio åtta',
 'etthundranitton': 'ett hundra nitton',
 'etthundrasex': 'ett hundra sex',
 'etthundrasextio': 'ett hundra sextio',
 'etthundrasextioen': 'ett hundra sextio en',
 'etthundrasextiofem': 'ett hundra sextio fem',
 'etthundrasextiofyra': 'ett hundra sextio fyra',
 'etthundrasextionio': 'ett hundra sextio nio',
 'etthundrasextiosex': 'ett hundra sextio sex',
 'etthundrasextiosju': 'ett hundra sextio sju',
 'etthundrasextiotre': 'ett hundra sextio tre',
 'etthundrasextiotvå': 'ett hundra sextio två',
 'etthundrasextioåtta': 'ett hundra sextio åtta',
 'etthundrasexton': 'ett hundra sexton',
 'etthundrasju': 'ett hundra sju',
 'etthundrasjuttio': 'ett hundra sjuttio',
 'etthundrasjuttioen': 'ett hundra sjuttio en',
 'etthundrasjuttiofem': 'ett hundra sjuttio fem',
 'etthundrasjuttiofyra': 'ett hundra sjuttio fyra',
 'etthundrasjuttiosex': 'ett hundra sjuttio sex',
 'etthundrasjuttiosju': 'ett hundra sjuttio sju',
 'etthundrasjuttiotre': 'ett hundra sjuttio tre',
 'etthundrasjuttiotvå': 'ett hundra sjuttio två',
 'etthundrasjuttioåtta': 'ett hundra sjuttio åtta',
 'etthundratio': 'ett hundra tio',
 'etthundratjugo': 'ett hundra tjugo',
 'etthundratjugoen': 'ett hundra tjugo en',
 'etthundratjugofem': 'ett hundra tjugo fem',
 'etthundratjugofyra': 'ett hundra tjugo fyra',
 'etthundratjugonio': 'ett hundra tjugo nio',
 'etthundratjugosex': 'ett hundra tjugo sex',
 'etthundratjugosju': 'ett hundra tjugo sju',
 'etthundratjugoåtta': 'ett hundra tjugo åtta',
 'etthundratolv': 'ett hundra tolv',
 'etthundratrettio': 'ett hundra trettio',
 'etthundratrettiofem': 'ett hundra trettio fem',
 'etthundratrettiofyra': 'ett hundra trettio fyra',
 'etthundratrettionio': 'ett hundra trettio nio',
 'etthundratrettiosex': 'ett hundra trettio sex',
 'etthundratrettiotre': 'ett hundra trettio tre',
 'etthundratrettiotvå': 'ett hundra trettio två',
 'etthundratrettioåtta': 'ett hundra trettio åtta',
 'etthundratretton': 'ett hundra tretton',
 'etthundraåtta': 'ett hundra åtta',
 'etthundraåttio': 'ett hundra åttio',
 'etthundraåttioen': 'ett hundra åttio en',
 'etthundraåttiofem': 'ett hundra åttio fem',
 'etthundraåttiofyra': 'ett hundra åttio fyra',
 'etthundraåttionio': 'ett hundra åttio nio',
 'etthundraåttiosex': 'ett hundra åttio sex',
 'etthundraåttiosju': 'ett hundra åttio sju',
 'etthundraåttiotre': 'ett hundra åttio tre',
 'etthundraåttiotvå': 'ett hundra åttio två',
 'etthundraåttioåtta': 'ett hundra åttio åtta',
 'femhundraelva': 'fem hundra elva',
 'femhundrafemtionio': 'fem hundra femtio nio',
 'femhundrafemtiosex': 'fem hundra femtio sex',
 'femhundrafemtiosju': 'fem hundra femtio sju',
 'femhundrafjorton': 'fem hundra fjorton',
 'femhundrafyra': 'fem hundra fyra',
 'femhundrafyrtioen': 'fem hundra fyrtio en',
 'femhundrafyrtiotre': 'fem hundra fyrtio tre',
 'femhundrafyrtiotvå': 'fem hundra fyrtio två',
 'femhundranittiosex': 'fem hundra nittio sex',
 'femhundranitton': 'fem hundra nitton',
 'femhundrasex': 'fem hundra sex',
 'femhundrasextio': 'fem hundra sextio',
 'femhundrasextiosju': 'fem hundra sextio sju',
 'femhundrasjuttio': 'fem hundra sjuttio',
 'femhundrasjuttiofem': 'fem hundra sjuttio fem',
 'femhundratjugo': 'fem hundra tjugo',
 'femhundratjugofem': 'fem hundra tjugo fem',
 'femhundratjugosex': 'fem hundra tjugo sex',
 'femhundratjugotre': 'fem hundra tjugo tre',
 'femhundratjugoåtta': 'fem hundra tjugo åtta',
 'femhundratolv': 'fem hundra tolv',
 'femhundratrettioen': 'fem hundra trettio en',
 'femhundratrettiofem': 'fem hundra trettio fem',
 'femhundratrettiosju': 'fem hundra trettio sju',
 'femhundratrettioåtta': 'fem hundra trettio åtta',
 'femhundraåtta': 'fem hundra åtta',
 'femhundraåttio': 'fem hundra åttio',
 'femhundraåttioen': 'fem hundra åttio en',
 'femhundraåttiosex': 'fem hundra åttio sex',
 'femhundraåttiosju': 'fem hundra åttio sju',
 'femtiosex': 'femtio sex',
 'femtiotre': 'femtio tre',
 'fyrahundra': 'fyra hundra',
 'fyrahundrafemtio': 'fyra hundra femtio',
 'fyrahundrafemtiofem': 'fyra hundra femtio fem',
 'fyrahundrafemton': 'fyra hundra femton',
 'fyrahundrafjorton': 'fyra hundra fjorton',
 'fyrahundrafyrtiofem': 'fyra hundra fyrtio fem',
 'fyrahundrafyrtiosex': 'fyra hundra fyrtio sex',
 'fyrahundrafyrtiotre': 'fyra hundra fyrtio tre',
 'fyrahundrafyrtiotvå': 'fyra hundra fyrtio två',
 'fyrahundrafyrtioåtta': 'fyra hundra fyrtio åtta',
 'fyrahundranittio': 'fyra hundra nittio',
 'fyrahundranittioen': 'fyra hundra nittio en',
 'fyrahundranittiosex': 'fyra hundra nittio sex',
 'fyrahundranittiotre': 'fyra hundra nittio tre',
 'fyrahundranittioåtta': 'fyra hundra nittio åtta',
 'fyrahundrasextioen': 'fyra hundra sextio en',
 'fyrahundrasextiofyra': 'fyra hundra sextio fyra',
 'fyrahundrasextionio': 'fyra hundra sextio nio',
 'fyrahundrasextiotre': 'fyra hundra sextio tre',
 'fyrahundrasextiotvå': 'fyra hundra sextio två',
 'fyrahundrasexton': 'fyra hundra sexton',
 'fyrahundrasjuttiofyra': 'fyra hundra sjuttio fyra',
 'fyrahundrasjuttiosju': 'fyra hundra sjuttio sju',
 'fyrahundrasjuttiotvå': 'fyra hundra sjuttio två',
 'fyrahundrasjuttioåtta': 'fyra hundra sjuttio åtta',
 'fyrahundrasjutton': 'fyra hundra sjutton',
 'fyrahundratio': 'fyra hundra tio',
 'fyrahundratjugoen': 'fyra hundra tjugo en',
 'fyrahundratjugofem': 'fyra hundra tjugo fem',
 'fyrahundratjugofyra': 'fyra hundra tjugo fyra',
 'fyrahundratjugonio': 'fyra hundra tjugo nio',
 'fyrahundratjugosex': 'fyra hundra tjugo sex',
 'fyrahundratjugotre': 'fyra hundra tjugo tre',
 'fyrahundratjugoåtta': 'fyra hundra tjugo åtta',
 'fyrahundratolv': 'fyra hundra tolv',
 'fyrahundratrettio': 'fyra hundra trettio',
 'fyrahundratrettioen': 'fyra hundra trettio en',
 'fyrahundratrettionio': 'fyra hundra trettio nio',
 'fyrahundratrettiotvå': 'fyra hundra trettio två',
 'fyrahundratretton': 'fyra hundra tretton',
 'fyrahundratvå': 'fyra hundra två',
 'fyrahundraåttiotvå': 'fyra hundra åttio två',
 'fyrtiofem': 'fyrtio fem',
 'fyrtiofyra': 'fyrtio fyra',
 'fyrtiosex': 'fyrtio sex',
 'fyrtiosju': 'fyrtio sju',
 'fyrtiotre': 'fyrtio tre',
 'fyrtioåtta': 'fyrtio åtta',
 'nittioen': 'nittio en',
 'nittiofem': 'nittio fem',
 'nittiofyra': 'nittio fyra',
 'nittionio': 'nittio nio',
 'nittiosex': 'nittio sex',
 'nittiosju': 'nittio sju',
 'nittiotre': 'nittio tre',
 'nittiotvå': 'nittio två',
 'nittioåtta': 'nittio åtta',
 'sexhundraelva': 'sex hundra elva',
 'sexhundrasextiosex': 'sex hundra sextio sex',
 'sexhundrasju': 'sex hundra sju',
 'sexhundratio': 'sex hundra tio',
 'sexhundratrettio': 'sex hundra trettio',
 'sexhundratrettioen': 'sex hundra trettio en',
 'sexhundratvå': 'sex hundra två',
 'sexhundraåttiosju': 'sex hundra åttio sju',
 'sexhundraåttioåtta': 'sex hundra åttio åtta',
 'sextioen': 'sextio en',
 'sextiofem': 'sextio fem',
 'sextiofyra': 'sextio fyra',
 'sextionio': 'sextio nio',
 'sextiosju': 'sextio sju',
 'sextiotre': 'sextio tre',
 'sextiotvå': 'sextio två',
 'sjuhundrafyrtiofem': 'sju hundra fyrtio fem',
 'sjuhundrafyrtiotvå': 'sju hundra fyrtio två',
 'sjuhundratjugosex': 'sju hundra tjugo sex',
 'sjuhundratre': 'sju hundra tre',
 'sjuhundratretton': 'sju hundra tretton',
 'sjuttiofem': 'sjuttio fem',
 'sjuttionio': 'sjuttio nio',
 'sjuttiosex': 'sjuttio sex',
 'sjuttiosju': 'sjuttio sju',
 'sjuttiotvå': 'sjuttio två',
 'tjugofyra': 'tjugo fyra',
 'tjugohundraarton': 'tjugo hundra arton',
 'tjugohundrafemton': 'tjugo hundra femton',
 'tjugohundrasexton': 'tjugo hundra sexton',
 'tjugohundrasjutton': 'tjugo hundra sjutton',
 'tjugonio': 'tjugo nio',
 'tjugotvå': 'tjugo två',
 'trehundra': 'tre hundra',
 'trehundraarton': 'tre hundra arton',
 'trehundraen': 'tre hundra en',
 'trehundrafem': 'tre hundra fem',
 'trehundrafemtio': 'tre hundra femtio',
 'trehundrafemtioen': 'tre hundra femtio en',
 'trehundrafemtiofem': 'tre hundra femtio fem',
 'trehundrafemtionio': 'tre hundra femtio nio',
 'trehundrafemtiosex': 'tre hundra femtio sex',
 'trehundrafemtiosju': 'tre hundra femtio sju',
 'trehundrafemtiotvå': 'tre hundra femtio två',
 'trehundrafemtioåtta': 'tre hundra femtio åtta',
 'trehundrafemton': 'tre hundra femton',
 'trehundrafjorton': 'tre hundra fjorton',
 'trehundrafyra': 'tre hundra fyra',
 'trehundrafyrtio': 'tre hundra fyrtio',
 'trehundrafyrtioen': 'tre hundra fyrtio en',
 'trehundrafyrtiofyra': 'tre hundra fyrtio fyra',
 'trehundrafyrtionio': 'tre hundra fyrtio nio',
 'trehundrafyrtiosex': 'tre hundra fyrtio sex',
 'trehundrafyrtiosju': 'tre hundra fyrtio sju',
 'trehundrafyrtiotre': 'tre hundra fyrtio tre',
 'trehundranio': 'tre hundra nio',
 'trehundranittio': 'tre hundra nittio',
 'trehundranittioen': 'tre hundra nittio en',
 'trehundranittiofyra': 'tre hundra nittio fyra',
 'trehundranittionio': 'tre hundra nittio nio',
 'trehundranittiosex': 'tre hundra nittio sex',
 'trehundranittiotre': 'tre hundra nittio tre',
 'trehundranittiotvå': 'tre hundra nittio två',
 'trehundranittioåtta': 'tre hundra nittio åtta',
 'trehundranitton': 'tre hundra nitton',
 'trehundrasextiofem': 'tre hundra sextio fem',
 'trehundrasextiosex': 'tre hundra sextio sex',
 'trehundrasextiosju': 'tre hundra sextio sju',
 'trehundrasextiotre': 'tre hundra sextio tre',
 'trehundrasextiotvå': 'tre hundra sextio två',
 'trehundrasextioåtta': 'tre hundra sextio åtta',
 'trehundrasexton': 'tre hundra sexton',
 'trehundrasjuttio': 'tre hundra sjuttio',
 'trehundrasjuttioen': 'tre hundra sjuttio en',
 'trehundrasjuttiofem': 'tre hundra sjuttio fem',
 'trehundrasjuttiofyra': 'tre hundra sjuttio fyra',
 'trehundrasjuttionio': 'tre hundra sjuttio nio',
 'trehundrasjuttiosex': 'tre hundra sjuttio sex',
 'trehundrasjuttiotvå': 'tre hundra sjuttio två',
 'trehundrasjuttioåtta': 'tre hundra sjuttio åtta',
 'trehundrasjutton': 'tre hundra sjutton',
 'trehundratio': 'tre hundra tio',
 'trehundratjugo': 'tre hundra tjugo',
 'trehundratjugoen': 'tre hundra tjugo en',
 'trehundratjugofem': 'tre hundra tjugo fem',
 'trehundratjugofyra': 'tre hundra tjugo fyra',
 'trehundratjugonio': 'tre hundra tjugo nio',
 'trehundratjugosex': 'tre hundra tjugo sex',
 'trehundratjugosju': 'tre hundra tjugo sju',
 'trehundratjugotre': 'tre hundra tjugo tre',
 'trehundratjugoåtta': 'tre hundra tjugo åtta',
 'trehundratolv': 'tre hundra tolv',
 'trehundratre': 'tre hundra tre',
 'trehundratrettioen': 'tre hundra trettio en',
 'trehundratrettiofem': 'tre hundra trettio fem',
 'trehundratrettiofyra': 'tre hundra trettio fyra',
 'trehundratrettionio': 'tre hundra trettio nio',
 'trehundratrettiosex': 'tre hundra trettio sex',
 'trehundratrettiotre': 'tre hundra trettio tre',
 'trehundratrettiotvå': 'tre hundra trettio två',
 'trehundratrettioåtta': 'tre hundra trettio åtta',
 'trehundratretton': 'tre hundra tretton',
 'trehundratvå': 'tre hundra två',
 'trehundraåtta': 'tre hundra åtta',
 'trehundraåttio': 'tre hundra åttio',
 'trehundraåttiofyra': 'tre hundra åttio fyra',
 'trehundraåttionio': 'tre hundra åttio nio',
 'trehundraåttiosju': 'tre hundra åttio sju',
 'trehundraåttiotre': 'tre hundra åttio tre',
 'trehundraåttioåtta': 'tre hundra åttio åtta',
 'trettiofem': 'trettio fem',
 'trettiofyra': 'trettio fyra',
 'trettionio': 'trettio nio',
 'trettiosex': 'trettio sex',
 'trettiosju': 'trettio sju',
 'trettiotre': 'trettio tre',
 'trettiotvå': 'trettio två',
 'tvåhundra': 'två hundra',
 'tvåhundraarton': 'två hundra arton',
 'tvåhundraelva': 'två hundra elva',
 'tvåhundraen': 'två hundra en',
 'tvåhundrafem': 'två hundra fem',
 'tvåhundrafemtio': 'två hundra femtio',
 'tvåhundrafemtioen': 'två hundra femtio en',
 'tvåhundrafemtiofem': 'två hundra femtio fem',
 'tvåhundrafemtiofyra': 'två hundra femtio fyra',
 'tvåhundrafemtionio': 'två hundra femtio nio',
 'tvåhundrafemtiosex': 'två hundra femtio sex',
 'tvåhundrafemtiosju': 'två hundra femtio sju',
 'tvåhundrafemtiotre': 'två hundra femtio tre',
 'tvåhundrafemtiotvå': 'två hundra femtio två',
 'tvåhundrafemton': 'två hundra femton',
 'tvåhundrafjorton': 'två hundra fjorton',
 'tvåhundrafyra': 'två hundra fyra',
 'tvåhundrafyrtio': 'två hundra fyrtio',
 'tvåhundrafyrtioen': 'två hundra fyrtio en',
 'tvåhundrafyrtiofem': 'två hundra fyrtio fem',
 'tvåhundrafyrtiofyra': 'två hundra fyrtio fyra',
 'tvåhundrafyrtionio': 'två hundra fyrtio nio',
 'tvåhundrafyrtiosex': 'två hundra fyrtio sex',
 'tvåhundrafyrtiotre': 'två hundra fyrtio tre',
 'tvåhundrafyrtiotvå': 'två hundra fyrtio två',
 'tvåhundrafyrtioåtta': 'två hundra fyrtio åtta',
 'tvåhundranio': 'två hundra nio',
 'tvåhundranittioen': 'två hundra nittio en',
 'tvåhundranittiofem': 'två hundra nittio fem',
 'tvåhundranittiofyra': 'två hundra nittio fyra',
 'tvåhundranittionio': 'två hundra nittio nio',
 'tvåhundranittiosex': 'två hundra nittio sex',
 'tvåhundranittiotre': 'två hundra nittio tre',
 'tvåhundranittiotvå': 'två hundra nittio två',
 'tvåhundranittioåtta': 'två hundra nittio åtta',
 'tvåhundranitton': 'två hundra nitton',
 'tvåhundrasex': 'två hundra sex',
 'tvåhundrasextio': 'två hundra sextio',
 'tvåhundrasextiofem': 'två hundra sextio fem',
 'tvåhundrasextiofyra': 'två hundra sextio fyra',
 'tvåhundrasextionio': 'två hundra sextio nio',
 'tvåhundrasextiosex': 'två hundra sextio sex',
 'tvåhundrasextiosju': 'två hundra sextio sju',
 'tvåhundrasextiotre': 'två hundra sextio tre',
 'tvåhundrasextiotvå': 'två hundra sextio två',
 'tvåhundrasextioåtta': 'två hundra sextio åtta',
 'tvåhundrasexton': 'två hundra sexton',
 'tvåhundrasju': 'två hundra sju',
 'tvåhundrasjuttio': 'två hundra sjuttio',
 'tvåhundrasjuttioen': 'två hundra sjuttio en',
 'tvåhundrasjuttiofyra': 'två hundra sjuttio fyra',
 'tvåhundrasjuttionio': 'två hundra sjuttio nio',
 'tvåhundrasjuttiotre': 'två hundra sjuttio tre',
 'tvåhundrasjuttiotvå': 'två hundra sjuttio två',
 'tvåhundrasjuttioåtta': 'två hundra sjuttio åtta',
 'tvåhundrasjutton': 'två hundra sjutton',
 'tvåhundratio': 'två hundra tio',
 'tvåhundratjugo': 'två hundra tjugo',
 'tvåhundratjugoen': 'två hundra tjugo en',
 'tvåhundratjugofem': 'två hundra tjugo fem',
 'tvåhundratjugofyra': 'två hundra tjugo fyra',
 'tvåhundratjugonio': 'två hundra tjugo nio',
 'tvåhundratjugosju': 'två hundra tjugo sju',
 'tvåhundratjugotre': 'två hundra tjugo tre',
 'tvåhundratjugotvå': 'två hundra tjugo två',
 'tvåhundratjugoåtta': 'två hundra tjugo åtta',
 'tvåhundratolv': 'två hundra tolv',
 'tvåhundratrettio': 'två hundra trettio',
 'tvåhundratrettioen': 'två hundra trettio en',
 'tvåhundratrettiofem': 'två hundra trettio fem',
 'tvåhundratrettiofyra': 'två hundra trettio fyra',
 'tvåhundratrettionio': 'två hundra trettio nio',
 'tvåhundratrettiosex': 'två hundra trettio sex',
 'tvåhundratrettiosju': 'två hundra trettio sju',
 'tvåhundratrettiotre': 'två hundra trettio tre',
 'tvåhundratrettiotvå': 'två hundra trettio två',
 'tvåhundratrettioåtta': 'två hundra trettio åtta',
 'tvåhundratretton': 'två hundra tretton',
 'tvåhundratvå': 'två hundra två',
 'tvåhundraåtta': 'två hundra åtta',
 'tvåhundraåttio': 'två hundra åttio',
 'tvåhundraåttioen': 'två hundra åttio en',
 'tvåhundraåttiofem': 'två hundra åttio fem',
 'tvåhundraåttiofyra': 'två hundra åttio fyra',
 'tvåhundraåttionio': 'två hundra åttio nio',
 'tvåhundraåttiosex': 'två hundra åttio sex',
 'tvåhundraåttiosju': 'två hundra åttio sju',
 'tvåhundraåttiotre': 'två hundra åttio tre',
 'tvåhundraåttiotvå': 'två hundra åttio två',
 'tvåhundraåttioåtta': 'två hundra åttio åtta',
 'åttahundrasextiofyra': 'åtta hundra sextio fyra',
 'åttioen': 'åttio en',
 'åttiofem': 'åttio fem',
 'åttiofyra': 'åttio fyra',
 'åttiosex': 'åttio sex',
 'åttiotre': 'åttio tre',
 'åttioåtta': 'åttio åtta',
 'tjugohundratretton': 'tjugo hundra tretton'}
from pathlib import Path

for text_file in Path("/tmp/storpigg/mfa-corpus").glob("**/*.lab"):
    with open(text_file) as f:
        text = f.read().strip()
    if not text:
        continue
    outwords = []
    words = text.split()
    for word in words:
        if word in numbers:
            outwords.append(numbers[word])
        else:
            outwords.append(word)
    outtext = " ".join(outwords)
    if outtext != text:
        with open(text_file, "w") as f:
            f.write(outtext)
            
with open("tmpinlist") as f, open("tmpoutlist", "w") as of:
    for line in f.readlines():
        line = line.strip()
        if not line:
            continue
        parts = line.split("\t")
        word = parts[0]
        ipa = parts[1]
        of.write(f"{word}\t{' '.join(ipa_to_phones(ipa))}\n")
ipa_to_phones("deːmɪts heliːn<v>")
['D', 'E:', 'M', 'I', 'T', 'S', 'H', 'E', 'L', 'I:', 'N', 'v']