scriptconv 0.0.4a31__tar.gz → 0.0.4a33__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {scriptconv-0.0.4a31/scriptconv.egg-info → scriptconv-0.0.4a33}/PKG-INFO +34 -1
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/README.md +33 -0
- scriptconv-0.0.4a33/scriptconv/phonemizers/_vendored/matoub_kab/__init__.py +143 -0
- scriptconv-0.0.4a33/scriptconv/phonemizers/ber.py +62 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/enums.py +1 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/mul.py +7 -3
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/registry.py +1 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/version.py +1 -1
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33/scriptconv.egg-info}/PKG-INFO +34 -1
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/SOURCES.txt +4 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_base.py +2 -1
- scriptconv-0.0.4a33/tests/test_phonemizers_matoub_kab.py +137 -0
- scriptconv-0.0.4a33/tests/test_phonemizers_phonetisaurus_engine.py +138 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/LICENSE +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/pyproject.toml +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/requirements.txt +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/__main__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/cangjie.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/conventions.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/data/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/data/cangjie5_tc.tsv.gz +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/diacritics.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/graph.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/notation.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/bw2ipa.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/hangul2ipa.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/aspiration.csv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/assimilation.csv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/double_coda.csv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/hanja.tsv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/ipa.csv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/neutralization.csv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/tensification.csv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/ko_tables/yale.csv +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/codeswitch.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/diacritize.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/dialectal.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/english_g2p.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/espeak.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/frontend.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/levantine_g2p.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/normalize.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/shami/phoneme_inventory.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/vosk_g2p.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_thirdparty/zh_num.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/DATA_LICENSE.md +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/LICENSE.md +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/cli.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/convert.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/data/ipa_universal_graphemes.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/data/registry.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/english.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/fallback.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/g2p.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aar.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/abi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ach.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ada.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ade.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/adj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aeb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ael.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/afr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ags.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aha.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aiw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ajg.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/akp.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aks.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aku.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/alz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/anc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ank.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ann.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/any.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/apd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ara.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ary.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ato.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ayb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/azo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bam.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bas.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bav.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bax.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bba.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bbq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bci.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bcq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bde.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bec.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/beh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bej.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bem.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bex.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfa.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfm.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bhy.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bib.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bim.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bin.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjt.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkm.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bky.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ble.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/blm.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bng.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bni.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bol.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bom.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bot.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boy.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqp.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqx.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bud.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bum.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bva.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bvm.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bwj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bxk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byv.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bza.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cgg.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cjk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cko.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cme.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cop.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daa.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dag.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dbq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dec.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dgd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/did.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/din.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dmf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dnj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin2.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dow.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dsh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dua.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dug.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dzd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/efi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ell.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ema.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/emk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eng.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/enn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/etn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eto.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewe.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fak.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fat.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ffm.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fia.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/flr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fmp.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fng.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fod.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fon.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fuc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fue.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gaa.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gej.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gez.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gfe.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gha.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gho.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gjn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gng.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/god.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gog.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gou.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gud.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gur.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gux.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwa.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gxx.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hag.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/har.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-niger.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-nigeria.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hay.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hdy.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hts.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ibo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ige.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igl.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ikw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/irk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/iso.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/jib.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kab.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbp.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kcn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kde.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdx.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kea.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kec.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ker.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khy.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kik.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kin.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kiz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kmb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/koo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kpe.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kqs.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/krb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kri.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ksb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ktz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kuj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kus.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lad.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lai.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lch.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ldd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgg.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lig.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lin.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lky.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lln.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lma.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmp.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lns.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/loi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lok.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lol.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lot.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lpx.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lub.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lue.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lug.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lul.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lun.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mas.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/maw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mck.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcp.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mdj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mev.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfe.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mhi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlg.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmy.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mos.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mpg.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mqu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mse.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mur.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mwe.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myf.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myx.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mzk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/naw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nba.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ncu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ney.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nfr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nga.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire2.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nko.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nqo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nso.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nuj.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nup.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nus.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nwb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nya.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nym.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzd.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ogc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/oku.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/onw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pae.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pbi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pny.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pov.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/puu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pze.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rel.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rmt.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rng.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/run.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sad.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-central_african_republic.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-congo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sav.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire2.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/seh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/she.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shy.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sig.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/siz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sld.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sna.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk-senegal.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sok.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sop.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spa.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spy.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssl.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssn.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/suk.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sur.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sus.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sym.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/szg.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tan.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbt.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ted.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tem.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/teo.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thv.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tig.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tik.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tir.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tmc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tnr.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/trc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsc.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tso.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsp.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ttq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tui.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tum.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuq.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuz.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/twi.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tzm.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/uba.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/udu.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ukv.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/urh.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vag.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vai.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ven.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vmw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vut.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wan.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wib.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wmw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wob.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wol.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wwa.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xho.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xog.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xon.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xrb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xsm.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yam.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yat.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ybb.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yid.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yko.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yor.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yun.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zag.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zen.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ziw.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zne.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zul.json +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/loader.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/normalizer.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/africa_g2p/pipeline.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/iqra_phonetiser/LICENSE.md +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/iqra_phonetiser/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/iqra_phonetiser/phonetiser.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/kog2p/LICENSE.md +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/kog2p/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/kog2p/rulebook.txt +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/LICENSE.md +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/__init__.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/phonetise_buckwalter.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/symbols.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/buck/tokenization.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/num2words.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/_vendored/mantoq/unicode_symbol2label.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/africa.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ar.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/base.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/en.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/eu.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/fa.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ghana.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/gl.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/he.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ja.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ko.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/mwl.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/o2ipa.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/pt.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/ru.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/shami.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/vi.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/phonemizers/zh.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/py.typed +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/readings.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/scripts.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv/translit.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/dependency_links.txt +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/requires.txt +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/scriptconv.egg-info/top_level.txt +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/setup.cfg +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_arpa_stress.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_cangjie.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_cli.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_conventions.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_diacritics.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_diacritics_graph.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_errors_policy.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_examples.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_graph.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_he_extra_declares_phonikud.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_notation.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_africa.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_cjk_ar.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_friendly_import_errors.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_ghana.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_halabi_iqra.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_phonetisaurus.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_pt_tugaphone.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_phonemizers_ru.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_readings.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_readings_zh.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_scripts.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_scripts_stressonnx_compat.py +0 -0
- {scriptconv-0.0.4a31 → scriptconv-0.0.4a33}/tests/test_translit.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: scriptconv
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4a33
|
|
4
4
|
Summary: Zero-dependency script & phoneme-notation core — ISO-15924 detection & metadata, IPA↔ARPABET/X-SAMPA/Lexique/Kirshenbaum/Cotovía/RFE, Buckwalter↔Arabic, Hangul→jamo, kana
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Project-URL: Homepage, https://github.com/TigreGotico/scriptconv
|
|
@@ -483,6 +483,39 @@ The core installs with zero dependencies. Capabilities opt in:
|
|
|
483
483
|
| `tashkeel` | Arabic diacritization for the phonemizer pipeline (text2tashkeel) |
|
|
484
484
|
| `stress` | Word-stress restoration for 26 stressonnx language tags: East Slavic; Bulgarian, Macedonian, and Slovene; Latvian; Armenian; Georgian; and Turkic/Caucasian, for the phonemizer pipeline (stressonnx; not yet on PyPI) |
|
|
485
485
|
| `pt` | European-Portuguese heterophonic-homograph sense diacritics for the phonemizer pipeline (bifonia) |
|
|
486
|
+
| `phonetisaurus` | WFST grapheme-to-phoneme through a trained FST the caller supplies (phonetisaurus). Training also needs `libquadmath0` on the host: see below |
|
|
487
|
+
|
|
488
|
+
### The `phonetisaurus` extra and its libraries
|
|
489
|
+
|
|
490
|
+
`pip install scriptconv[phonetisaurus]` completes, and the `phonetisaurus`
|
|
491
|
+
0.3.0 wheel bundles its own executables and most of its own shared objects
|
|
492
|
+
(`libfst.so.13`, `libmitlm.so.1`, `libgfortran.so.3` and the OpenFST
|
|
493
|
+
companions) under `phonetisaurus/lib/<machine>`. The binaries find them only
|
|
494
|
+
through the `PATH` and `LD_LIBRARY_PATH` that `phonetisaurus.guess_environment()`
|
|
495
|
+
builds, which is the environment `phonetisaurus.predict` and
|
|
496
|
+
`phonetisaurus.train` pass to every call. A binary started with the plain
|
|
497
|
+
shell environment exits 127 from the dynamic loader; that is a report about
|
|
498
|
+
the caller, not about the box.
|
|
499
|
+
|
|
500
|
+
The apply path therefore runs out of the box, and this wrapper only applies a
|
|
501
|
+
model. One object is NOT bundled:
|
|
502
|
+
|
|
503
|
+
| Missing object | Needed by | Where it comes from |
|
|
504
|
+
|---|---|---|
|
|
505
|
+
| `libquadmath.so.0` | `estimate-ngram`, and so `phonetisaurus.train` | the GCC runtime: package `libquadmath0` on Debian and Ubuntu |
|
|
506
|
+
|
|
507
|
+
So a box without `libquadmath0` can phonemize with a model it is given, and
|
|
508
|
+
cannot train one.
|
|
509
|
+
|
|
510
|
+
`model=` is required and scriptconv never downloads: see `MODEL_SOURCES` on
|
|
511
|
+
the class, or train a model with `phonetisaurus.train` from a lexicon such as
|
|
512
|
+
CMUdict.
|
|
513
|
+
|
|
514
|
+
`tests/test_phonemizers_phonetisaurus_engine.py` is the real-engine cell. It
|
|
515
|
+
runs the same word through the engine at `nbest=1` and `nbest=2` and checks
|
|
516
|
+
the wrapper returns the engine's own best-ranked line both times. It skips,
|
|
517
|
+
and names the loader error or the missing model, when the engine cannot run.
|
|
518
|
+
Set `SCRIPTCONV_PHONETISAURUS_MODEL` to a trained FST to run it.
|
|
486
519
|
|
|
487
520
|
## Licensing
|
|
488
521
|
|
|
@@ -345,6 +345,39 @@ The core installs with zero dependencies. Capabilities opt in:
|
|
|
345
345
|
| `tashkeel` | Arabic diacritization for the phonemizer pipeline (text2tashkeel) |
|
|
346
346
|
| `stress` | Word-stress restoration for 26 stressonnx language tags: East Slavic; Bulgarian, Macedonian, and Slovene; Latvian; Armenian; Georgian; and Turkic/Caucasian, for the phonemizer pipeline (stressonnx; not yet on PyPI) |
|
|
347
347
|
| `pt` | European-Portuguese heterophonic-homograph sense diacritics for the phonemizer pipeline (bifonia) |
|
|
348
|
+
| `phonetisaurus` | WFST grapheme-to-phoneme through a trained FST the caller supplies (phonetisaurus). Training also needs `libquadmath0` on the host: see below |
|
|
349
|
+
|
|
350
|
+
### The `phonetisaurus` extra and its libraries
|
|
351
|
+
|
|
352
|
+
`pip install scriptconv[phonetisaurus]` completes, and the `phonetisaurus`
|
|
353
|
+
0.3.0 wheel bundles its own executables and most of its own shared objects
|
|
354
|
+
(`libfst.so.13`, `libmitlm.so.1`, `libgfortran.so.3` and the OpenFST
|
|
355
|
+
companions) under `phonetisaurus/lib/<machine>`. The binaries find them only
|
|
356
|
+
through the `PATH` and `LD_LIBRARY_PATH` that `phonetisaurus.guess_environment()`
|
|
357
|
+
builds, which is the environment `phonetisaurus.predict` and
|
|
358
|
+
`phonetisaurus.train` pass to every call. A binary started with the plain
|
|
359
|
+
shell environment exits 127 from the dynamic loader; that is a report about
|
|
360
|
+
the caller, not about the box.
|
|
361
|
+
|
|
362
|
+
The apply path therefore runs out of the box, and this wrapper only applies a
|
|
363
|
+
model. One object is NOT bundled:
|
|
364
|
+
|
|
365
|
+
| Missing object | Needed by | Where it comes from |
|
|
366
|
+
|---|---|---|
|
|
367
|
+
| `libquadmath.so.0` | `estimate-ngram`, and so `phonetisaurus.train` | the GCC runtime: package `libquadmath0` on Debian and Ubuntu |
|
|
368
|
+
|
|
369
|
+
So a box without `libquadmath0` can phonemize with a model it is given, and
|
|
370
|
+
cannot train one.
|
|
371
|
+
|
|
372
|
+
`model=` is required and scriptconv never downloads: see `MODEL_SOURCES` on
|
|
373
|
+
the class, or train a model with `phonetisaurus.train` from a lexicon such as
|
|
374
|
+
CMUdict.
|
|
375
|
+
|
|
376
|
+
`tests/test_phonemizers_phonetisaurus_engine.py` is the real-engine cell. It
|
|
377
|
+
runs the same word through the engine at `nbest=1` and `nbest=2` and checks
|
|
378
|
+
the wrapper returns the engine's own best-ranked line both times. It skips,
|
|
379
|
+
and names the loader error or the missing model, when the engine cannot run.
|
|
380
|
+
Set `SCRIPTCONV_PHONETISAURUS_MODEL` to a trained FST to run it.
|
|
348
381
|
|
|
349
382
|
## Licensing
|
|
350
383
|
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"""Vendored Kabyle grapheme-to-phoneme rules from agbalu/Matoub-82M.
|
|
2
|
+
|
|
3
|
+
Source: https://huggingface.co/agbalu/Matoub-82M, file ``tokenization_matoub.py``
|
|
4
|
+
at revision ``3d00056f3663d4d1d364e9b12c21230685a0ba9a``, sha256
|
|
5
|
+
``c95fdf4bd23efa649287662a0059d9053d17c8cab4fade383784e084cc422416``, the value
|
|
6
|
+
the model's own ``export.stats.json`` records for that file. Licence Apache-2.0,
|
|
7
|
+
the same licence this repository uses. See ``LICENSE.md`` beside this file.
|
|
8
|
+
|
|
9
|
+
Only the rule functions are kept. The upstream ``MatoubTokenizer`` class is
|
|
10
|
+
dropped: it subclasses ``transformers.PreTrainedTokenizer``, and scriptconv
|
|
11
|
+
emits phoneme strings, not model ids. The ``vocab.json`` constant goes with it.
|
|
12
|
+
The rules themselves are unchanged, because a caller that feeds Matoub-82M needs
|
|
13
|
+
the exact string that model was fitted on.
|
|
14
|
+
|
|
15
|
+
The upstream file states that these rules are a copy of ``agbalu.tts.g2p`` and
|
|
16
|
+
``agbalu.tts.kokoro``, kept in step by a test in that project. This copy is one
|
|
17
|
+
step further away, so ``tests/test_phonemizers_matoub_kab.py`` holds it to
|
|
18
|
+
measured outputs.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
from __future__ import annotations
|
|
22
|
+
|
|
23
|
+
import re
|
|
24
|
+
from typing import Final
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
VOWELS: Final = frozenset("aeiou")
|
|
28
|
+
|
|
29
|
+
BACKING_TRIGGERS: Final = frozenset("ḍṣṭẓṛqɣx")
|
|
30
|
+
|
|
31
|
+
SPIRANTS: Final[dict[str, tuple[str, str]]] = {
|
|
32
|
+
"b": ("β", "b"),
|
|
33
|
+
"d": ("ð", "d"),
|
|
34
|
+
"g": ("ʝ", "ɡ"),
|
|
35
|
+
"k": ("ç", "k"),
|
|
36
|
+
"t": ("θ", "t"),
|
|
37
|
+
"ḍ": ("ðˤ", "dˤ"),
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
PLAIN: Final[dict[str, str]] = {
|
|
41
|
+
"a": "æ",
|
|
42
|
+
"c": "ʃ",
|
|
43
|
+
"e": "ə",
|
|
44
|
+
"f": "f",
|
|
45
|
+
"h": "h",
|
|
46
|
+
"i": "i",
|
|
47
|
+
"j": "ʒ",
|
|
48
|
+
"l": "l",
|
|
49
|
+
"m": "m",
|
|
50
|
+
"n": "n",
|
|
51
|
+
"o": "o",
|
|
52
|
+
"p": "p",
|
|
53
|
+
"q": "q",
|
|
54
|
+
"r": "r",
|
|
55
|
+
"s": "s",
|
|
56
|
+
"u": "u",
|
|
57
|
+
"v": "v",
|
|
58
|
+
"w": "w",
|
|
59
|
+
"x": "χ",
|
|
60
|
+
"y": "j",
|
|
61
|
+
"z": "z",
|
|
62
|
+
"č": "t͡ʃ",
|
|
63
|
+
"ǧ": "d͡ʒ",
|
|
64
|
+
"ɛ": "ʕ",
|
|
65
|
+
"ɣ": "ʁ",
|
|
66
|
+
"ḥ": "ħ",
|
|
67
|
+
"ṛ": "rˤ",
|
|
68
|
+
"ṣ": "sˤ",
|
|
69
|
+
"ṭ": "tˤ",
|
|
70
|
+
"ẓ": "zˤ",
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
NASAL_ASSIMILATION: Final[dict[str, str]] = {"f": "m", "m": "m", "y": "ɲ", "q": "ŋ", "x": "ŋ"}
|
|
74
|
+
|
|
75
|
+
FOLD: Final[dict[str, str]] = {"t͡ʃ": "ʧ", "d͡ʒ": "ʤ"}
|
|
76
|
+
"""Tie-bar sequences the base model already carries as single symbols."""
|
|
77
|
+
|
|
78
|
+
LEGACY_TENSE_T: Final = "ţ"
|
|
79
|
+
LENGTH: Final = "ː"
|
|
80
|
+
BOUNDARY: Final = " "
|
|
81
|
+
|
|
82
|
+
_SPLIT: Final = re.compile(r"[\s\-]+")
|
|
83
|
+
_STRIP: Final = "«»\"'“”‘’.,;:!?()[]{}…"
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class PhonemeError(ValueError):
|
|
87
|
+
"""A character with no rule."""
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def _segment(word: str) -> list[tuple[str, bool]]:
|
|
91
|
+
segments: list[tuple[str, bool]] = []
|
|
92
|
+
index = 0
|
|
93
|
+
while index < len(word):
|
|
94
|
+
char = word[index]
|
|
95
|
+
paired = index + 1 < len(word) and word[index + 1] == char and char not in VOWELS
|
|
96
|
+
segments.append((char, paired))
|
|
97
|
+
index += 2 if paired else 1
|
|
98
|
+
return segments
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def _backed(chars: list[str], position: int) -> bool:
|
|
102
|
+
before = chars[position - 1] if position > 0 else ""
|
|
103
|
+
after = chars[position + 1] if position + 1 < len(chars) else ""
|
|
104
|
+
return before in BACKING_TRIGGERS or after in BACKING_TRIGGERS
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def phonemize_word(word: str) -> str:
|
|
108
|
+
"""One orthographic word to IPA. Raises on any character without a rule."""
|
|
109
|
+
segments = _segment(word.casefold())
|
|
110
|
+
chars = [char for char, _ in segments]
|
|
111
|
+
out: list[str] = []
|
|
112
|
+
for position, (char, geminate) in enumerate(segments):
|
|
113
|
+
if char == LEGACY_TENSE_T:
|
|
114
|
+
out.append(SPIRANTS["t"][1] + LENGTH)
|
|
115
|
+
continue
|
|
116
|
+
if char in SPIRANTS:
|
|
117
|
+
short, stop = SPIRANTS[char]
|
|
118
|
+
out.append(stop + LENGTH if geminate else short)
|
|
119
|
+
continue
|
|
120
|
+
if char not in PLAIN:
|
|
121
|
+
message = f"no rule for {char!r} (U+{ord(char):04X}) in {word!r}"
|
|
122
|
+
raise PhonemeError(message)
|
|
123
|
+
if char == "a" and _backed(chars, position):
|
|
124
|
+
symbol = "ɑ"
|
|
125
|
+
elif char == "n" and not geminate and position + 1 < len(chars):
|
|
126
|
+
symbol = NASAL_ASSIMILATION.get(chars[position + 1], PLAIN["n"])
|
|
127
|
+
else:
|
|
128
|
+
symbol = PLAIN[char]
|
|
129
|
+
out.append(symbol + LENGTH if geminate else symbol)
|
|
130
|
+
return "".join(out)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def fold(ipa: str) -> str:
|
|
134
|
+
"""Rewrite tie-bar affricates onto the base model's own single symbols."""
|
|
135
|
+
for sequence, symbol in FOLD.items():
|
|
136
|
+
ipa = ipa.replace(sequence, symbol)
|
|
137
|
+
return ipa
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def phonemize(text: str) -> str:
|
|
141
|
+
"""A Kabyle sentence to the phoneme string the model was fitted on."""
|
|
142
|
+
words = [token.strip(_STRIP) for token in _SPLIT.split(text) if token.strip(_STRIP)]
|
|
143
|
+
return fold(BOUNDARY.join(phonemize_word(word) for word in words))
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"""Berber phonemizers.
|
|
2
|
+
|
|
3
|
+
Kabyle (``kab``) through the rule set that ``agbalu/Matoub-82M`` was fitted on.
|
|
4
|
+
|
|
5
|
+
This is deliberately a separate route from :class:`AfricaG2PPhonemizer`, which
|
|
6
|
+
also answers ``kab``. The two are different phonemizers and their output
|
|
7
|
+
differs, so they are not interchangeable:
|
|
8
|
+
|
|
9
|
+
=============== =========================== ==============
|
|
10
|
+
text africa-g2p Matoub
|
|
11
|
+
=============== =========================== ==============
|
|
12
|
+
``taddart`` ``t a ð ð a r t`` ``θædːærθ``
|
|
13
|
+
``ameqqran`` ``a m ə q q r a n`` ``æməqːræn``
|
|
14
|
+
``aqcic`` ``a q ʃ i ʃ`` ``ɑqʃiʃ``
|
|
15
|
+
=============== =========================== ==============
|
|
16
|
+
|
|
17
|
+
africa-g2p does not spirantise the initial ``t``, writes gemination as a
|
|
18
|
+
doubled symbol rather than length, and does not back ``/a/`` beside a backing
|
|
19
|
+
consonant. A caller driving Matoub-82M needs the Matoub string: the other one
|
|
20
|
+
carries symbols that model has no embedding row for.
|
|
21
|
+
"""
|
|
22
|
+
from typing import List
|
|
23
|
+
|
|
24
|
+
from scriptconv.phonemizers.base import BasePhonemizer
|
|
25
|
+
from scriptconv.phonemizers.enums import Alphabet
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class MatoubKabylePhonemizer(BasePhonemizer):
|
|
29
|
+
"""Kabyle Latin orthography to the IPA string ``agbalu/Matoub-82M`` reads.
|
|
30
|
+
|
|
31
|
+
The rules are vendored under ``_vendored/matoub_kab`` (Apache-2.0, the same
|
|
32
|
+
licence as this repository) and need nothing outside the standard library.
|
|
33
|
+
|
|
34
|
+
The rules raise on a character they have no rule for, and that is kept on
|
|
35
|
+
purpose. The upstream file records that silent deletion already cost three
|
|
36
|
+
Kabyle consonants once, so an unknown symbol is reported rather than
|
|
37
|
+
dropped.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
_LANGS: List[str] = ["kab"]
|
|
41
|
+
|
|
42
|
+
def __init__(self):
|
|
43
|
+
super().__init__(Alphabet.IPA)
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def supported_langs(cls) -> List[str]:
|
|
47
|
+
return list(cls._LANGS)
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def get_lang(cls, target_lang: str) -> str:
|
|
51
|
+
"""Validate *target_lang* against the one language these rules cover.
|
|
52
|
+
|
|
53
|
+
Raises:
|
|
54
|
+
ValueError: if the language code is not Kabyle.
|
|
55
|
+
"""
|
|
56
|
+
return cls.match_lang(target_lang, cls._LANGS)
|
|
57
|
+
|
|
58
|
+
def phonemize_string(self, text: str, lang: str = "kab") -> str:
|
|
59
|
+
self.get_lang(lang)
|
|
60
|
+
from scriptconv.phonemizers._vendored.matoub_kab import phonemize
|
|
61
|
+
|
|
62
|
+
return phonemize(text)
|
|
@@ -86,3 +86,4 @@ class Phonemizer(str, Enum):
|
|
|
86
86
|
ORTHOGRAPHY2IPA = "orthography2ipa" # multilingual data-driven IPA (o2i lattice)
|
|
87
87
|
AFRICA_G2P = "africa_g2p" # rule-based G2P for 400+ African languages (native units or IPA)
|
|
88
88
|
GHANA_G2P = "ghana_g2p" # africa-g2p rules patched for 42 Ghanaian languages (native units or IPA)
|
|
89
|
+
MATOUB_KAB = "matoub_kab" # kabyle — the rule set agbalu/Matoub-82M was fitted on
|
|
@@ -1487,9 +1487,13 @@ class PhonetisaurusPhonemizer(BasePhonemizer):
|
|
|
1487
1487
|
* There is no language check and no ``LANG_DEFAULTS`` entry. A wrapper that
|
|
1488
1488
|
cannot know its own model's language must not be any language's default.
|
|
1489
1489
|
|
|
1490
|
-
``phonetisaurus`` ships the binaries it drives
|
|
1491
|
-
|
|
1492
|
-
|
|
1490
|
+
``phonetisaurus`` ships the binaries it drives and the shared objects they
|
|
1491
|
+
link against, and ``predict`` runs them under the ``PATH`` and
|
|
1492
|
+
``LD_LIBRARY_PATH`` from ``phonetisaurus.guess_environment()``. The apply
|
|
1493
|
+
path needs no system package. Training is the exception: ``estimate-ngram``
|
|
1494
|
+
also needs ``libquadmath.so.0`` from the host GCC runtime (``libquadmath0``
|
|
1495
|
+
on Debian and Ubuntu). Training is not exercised here: this wrapper only
|
|
1496
|
+
applies a model.
|
|
1493
1497
|
"""
|
|
1494
1498
|
|
|
1495
1499
|
#: Where published FSTs come from. Documentation, never a download.
|
|
@@ -59,6 +59,7 @@ PHONEMIZER_REGISTRY: Dict[Phonemizer, Tuple[str, str, Optional[str]]] = {
|
|
|
59
59
|
_P.ORTHOGRAPHY2IPA: (f"{_BASE}.o2ipa", "Orthography2IPAPhonemizer", "o2i"),
|
|
60
60
|
# vendored (not an optional extra) -- see _vendored/africa_g2p
|
|
61
61
|
_P.AFRICA_G2P: (f"{_BASE}.africa", "AfricaG2PPhonemizer", None),
|
|
62
|
+
_P.MATOUB_KAB: (f"{_BASE}.ber", "MatoubKabylePhonemizer", None),
|
|
62
63
|
_P.GHANA_G2P: (f"{_BASE}.ghana", "GhanaG2PPhonemizer", "ghana"),
|
|
63
64
|
# ported in the CJK/AR stage; registered here so no member is silently
|
|
64
65
|
# unmapped — resolution raises ImportError naming the pending extra
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: scriptconv
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4a33
|
|
4
4
|
Summary: Zero-dependency script & phoneme-notation core — ISO-15924 detection & metadata, IPA↔ARPABET/X-SAMPA/Lexique/Kirshenbaum/Cotovía/RFE, Buckwalter↔Arabic, Hangul→jamo, kana
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Project-URL: Homepage, https://github.com/TigreGotico/scriptconv
|
|
@@ -483,6 +483,39 @@ The core installs with zero dependencies. Capabilities opt in:
|
|
|
483
483
|
| `tashkeel` | Arabic diacritization for the phonemizer pipeline (text2tashkeel) |
|
|
484
484
|
| `stress` | Word-stress restoration for 26 stressonnx language tags: East Slavic; Bulgarian, Macedonian, and Slovene; Latvian; Armenian; Georgian; and Turkic/Caucasian, for the phonemizer pipeline (stressonnx; not yet on PyPI) |
|
|
485
485
|
| `pt` | European-Portuguese heterophonic-homograph sense diacritics for the phonemizer pipeline (bifonia) |
|
|
486
|
+
| `phonetisaurus` | WFST grapheme-to-phoneme through a trained FST the caller supplies (phonetisaurus). Training also needs `libquadmath0` on the host: see below |
|
|
487
|
+
|
|
488
|
+
### The `phonetisaurus` extra and its libraries
|
|
489
|
+
|
|
490
|
+
`pip install scriptconv[phonetisaurus]` completes, and the `phonetisaurus`
|
|
491
|
+
0.3.0 wheel bundles its own executables and most of its own shared objects
|
|
492
|
+
(`libfst.so.13`, `libmitlm.so.1`, `libgfortran.so.3` and the OpenFST
|
|
493
|
+
companions) under `phonetisaurus/lib/<machine>`. The binaries find them only
|
|
494
|
+
through the `PATH` and `LD_LIBRARY_PATH` that `phonetisaurus.guess_environment()`
|
|
495
|
+
builds, which is the environment `phonetisaurus.predict` and
|
|
496
|
+
`phonetisaurus.train` pass to every call. A binary started with the plain
|
|
497
|
+
shell environment exits 127 from the dynamic loader; that is a report about
|
|
498
|
+
the caller, not about the box.
|
|
499
|
+
|
|
500
|
+
The apply path therefore runs out of the box, and this wrapper only applies a
|
|
501
|
+
model. One object is NOT bundled:
|
|
502
|
+
|
|
503
|
+
| Missing object | Needed by | Where it comes from |
|
|
504
|
+
|---|---|---|
|
|
505
|
+
| `libquadmath.so.0` | `estimate-ngram`, and so `phonetisaurus.train` | the GCC runtime: package `libquadmath0` on Debian and Ubuntu |
|
|
506
|
+
|
|
507
|
+
So a box without `libquadmath0` can phonemize with a model it is given, and
|
|
508
|
+
cannot train one.
|
|
509
|
+
|
|
510
|
+
`model=` is required and scriptconv never downloads: see `MODEL_SOURCES` on
|
|
511
|
+
the class, or train a model with `phonetisaurus.train` from a lexicon such as
|
|
512
|
+
CMUdict.
|
|
513
|
+
|
|
514
|
+
`tests/test_phonemizers_phonetisaurus_engine.py` is the real-engine cell. It
|
|
515
|
+
runs the same word through the engine at `nbest=1` and `nbest=2` and checks
|
|
516
|
+
the wrapper returns the engine's own best-ranked line both times. It skips,
|
|
517
|
+
and names the loader error or the missing model, when the engine cannot run.
|
|
518
|
+
Set `SCRIPTCONV_PHONETISAURUS_MODEL` to a trained FST to run it.
|
|
486
519
|
|
|
487
520
|
## Licensing
|
|
488
521
|
|
|
@@ -25,6 +25,7 @@ scriptconv/phonemizers/__init__.py
|
|
|
25
25
|
scriptconv/phonemizers/africa.py
|
|
26
26
|
scriptconv/phonemizers/ar.py
|
|
27
27
|
scriptconv/phonemizers/base.py
|
|
28
|
+
scriptconv/phonemizers/ber.py
|
|
28
29
|
scriptconv/phonemizers/en.py
|
|
29
30
|
scriptconv/phonemizers/enums.py
|
|
30
31
|
scriptconv/phonemizers/eu.py
|
|
@@ -494,6 +495,7 @@ scriptconv/phonemizers/_vendored/mantoq/buck/__init__.py
|
|
|
494
495
|
scriptconv/phonemizers/_vendored/mantoq/buck/phonetise_buckwalter.py
|
|
495
496
|
scriptconv/phonemizers/_vendored/mantoq/buck/symbols.py
|
|
496
497
|
scriptconv/phonemizers/_vendored/mantoq/buck/tokenization.py
|
|
498
|
+
scriptconv/phonemizers/_vendored/matoub_kab/__init__.py
|
|
497
499
|
tests/test_arpa_stress.py
|
|
498
500
|
tests/test_cangjie.py
|
|
499
501
|
tests/test_cli.py
|
|
@@ -511,7 +513,9 @@ tests/test_phonemizers_cjk_ar.py
|
|
|
511
513
|
tests/test_phonemizers_friendly_import_errors.py
|
|
512
514
|
tests/test_phonemizers_ghana.py
|
|
513
515
|
tests/test_phonemizers_halabi_iqra.py
|
|
516
|
+
tests/test_phonemizers_matoub_kab.py
|
|
514
517
|
tests/test_phonemizers_phonetisaurus.py
|
|
518
|
+
tests/test_phonemizers_phonetisaurus_engine.py
|
|
515
519
|
tests/test_phonemizers_pt_tugaphone.py
|
|
516
520
|
tests/test_phonemizers_ru.py
|
|
517
521
|
tests/test_readings.py
|
|
@@ -26,7 +26,8 @@ class TestEnums(unittest.TestCase):
|
|
|
26
26
|
self.assertEqual(Alphabet.XSAMPA.value, "x-sampa")
|
|
27
27
|
self.assertEqual(Alphabet.VOSK.value, "vosk")
|
|
28
28
|
self.assertEqual(Phonemizer.GHANA_G2P.value, "ghana_g2p")
|
|
29
|
-
self.assertEqual(
|
|
29
|
+
self.assertEqual(Phonemizer.MATOUB_KAB.value, "matoub_kab")
|
|
30
|
+
self.assertEqual(len(list(Phonemizer)), 48) # +HALABI, +IQRA, +GHANA_G2P, +PHONETISAURUS, +MATOUB_KAB
|
|
30
31
|
self.assertEqual(len(list(Alphabet)), 23) # incl. HALABI, VOSK, AFRICA_G2P
|
|
31
32
|
|
|
32
33
|
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"""The Matoub Kabyle route: it phonemizes, and it is not the africa-g2p route."""
|
|
2
|
+
import ast
|
|
3
|
+
import pathlib
|
|
4
|
+
import sys
|
|
5
|
+
import tempfile
|
|
6
|
+
import unittest
|
|
7
|
+
|
|
8
|
+
from scriptconv.phonemizers import ber as _ber_module
|
|
9
|
+
from scriptconv.phonemizers._vendored import matoub_kab as _vendored_module
|
|
10
|
+
from scriptconv.phonemizers.ber import MatoubKabylePhonemizer
|
|
11
|
+
from scriptconv.phonemizers.enums import Alphabet, Phonemizer
|
|
12
|
+
from scriptconv.phonemizers.registry import PHONEMIZER_REGISTRY, get_phonemizer
|
|
13
|
+
|
|
14
|
+
_VENDORED = pathlib.Path(_vendored_module.__file__)
|
|
15
|
+
_BER = pathlib.Path(_ber_module.__file__)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _import_roots(path):
|
|
19
|
+
"""Root module of every import statement in *path*.
|
|
20
|
+
|
|
21
|
+
Relative imports are skipped: they cannot reach outside the package.
|
|
22
|
+
"""
|
|
23
|
+
roots = set()
|
|
24
|
+
for node in ast.walk(ast.parse(path.read_text(encoding="utf-8"))):
|
|
25
|
+
if isinstance(node, ast.Import):
|
|
26
|
+
roots.update(alias.name.split(".")[0] for alias in node.names)
|
|
27
|
+
elif isinstance(node, ast.ImportFrom) and not node.level and node.module:
|
|
28
|
+
roots.add(node.module.split(".")[0])
|
|
29
|
+
return roots
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _tmp_module(source):
|
|
33
|
+
handle = tempfile.NamedTemporaryFile("w", suffix=".py", delete=False,
|
|
34
|
+
encoding="utf-8")
|
|
35
|
+
with handle:
|
|
36
|
+
handle.write(source)
|
|
37
|
+
return pathlib.Path(handle.name)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# Measured against the reference rules in agbalu/Matoub-82M
|
|
41
|
+
# tokenization_matoub.py at revision 3d00056f, on 2026-09-25.
|
|
42
|
+
REFERENCE = {
|
|
43
|
+
"taddart": "θædːærθ",
|
|
44
|
+
"ameqqran": "æməqːræn",
|
|
45
|
+
"azul fell awen": "æzul fəlː æwən",
|
|
46
|
+
"tamurt n leqbayel": "θæmurθ n ləqβæjəl",
|
|
47
|
+
"aqcic yecca aɣrum": "ɑqʃiʃ jəʃːæ ɑʁrum",
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class TestMatoubKabyle(unittest.TestCase):
|
|
52
|
+
def setUp(self):
|
|
53
|
+
self.p = MatoubKabylePhonemizer()
|
|
54
|
+
|
|
55
|
+
def test_phonemizes_real_words(self):
|
|
56
|
+
for text, expected in REFERENCE.items():
|
|
57
|
+
with self.subTest(text=text):
|
|
58
|
+
self.assertEqual(self.p.phonemize_string(text, "kab"), expected)
|
|
59
|
+
|
|
60
|
+
def test_the_rules_that_make_this_route_its_own(self):
|
|
61
|
+
# Each assertion is one rule africa-g2p does not apply. If these ever
|
|
62
|
+
# start matching africa-g2p, the two routes have been conflated.
|
|
63
|
+
# spirantisation: t -> θ, b -> β, d -> ð
|
|
64
|
+
self.assertEqual(self.p.phonemize_string("tamurt", "kab"), "θæmurθ")
|
|
65
|
+
# gemination is length on the restored stop, not a doubled symbol
|
|
66
|
+
self.assertEqual(self.p.phonemize_string("taddart", "kab"), "θædːærθ")
|
|
67
|
+
self.assertNotIn("ðð", self.p.phonemize_string("taddart", "kab"))
|
|
68
|
+
# /a/ backs to ɑ beside a backing consonant, and stays æ otherwise
|
|
69
|
+
self.assertTrue(self.p.phonemize_string("aqcic", "kab").startswith("ɑ"))
|
|
70
|
+
self.assertTrue(self.p.phonemize_string("azul", "kab").startswith("æ"))
|
|
71
|
+
|
|
72
|
+
def test_registry_entry_resolves(self):
|
|
73
|
+
self.assertIn(Phonemizer.MATOUB_KAB, PHONEMIZER_REGISTRY)
|
|
74
|
+
module, name, extra = PHONEMIZER_REGISTRY[Phonemizer.MATOUB_KAB]
|
|
75
|
+
self.assertEqual(name, "MatoubKabylePhonemizer")
|
|
76
|
+
# no extra: the rules are vendored and need only the standard library
|
|
77
|
+
self.assertIsNone(extra)
|
|
78
|
+
self.assertIsInstance(get_phonemizer(Phonemizer.MATOUB_KAB),
|
|
79
|
+
MatoubKabylePhonemizer)
|
|
80
|
+
|
|
81
|
+
def test_emits_ipa_and_chunks(self):
|
|
82
|
+
self.assertEqual(self.p.alphabet, Alphabet.IPA)
|
|
83
|
+
self.assertEqual(self.p.phonemize("azul", "kab"), [["æ", "z", "u", "l"]])
|
|
84
|
+
|
|
85
|
+
def test_only_kabyle(self):
|
|
86
|
+
self.assertEqual(MatoubKabylePhonemizer.supported_langs(), ["kab"])
|
|
87
|
+
for other in ("eng", "fra", "ber"):
|
|
88
|
+
with self.subTest(lang=other):
|
|
89
|
+
with self.assertRaises(ValueError):
|
|
90
|
+
self.p.phonemize_string("azul", other)
|
|
91
|
+
|
|
92
|
+
def test_an_unknown_character_raises_and_is_never_dropped(self):
|
|
93
|
+
# The upstream file records that silent deletion cost three Kabyle
|
|
94
|
+
# consonants once. A symbol with no rule must be reported.
|
|
95
|
+
with self.assertRaises(ValueError):
|
|
96
|
+
self.p.phonemize_string("aβc", "kab")
|
|
97
|
+
|
|
98
|
+
def test_the_vendored_rules_need_no_third_party_import(self):
|
|
99
|
+
# Read the property off the source, not off sys.modules. An earlier
|
|
100
|
+
# form of this test asserted that "transformers" and "torch" were
|
|
101
|
+
# absent from sys.modules; neither is installed, so the assertion was
|
|
102
|
+
# true before the module was imported at all, and adding
|
|
103
|
+
# `import packaging` to the vendored file left it passing.
|
|
104
|
+
#
|
|
105
|
+
# The property is load-bearing: it is why the registry row carries
|
|
106
|
+
# extra=None, and why the rules are vendored instead of depended on. A
|
|
107
|
+
# convenience import added later would keep get_phonemizer working on
|
|
108
|
+
# the machine that added it and fail as an ImportError on a user
|
|
109
|
+
# install.
|
|
110
|
+
for path in (_VENDORED, _BER):
|
|
111
|
+
with self.subTest(path=path.name):
|
|
112
|
+
for root in _import_roots(path):
|
|
113
|
+
self.assertTrue(
|
|
114
|
+
root in sys.stdlib_module_names or root == "scriptconv",
|
|
115
|
+
f"{path.name} imports {root!r}, which is neither the "
|
|
116
|
+
f"standard library nor scriptconv itself; the registry "
|
|
117
|
+
f"row advertises this backend as needing no extra")
|
|
118
|
+
|
|
119
|
+
def test_that_import_check_fails_on_a_planted_third_party_import(self):
|
|
120
|
+
# The control. Without it the check above could be vacuous for a new
|
|
121
|
+
# reason: a parser that collects nothing also reports nothing.
|
|
122
|
+
planted = _tmp_module("import packaging\nimport re\n")
|
|
123
|
+
self.assertEqual(_import_roots(planted), {"packaging", "re"})
|
|
124
|
+
self.assertNotIn("packaging", sys.stdlib_module_names)
|
|
125
|
+
# and a clean module yields only allowed roots
|
|
126
|
+
clean = _tmp_module("import re\nfrom typing import Final\n")
|
|
127
|
+
self.assertEqual(_import_roots(clean), {"re", "typing"})
|
|
128
|
+
|
|
129
|
+
def test_the_import_reader_sees_the_real_files(self):
|
|
130
|
+
# A reader that silently found no imports would make the check above
|
|
131
|
+
# pass for the wrong reason, so pin what it actually collects.
|
|
132
|
+
self.assertIn("re", _import_roots(_VENDORED))
|
|
133
|
+
self.assertIn("scriptconv", _import_roots(_BER))
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
if __name__ == "__main__":
|
|
137
|
+
unittest.main()
|