scriptconv 0.0.4a28__tar.gz → 0.0.4a31__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.
Files changed (523) hide show
  1. {scriptconv-0.0.4a28/scriptconv.egg-info → scriptconv-0.0.4a31}/PKG-INFO +8 -1
  2. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/pyproject.toml +3 -1
  3. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/enums.py +2 -0
  4. scriptconv-0.0.4a31/scriptconv/phonemizers/ghana.py +87 -0
  5. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/mul.py +99 -1
  6. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/registry.py +2 -0
  7. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/version.py +1 -1
  8. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31/scriptconv.egg-info}/PKG-INFO +8 -1
  9. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv.egg-info/SOURCES.txt +3 -0
  10. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv.egg-info/requires.txt +9 -0
  11. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_arpa_stress.py +14 -5
  12. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_phonemizers_base.py +2 -1
  13. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_phonemizers_friendly_import_errors.py +5 -1
  14. scriptconv-0.0.4a31/tests/test_phonemizers_ghana.py +56 -0
  15. scriptconv-0.0.4a31/tests/test_phonemizers_phonetisaurus.py +201 -0
  16. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/LICENSE +0 -0
  17. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/README.md +0 -0
  18. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/requirements.txt +0 -0
  19. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/__init__.py +0 -0
  20. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/__main__.py +0 -0
  21. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/cangjie.py +0 -0
  22. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/conventions.py +0 -0
  23. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/data/__init__.py +0 -0
  24. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/data/cangjie5_tc.tsv.gz +0 -0
  25. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/diacritics.py +0 -0
  26. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/graph.py +0 -0
  27. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/notation.py +0 -0
  28. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/__init__.py +0 -0
  29. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/__init__.py +0 -0
  30. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/bw2ipa.py +0 -0
  31. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/hangul2ipa.py +0 -0
  32. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/aspiration.csv +0 -0
  33. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/assimilation.csv +0 -0
  34. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/double_coda.csv +0 -0
  35. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/hanja.tsv +0 -0
  36. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/ipa.csv +0 -0
  37. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/neutralization.csv +0 -0
  38. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/tensification.csv +0 -0
  39. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/ko_tables/yale.csv +0 -0
  40. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/__init__.py +0 -0
  41. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/codeswitch.py +0 -0
  42. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/diacritize.py +0 -0
  43. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/dialectal.py +0 -0
  44. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/english_g2p.py +0 -0
  45. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/espeak.py +0 -0
  46. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/frontend.py +0 -0
  47. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/levantine_g2p.py +0 -0
  48. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/normalize.py +0 -0
  49. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/shami/phoneme_inventory.py +0 -0
  50. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/vosk_g2p.py +0 -0
  51. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_thirdparty/zh_num.py +0 -0
  52. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/__init__.py +0 -0
  53. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/DATA_LICENSE.md +0 -0
  54. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/LICENSE.md +0 -0
  55. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/__init__.py +0 -0
  56. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/cli.py +0 -0
  57. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/convert.py +0 -0
  58. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/data/ipa_universal_graphemes.json +0 -0
  59. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/data/registry.json +0 -0
  60. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/english.py +0 -0
  61. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/fallback.py +0 -0
  62. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/g2p.py +0 -0
  63. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aar.json +0 -0
  64. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/abi.json +0 -0
  65. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acd.json +0 -0
  66. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ach.json +0 -0
  67. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/acz.json +0 -0
  68. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ada.json +0 -0
  69. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ade.json +0 -0
  70. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/adj.json +0 -0
  71. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aeb.json +0 -0
  72. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ael.json +0 -0
  73. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/afr.json +0 -0
  74. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ags.json +0 -0
  75. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aha.json +0 -0
  76. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aiw.json +0 -0
  77. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ajg.json +0 -0
  78. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/akp.json +0 -0
  79. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aks.json +0 -0
  80. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/aku.json +0 -0
  81. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/alz.json +0 -0
  82. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amb.json +0 -0
  83. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amf.json +0 -0
  84. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/amh.json +0 -0
  85. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/anc.json +0 -0
  86. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ank.json +0 -0
  87. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ann.json +0 -0
  88. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/any.json +0 -0
  89. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/apd.json +0 -0
  90. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ara.json +0 -0
  91. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arb.json +0 -0
  92. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ary.json +0 -0
  93. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/arz.json +0 -0
  94. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ato.json +0 -0
  95. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avi.json +0 -0
  96. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avn.json +0 -0
  97. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/avu.json +0 -0
  98. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ayb.json +0 -0
  99. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/azo.json +0 -0
  100. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bam.json +0 -0
  101. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bas.json +0 -0
  102. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bav.json +0 -0
  103. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bax.json +0 -0
  104. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bba.json +0 -0
  105. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bbq.json +0 -0
  106. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bci.json +0 -0
  107. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bcq.json +0 -0
  108. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bde.json +0 -0
  109. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdj.json +0 -0
  110. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bdu.json +0 -0
  111. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bec.json +0 -0
  112. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/beh.json +0 -0
  113. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bej.json +0 -0
  114. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bem.json +0 -0
  115. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bex.json +0 -0
  116. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfa.json +0 -0
  117. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfj.json +0 -0
  118. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bfm.json +0 -0
  119. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bhy.json +0 -0
  120. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bib.json +0 -0
  121. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bim.json +0 -0
  122. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bin.json +0 -0
  123. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjo.json +0 -0
  124. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bjt.json +0 -0
  125. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkc.json +0 -0
  126. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bkm.json +0 -0
  127. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bky.json +0 -0
  128. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ble.json +0 -0
  129. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/blm.json +0 -0
  130. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bng.json +0 -0
  131. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bni.json +0 -0
  132. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bol.json +0 -0
  133. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bom.json +0 -0
  134. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bot.json +0 -0
  135. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boy.json +0 -0
  136. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/boz.json +0 -0
  137. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqj.json +0 -0
  138. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqp.json +0 -0
  139. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bqx.json +0 -0
  140. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsc.json +0 -0
  141. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bsq.json +0 -0
  142. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buc.json +0 -0
  143. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bud.json +0 -0
  144. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/buf.json +0 -0
  145. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bum.json +0 -0
  146. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bva.json +0 -0
  147. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bvm.json +0 -0
  148. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bwj.json +0 -0
  149. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bxk.json +0 -0
  150. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byn.json +0 -0
  151. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/byv.json +0 -0
  152. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/bza.json +0 -0
  153. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cgg.json +0 -0
  154. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cjk.json +0 -0
  155. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cko.json +0 -0
  156. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cme.json +0 -0
  157. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/cop.json +0 -0
  158. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daa.json +0 -0
  159. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/daf.json +0 -0
  160. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dag.json +0 -0
  161. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dbq.json +0 -0
  162. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dec.json +0 -0
  163. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dgd.json +0 -0
  164. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/did.json +0 -0
  165. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/din.json +0 -0
  166. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dmf.json +0 -0
  167. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dnj.json +0 -0
  168. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin.json +0 -0
  169. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dop-benin2.json +0 -0
  170. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dow.json +0 -0
  171. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dsh.json +0 -0
  172. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dua.json +0 -0
  173. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dug.json +0 -0
  174. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyo.json +0 -0
  175. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dyu.json +0 -0
  176. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/dzd.json +0 -0
  177. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebo.json +0 -0
  178. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ebr.json +0 -0
  179. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/efi.json +0 -0
  180. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ell.json +0 -0
  181. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ema.json +0 -0
  182. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/emk.json +0 -0
  183. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eng.json +0 -0
  184. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/enn.json +0 -0
  185. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/etn.json +0 -0
  186. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/eto.json +0 -0
  187. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewe.json +0 -0
  188. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ewo.json +0 -0
  189. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fak.json +0 -0
  190. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fat.json +0 -0
  191. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ffm.json +0 -0
  192. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fia.json +0 -0
  193. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/flr.json +0 -0
  194. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fmp.json +0 -0
  195. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fng.json +0 -0
  196. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fod.json +0 -0
  197. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fon.json +0 -0
  198. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fuc.json +0 -0
  199. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/fue.json +0 -0
  200. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gaa.json +0 -0
  201. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gej.json +0 -0
  202. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gez.json +0 -0
  203. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gfe.json +0 -0
  204. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gha.json +0 -0
  205. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gho.json +0 -0
  206. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gjn.json +0 -0
  207. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gng.json +0 -0
  208. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/god.json +0 -0
  209. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gog.json +0 -0
  210. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gou.json +0 -0
  211. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grb.json +0 -0
  212. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/grr.json +0 -0
  213. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gud.json +0 -0
  214. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guk.json +0 -0
  215. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gur.json +0 -0
  216. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gux.json +0 -0
  217. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/guz.json +0 -0
  218. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwa.json +0 -0
  219. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwd.json +0 -0
  220. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gwr.json +0 -0
  221. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/gxx.json +0 -0
  222. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hag.json +0 -0
  223. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/har.json +0 -0
  224. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-niger.json +0 -0
  225. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hau-nigeria.json +0 -0
  226. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hay.json +0 -0
  227. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hdy.json +0 -0
  228. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/hts.json +0 -0
  229. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ibo.json +0 -0
  230. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igb.json +0 -0
  231. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ige.json +0 -0
  232. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igl.json +0 -0
  233. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/igo.json +0 -0
  234. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ikw.json +0 -0
  235. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/irk.json +0 -0
  236. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/iso.json +0 -0
  237. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/jib.json +0 -0
  238. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kab.json +0 -0
  239. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbo.json +0 -0
  240. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbp.json +0 -0
  241. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kbr.json +0 -0
  242. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kcn.json +0 -0
  243. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kde.json +0 -0
  244. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdh.json +0 -0
  245. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdj.json +0 -0
  246. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdn.json +0 -0
  247. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kdx.json +0 -0
  248. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kea.json +0 -0
  249. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kec.json +0 -0
  250. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ker.json +0 -0
  251. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khq.json +0 -0
  252. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/khy.json +0 -0
  253. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kik.json +0 -0
  254. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kin.json +0 -0
  255. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kiz.json +0 -0
  256. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kmb.json +0 -0
  257. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knc.json +0 -0
  258. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/knf.json +0 -0
  259. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/koo.json +0 -0
  260. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kpe.json +0 -0
  261. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kqs.json +0 -0
  262. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/krb.json +0 -0
  263. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kri.json +0 -0
  264. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ksb.json +0 -0
  265. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ktz.json +0 -0
  266. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kuj.json +0 -0
  267. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/kus.json +0 -0
  268. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lad.json +0 -0
  269. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lai.json +0 -0
  270. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lch.json +0 -0
  271. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ldd.json +0 -0
  272. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgg.json +0 -0
  273. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lgq.json +0 -0
  274. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lig.json +0 -0
  275. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lin.json +0 -0
  276. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lky.json +0 -0
  277. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lln.json +0 -0
  278. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lma.json +0 -0
  279. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmd.json +0 -0
  280. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lmp.json +0 -0
  281. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lns.json +0 -0
  282. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/loi.json +0 -0
  283. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lok.json +0 -0
  284. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lol.json +0 -0
  285. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lot.json +0 -0
  286. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lpx.json +0 -0
  287. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lub.json +0 -0
  288. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luc.json +0 -0
  289. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lue.json +0 -0
  290. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lug.json +0 -0
  291. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lul.json +0 -0
  292. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/lun.json +0 -0
  293. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/luw.json +0 -0
  294. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mas.json +0 -0
  295. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/maw.json +0 -0
  296. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mck.json +0 -0
  297. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcp.json +0 -0
  298. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mcu.json +0 -0
  299. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mdj.json +0 -0
  300. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mev.json +0 -0
  301. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfb.json +0 -0
  302. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfe.json +0 -0
  303. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfi.json +0 -0
  304. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mfq.json +0 -0
  305. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgc.json +0 -0
  306. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgd.json +0 -0
  307. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mgh.json +0 -0
  308. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mhi.json +0 -0
  309. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkf.json +0 -0
  310. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mkw.json +0 -0
  311. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlg.json +0 -0
  312. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mlw.json +0 -0
  313. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmo.json +0 -0
  314. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mmy.json +0 -0
  315. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnf.json +0 -0
  316. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mnk.json +0 -0
  317. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mos.json +0 -0
  318. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mpg.json +0 -0
  319. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mqu.json +0 -0
  320. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mse.json +0 -0
  321. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mur.json +0 -0
  322. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mwe.json +0 -0
  323. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myf.json +0 -0
  324. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myk.json +0 -0
  325. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myo.json +0 -0
  326. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/myx.json +0 -0
  327. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/mzk.json +0 -0
  328. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/naw.json +0 -0
  329. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nba.json +0 -0
  330. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ncu.json +0 -0
  331. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndb.json +0 -0
  332. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ndo.json +0 -0
  333. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ney.json +0 -0
  334. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nfr.json +0 -0
  335. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nga.json +0 -0
  336. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire.json +0 -0
  337. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngb-zaire2.json +0 -0
  338. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngh.json +0 -0
  339. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ngi.json +0 -0
  340. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhb.json +0 -0
  341. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhu.json +0 -0
  342. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nhw.json +0 -0
  343. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nko.json +0 -0
  344. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmn.json +0 -0
  345. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nmq.json +0 -0
  346. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnb.json +0 -0
  347. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnh.json +0 -0
  348. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nnw.json +0 -0
  349. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nqo.json +0 -0
  350. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nso.json +0 -0
  351. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nuj.json +0 -0
  352. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nup.json +0 -0
  353. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nus.json +0 -0
  354. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nwb.json +0 -0
  355. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nya.json +0 -0
  356. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nym.json +0 -0
  357. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzd.json +0 -0
  358. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/nzi.json +0 -0
  359. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ogc.json +0 -0
  360. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/oku.json +0 -0
  361. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/onw.json +0 -0
  362. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pae.json +0 -0
  363. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pbi.json +0 -0
  364. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pny.json +0 -0
  365. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pov.json +0 -0
  366. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/puu.json +0 -0
  367. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/pze.json +0 -0
  368. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rel.json +0 -0
  369. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rmt.json +0 -0
  370. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/rng.json +0 -0
  371. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/run.json +0 -0
  372. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sad.json +0 -0
  373. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-central_african_republic.json +0 -0
  374. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sag-congo.json +0 -0
  375. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sav.json +0 -0
  376. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire.json +0 -0
  377. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sef-cote_d_ivoire2.json +0 -0
  378. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/seh.json +0 -0
  379. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/she.json +0 -0
  380. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shk.json +0 -0
  381. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shu.json +0 -0
  382. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/shy.json +0 -0
  383. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sig.json +0 -0
  384. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/siz.json +0 -0
  385. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sld.json +0 -0
  386. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sna.json +0 -0
  387. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk-senegal.json +0 -0
  388. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/snk.json +0 -0
  389. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sok.json +0 -0
  390. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sop.json +0 -0
  391. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spa.json +0 -0
  392. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/spy.json +0 -0
  393. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssl.json +0 -0
  394. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssn.json +0 -0
  395. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ssw.json +0 -0
  396. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/suk.json +0 -0
  397. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sur.json +0 -0
  398. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sus.json +0 -0
  399. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swb.json +0 -0
  400. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/swh.json +0 -0
  401. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/sym.json +0 -0
  402. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/szg.json +0 -0
  403. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tan.json +0 -0
  404. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taq.json +0 -0
  405. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/taz.json +0 -0
  406. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbt.json +0 -0
  407. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tbz.json +0 -0
  408. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ted.json +0 -0
  409. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tem.json +0 -0
  410. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/teo.json +0 -0
  411. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thv.json +0 -0
  412. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/thz.json +0 -0
  413. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tig.json +0 -0
  414. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tik.json +0 -0
  415. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tir.json +0 -0
  416. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tmc.json +0 -0
  417. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tnr.json +0 -0
  418. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toh.json +0 -0
  419. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/toq.json +0 -0
  420. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/trc.json +0 -0
  421. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsc.json +0 -0
  422. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tso.json +0 -0
  423. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tsp.json +0 -0
  424. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ttq.json +0 -0
  425. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tui.json +0 -0
  426. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tum.json +0 -0
  427. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuq.json +0 -0
  428. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tuz.json +0 -0
  429. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/twi.json +0 -0
  430. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/tzm.json +0 -0
  431. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/uba.json +0 -0
  432. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/udu.json +0 -0
  433. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ukv.json +0 -0
  434. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/urh.json +0 -0
  435. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vag.json +0 -0
  436. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vai.json +0 -0
  437. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ven.json +0 -0
  438. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vmw.json +0 -0
  439. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/vut.json +0 -0
  440. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wan.json +0 -0
  441. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wib.json +0 -0
  442. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wmw.json +0 -0
  443. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wob.json +0 -0
  444. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wol.json +0 -0
  445. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/wwa.json +0 -0
  446. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xho.json +0 -0
  447. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xog.json +0 -0
  448. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xon.json +0 -0
  449. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xrb.json +0 -0
  450. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/xsm.json +0 -0
  451. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yam.json +0 -0
  452. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yat.json +0 -0
  453. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ybb.json +0 -0
  454. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yid.json +0 -0
  455. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yko.json +0 -0
  456. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yor.json +0 -0
  457. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/yun.json +0 -0
  458. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zag.json +0 -0
  459. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zen.json +0 -0
  460. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/ziw.json +0 -0
  461. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zne.json +0 -0
  462. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/languages/zul.json +0 -0
  463. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/loader.py +0 -0
  464. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/normalizer.py +0 -0
  465. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/africa_g2p/pipeline.py +0 -0
  466. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/iqra_phonetiser/LICENSE.md +0 -0
  467. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/iqra_phonetiser/__init__.py +0 -0
  468. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/iqra_phonetiser/phonetiser.py +0 -0
  469. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/kog2p/LICENSE.md +0 -0
  470. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/kog2p/__init__.py +0 -0
  471. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/kog2p/rulebook.txt +0 -0
  472. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/LICENSE.md +0 -0
  473. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/__init__.py +0 -0
  474. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/buck/__init__.py +0 -0
  475. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/buck/phonetise_buckwalter.py +0 -0
  476. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/buck/symbols.py +0 -0
  477. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/buck/tokenization.py +0 -0
  478. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/num2words.py +0 -0
  479. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/_vendored/mantoq/unicode_symbol2label.py +0 -0
  480. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/africa.py +0 -0
  481. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/ar.py +0 -0
  482. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/base.py +0 -0
  483. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/en.py +0 -0
  484. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/eu.py +0 -0
  485. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/fa.py +0 -0
  486. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/gl.py +0 -0
  487. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/he.py +0 -0
  488. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/ja.py +0 -0
  489. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/ko.py +0 -0
  490. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/mwl.py +0 -0
  491. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/o2ipa.py +0 -0
  492. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/pt.py +0 -0
  493. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/ru.py +0 -0
  494. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/shami.py +0 -0
  495. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/vi.py +0 -0
  496. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/phonemizers/zh.py +0 -0
  497. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/py.typed +0 -0
  498. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/readings.py +0 -0
  499. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/scripts.py +0 -0
  500. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv/translit.py +0 -0
  501. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv.egg-info/dependency_links.txt +0 -0
  502. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/scriptconv.egg-info/top_level.txt +0 -0
  503. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/setup.cfg +0 -0
  504. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_cangjie.py +0 -0
  505. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_cli.py +0 -0
  506. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_conventions.py +0 -0
  507. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_diacritics.py +0 -0
  508. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_diacritics_graph.py +0 -0
  509. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_errors_policy.py +0 -0
  510. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_examples.py +0 -0
  511. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_graph.py +0 -0
  512. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_he_extra_declares_phonikud.py +0 -0
  513. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_notation.py +0 -0
  514. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_phonemizers_africa.py +0 -0
  515. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_phonemizers_cjk_ar.py +0 -0
  516. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_phonemizers_halabi_iqra.py +0 -0
  517. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_phonemizers_pt_tugaphone.py +0 -0
  518. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_phonemizers_ru.py +0 -0
  519. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_readings.py +0 -0
  520. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_readings_zh.py +0 -0
  521. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_scripts.py +0 -0
  522. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_scripts_stressonnx_compat.py +0 -0
  523. {scriptconv-0.0.4a28 → scriptconv-0.0.4a31}/tests/test_translit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scriptconv
3
- Version: 0.0.4a28
3
+ Version: 0.0.4a31
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
@@ -42,6 +42,9 @@ Requires-Dist: epitran; extra == "epitran"
42
42
  Provides-Extra: transphone
43
43
  Requires-Dist: scriptconv[phonemizers]; extra == "transphone"
44
44
  Requires-Dist: transphone; extra == "transphone"
45
+ Provides-Extra: phonetisaurus
46
+ Requires-Dist: scriptconv[phonemizers]; extra == "phonetisaurus"
47
+ Requires-Dist: phonetisaurus; extra == "phonetisaurus"
45
48
  Provides-Extra: misaki
46
49
  Requires-Dist: scriptconv[phonemizers]; extra == "misaki"
47
50
  Requires-Dist: misaki; extra == "misaki"
@@ -63,6 +66,9 @@ Requires-Dist: g2p_barranquenho; extra == "pt-phonemizers"
63
66
  Provides-Extra: mwl
64
67
  Requires-Dist: scriptconv[phonemizers]; extra == "mwl"
65
68
  Requires-Dist: mwl_phonemizer; extra == "mwl"
69
+ Provides-Extra: ghana
70
+ Requires-Dist: scriptconv[phonemizers]; extra == "ghana"
71
+ Requires-Dist: ghana-g2p>=0.1.1; extra == "ghana"
66
72
  Provides-Extra: gl
67
73
  Requires-Dist: scriptconv[phonemizers]; extra == "gl"
68
74
  Requires-Dist: pycotovia; extra == "gl"
@@ -126,6 +132,7 @@ Requires-Dist: ovos-number-parser; extra == "test"
126
132
  Requires-Dist: bifonia>=0.1.1; extra == "test"
127
133
  Requires-Dist: stressonnx>=0.0.3a2; extra == "test"
128
134
  Requires-Dist: tugaphone>=1.2.0a1; extra == "test"
135
+ Requires-Dist: ghana-g2p>=0.1.1; extra == "test"
129
136
  Requires-Dist: tomli; python_version < "3.11" and extra == "test"
130
137
  Dynamic: license-file
131
138
 
@@ -42,12 +42,14 @@ gruut = ["scriptconv[phonemizers]", "gruut"]
42
42
  goruut = ["scriptconv[phonemizers]", "pygoruut"]
43
43
  epitran = ["scriptconv[phonemizers]", "epitran"]
44
44
  transphone = ["scriptconv[phonemizers]", "transphone"]
45
+ phonetisaurus = ["scriptconv[phonemizers]", "phonetisaurus"]
45
46
  misaki = ["scriptconv[phonemizers]", "misaki"]
46
47
  byt5 = ["scriptconv[phonemizers]", "onnxruntime", "numpy"]
47
48
  o2i = ["scriptconv[phonemizers]", "orthography2ipa"]
48
49
  eu = ["scriptconv[phonemizers]", "euskaphone", "ahotts_g2p"]
49
50
  pt-phonemizers = ["scriptconv[phonemizers]", "tugaphone>=1.2.0a1", "g2p_barranquenho"]
50
51
  mwl = ["scriptconv[phonemizers]", "mwl_phonemizer"]
52
+ ghana = ["scriptconv[phonemizers]", "ghana-g2p>=0.1.1"]
51
53
  gl = ["scriptconv[phonemizers]", "pycotovia"]
52
54
  he = ["scriptconv[phonemizers]", "phonikud-onnx", "phonikud"]
53
55
  fa = ["scriptconv[phonemizers]", "persian_phonemizer"]
@@ -61,7 +63,7 @@ zh-phonemizers = ["scriptconv[phonemizers]", "jieba", "pypinyin>=0.50,<1", "xpin
61
63
  en-phonemizers = ["scriptconv[phonemizers]", "g2p_en", "openphonemizer", "deep-phonemizer", "requests"]
62
64
  ar-phonemizers = ["scriptconv[phonemizers]", "arbtok", "ovos-number-parser"]
63
65
  shami = ["scriptconv[phonemizers]", "regex"]
64
- test = ["pytest", "pytest-timeout", "pykakasi>=2.3,<3", "pypinyin>=0.50,<1", "quebra-frases", "langcodes", "regex", "ovos-number-parser", "bifonia>=0.1.1", "stressonnx>=0.0.3a2", "tugaphone>=1.2.0a1", "tomli; python_version < '3.11'"]
66
+ test = ["pytest", "pytest-timeout", "pykakasi>=2.3,<3", "pypinyin>=0.50,<1", "quebra-frases", "langcodes", "regex", "ovos-number-parser", "bifonia>=0.1.1", "stressonnx>=0.0.3a2", "tugaphone>=1.2.0a1", "ghana-g2p>=0.1.1", "tomli; python_version < '3.11'"]
65
67
 
66
68
  [project.urls]
67
69
  Homepage = "https://github.com/TigreGotico/scriptconv"
@@ -52,6 +52,7 @@ class Phonemizer(str, Enum):
52
52
  BYT5 = "byt5"
53
53
  CHARSIU = "charsiu" # technically same as byt5, but needs special handling for whitespace
54
54
  TRANSPHONE = "transphone"
55
+ PHONETISAURUS = "phonetisaurus" # WFST g2p; language and symbols come from the model
55
56
  MIRANDESE = "mwl_phonemizer"
56
57
 
57
58
  DEEPPHONEMIZER = "deepphonemizer" # en
@@ -84,3 +85,4 @@ class Phonemizer(str, Enum):
84
85
  BARRANQUENHO = "barranquenho" # barranquenho (pt/es contact variety; o2i lattice)
85
86
  ORTHOGRAPHY2IPA = "orthography2ipa" # multilingual data-driven IPA (o2i lattice)
86
87
  AFRICA_G2P = "africa_g2p" # rule-based G2P for 400+ African languages (native units or IPA)
88
+ GHANA_G2P = "ghana_g2p" # africa-g2p rules patched for 42 Ghanaian languages (native units or IPA)
@@ -0,0 +1,87 @@
1
+ """ghana-g2p-backed phonemizer.
2
+
3
+ Wraps ``ghana-g2p`` (GhanaNLP, https://github.com/GhanaNLP/ghana-g2p,
4
+ Apache-2.0), a grapheme-to-phoneme library for 42 Ghanaian languages. It is
5
+ built on africa-g2p's rule tables and adds three things for Ghanaian text:
6
+ Unicode codepoint normalisation (for example ``ʊ`` U+028A written for ``ʋ``
7
+ U+028B), a patch table of missing or corrected letters, and donor rule sets
8
+ for languages africa-g2p has no table for. Every result records whether its
9
+ rules are the language's own, an equivalent code, or a related donor.
10
+
11
+ Like :class:`~scriptconv.phonemizers.africa.AfricaG2PPhonemizer`, it emits
12
+ IPA (:attr:`Alphabet.IPA`) or native-orthography phoneme units
13
+ (:attr:`Alphabet.AFRICA_G2P`).
14
+
15
+ ``ghana-g2p`` depends on the PyPI ``africa-g2p`` package and loads THAT
16
+ installed copy, not scriptconv's vendored ``africa_g2p``. The two can be
17
+ different versions, so this backend and ``AfricaG2PPhonemizer`` can give
18
+ different output for the same language.
19
+
20
+ Optional extra: ``pip install scriptconv[ghana]``.
21
+ """
22
+ from typing import Dict, List
23
+
24
+ from scriptconv.phonemizers.base import BasePhonemizer, _check_alphabet, _primary_subtag
25
+ from scriptconv.phonemizers.enums import Alphabet
26
+
27
+ __all__ = ["GhanaG2PPhonemizer"]
28
+
29
+
30
+ def _ghana_g2p():
31
+ """Import ``ghana_g2p`` lazily, naming the extra when it is missing."""
32
+ try:
33
+ import ghana_g2p
34
+ except ImportError as e:
35
+ raise ImportError(
36
+ "ghana-g2p is required for the Ghanaian phonemizer. Install it "
37
+ "with 'pip install ghana-g2p' (or 'pip install scriptconv[ghana]')."
38
+ ) from e
39
+ return ghana_g2p
40
+
41
+
42
+ class GhanaG2PPhonemizer(BasePhonemizer):
43
+ """
44
+ Rule-based G2P for 42 Ghanaian languages, backed by ``ghana-g2p``.
45
+
46
+ Languages are ghana-g2p's own ISO 639-3 codes (``twi``, ``ewe``, ``dag``,
47
+ ``gaa``, ``hau``, ...), read at runtime from ``ghana_g2p.languages()``.
48
+ One engine per language is created on first use and cached.
49
+ """
50
+
51
+ def __init__(self, alphabet: Alphabet = Alphabet.IPA):
52
+ _check_alphabet(self, alphabet, [Alphabet.IPA, Alphabet.AFRICA_G2P])
53
+ super().__init__(alphabet=alphabet)
54
+ self._cache: Dict[str, object] = {}
55
+
56
+ def _engine(self, resolved_lang: str):
57
+ """Return, lazily creating and caching, the engine for *resolved_lang*."""
58
+ if resolved_lang not in self._cache:
59
+ self._cache[resolved_lang] = _ghana_g2p().GhanaG2P(resolved_lang)
60
+ return self._cache[resolved_lang]
61
+
62
+ @classmethod
63
+ def supported_langs(cls) -> List[str]:
64
+ """Return every ISO 639-3 code ghana-g2p lists."""
65
+ return [entry["code"] for entry in _ghana_g2p().languages()]
66
+
67
+ @classmethod
68
+ def get_lang(cls, target_lang: str) -> str:
69
+ """
70
+ Resolve *target_lang* to a ghana-g2p ISO 639-3 code.
71
+
72
+ Only the primary subtag is matched, exactly (``twi-GH`` -> ``twi``).
73
+ ISO 639-1 tags are not mapped (``ee`` is not ``ewe``).
74
+
75
+ Raises:
76
+ ValueError: If ghana-g2p has no such language.
77
+ """
78
+ key = _primary_subtag(target_lang)
79
+ if key in cls.supported_langs():
80
+ return key
81
+ raise ValueError(f"ghana-g2p: unsupported language {target_lang!r}")
82
+
83
+ def phonemize_string(self, text: str, lang: str) -> str:
84
+ engine = self._engine(self.get_lang(lang))
85
+ if self.alphabet == Alphabet.IPA:
86
+ return engine.ipa(text, sep=" ")
87
+ return engine.grapheme(text, sep=" ")
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
9
9
  import numpy as np
10
10
 
11
11
  from scriptconv.phonemizers.enums import Alphabet
12
- from scriptconv.phonemizers.base import BasePhonemizer
12
+ from scriptconv.phonemizers.base import BasePhonemizer, _check_alphabet
13
13
  # minimal ONNX session construction — scriptconv has no provider
14
14
  # machinery; consumers wanting CUDA/etc. pass providers= explicitly
15
15
  ProviderSpec = str
@@ -1465,3 +1465,101 @@ class TransphonePhonemizer(BasePhonemizer):
1465
1465
  [p if p != "<SPACE>" else " "
1466
1466
  for p in pho.tokenize(text, use_space=True)]
1467
1467
  ).strip()
1468
+
1469
+
1470
+ class PhonetisaurusPhonemizer(BasePhonemizer):
1471
+ """WFST grapheme-to-phoneme, through the ``phonetisaurus`` bindings.
1472
+
1473
+ https://github.com/AdolfVonKleist/Phonetisaurus
1474
+
1475
+ Phonetisaurus has no rules and no language list of its own: all of its
1476
+ knowledge is in one trained FST, so the language and the symbol set are
1477
+ properties of the MODEL, not of this wrapper. That has three consequences,
1478
+ and each one is a design decision rather than a limitation to work around:
1479
+
1480
+ * ``model`` is required. scriptconv never downloads a model (the same rule
1481
+ :class:`ByT5Phonemizer` follows). ``MODEL_SOURCES`` names where published
1482
+ models live; a caller resolves one and passes the path.
1483
+ * ``alphabet`` is declared by the caller, because only the caller knows
1484
+ what the model was trained to emit. A CMUdict-trained model emits ARPA,
1485
+ an o2i-trained or espeak-trained one emits IPA. The wrapper cannot read
1486
+ it off the FST, so it does not guess.
1487
+ * There is no language check and no ``LANG_DEFAULTS`` entry. A wrapper that
1488
+ cannot know its own model's language must not be any language's default.
1489
+
1490
+ ``phonetisaurus`` ships the binaries it drives, so no system package is
1491
+ needed. Training a model needs the bundled ``estimate-ngram``, which is not
1492
+ exercised here: this wrapper only applies a model.
1493
+ """
1494
+
1495
+ #: Where published FSTs come from. Documentation, never a download.
1496
+ MODEL_SOURCES = {
1497
+ "rhasspy": "https://github.com/rhasspy/*-g2p (one g2p.fst per language)",
1498
+ "cmudict": "trained from CMUdict with 'phonetisaurus train' (ARPA symbols)",
1499
+ }
1500
+
1501
+ #: Symbol sets a Phonetisaurus model is known to be trained on. The wrapper
1502
+ #: passes the model's symbols through untouched, so this list says which
1503
+ #: declarations are meaningful, not which conversions happen.
1504
+ SUPPORTED_ALPHABETS = [Alphabet.IPA, Alphabet.ARPA, Alphabet.SAMPA,
1505
+ Alphabet.XSAMPA, Alphabet.GRAPHEMES]
1506
+
1507
+ def __init__(self, model: Optional[str] = None,
1508
+ alphabet: Alphabet = Alphabet.IPA,
1509
+ nbest: int = 1,
1510
+ separator: str = " ",
1511
+ normalizer=None):
1512
+ """
1513
+ Args:
1514
+ model: path to a trained Phonetisaurus FST. Required.
1515
+ alphabet: the symbol set the model emits. The caller states it.
1516
+ nbest: how many pronunciations the engine ranks per word. The
1517
+ BEST one is returned whatever this is, so a higher value
1518
+ changes the search, not the output shape. ``predict`` prints
1519
+ one line per ranked pronunciation, best first, and yields one
1520
+ pair per line, so the wrapper keeps the FIRST pair it sees for
1521
+ a word and drops the rest.
1522
+ separator: joins the symbols of one word. Models are trained on
1523
+ symbol sequences, so the parts need a separator to stay
1524
+ readable; pass "" for a bare string.
1525
+ normalizer: see :class:`BasePhonemizer`.
1526
+ """
1527
+ _check_alphabet(self, alphabet, self.SUPPORTED_ALPHABETS)
1528
+ super().__init__(alphabet, normalizer=normalizer)
1529
+ try:
1530
+ import phonetisaurus
1531
+ except ImportError as e:
1532
+ raise ImportError(
1533
+ "phonetisaurus is required for the Phonetisaurus phonemizer. "
1534
+ "Install it with 'pip install phonetisaurus' "
1535
+ "(or 'pip install scriptconv[phonetisaurus]')."
1536
+ ) from e
1537
+ if not model or not os.path.isfile(model):
1538
+ raise ValueError(
1539
+ "Phonetisaurus phonemization needs a local trained FST: pass "
1540
+ "model=<path> (scriptconv never downloads — see "
1541
+ "MODEL_SOURCES for where published models live)")
1542
+ self.phonetisaurus = phonetisaurus
1543
+ self.model = model
1544
+ self.nbest = nbest
1545
+ self.separator = separator
1546
+
1547
+ def phonemize_string(self, text: str, lang: str) -> str:
1548
+ """Phonemize ``text``. ``lang`` is accepted and not used: the model
1549
+ decides the language, so a language argument here would claim a
1550
+ routing this wrapper does not do."""
1551
+ words = text.split()
1552
+ if not words:
1553
+ return ""
1554
+ # predict() yields (word, symbols) and may reorder or drop a word it
1555
+ # cannot read, so the result is indexed by word rather than zipped.
1556
+ #
1557
+ # With nbest > 1 it yields one pair PER RANKED PRONUNCIATION, best
1558
+ # first, so a word appears more than once. dict() would keep the last
1559
+ # pair, which is the WORST-ranked reading. Keep the first instead.
1560
+ guesses: Dict[str, List[str]] = {}
1561
+ for word, symbols in self.phonetisaurus.predict(
1562
+ words, self.model, nbest=self.nbest):
1563
+ guesses.setdefault(word, symbols)
1564
+ return " ".join(self.separator.join(guesses[w])
1565
+ for w in words if w in guesses)
@@ -35,6 +35,7 @@ PHONEMIZER_REGISTRY: Dict[Phonemizer, Tuple[str, str, Optional[str]]] = {
35
35
  _P.GORUUT: (f"{_BASE}.mul", "GoruutPhonemizer", "goruut"),
36
36
  _P.EPITRAN: (f"{_BASE}.mul", "EpitranPhonemizer", "epitran"),
37
37
  _P.TRANSPHONE: (f"{_BASE}.mul", "TransphonePhonemizer", "transphone"),
38
+ _P.PHONETISAURUS: (f"{_BASE}.mul", "PhonetisaurusPhonemizer", "phonetisaurus"),
38
39
  _P.BYT5: (f"{_BASE}.mul", "ByT5Phonemizer", "byt5"),
39
40
  _P.CHARSIU: (f"{_BASE}.mul", "CharsiuPhonemizer", "byt5"),
40
41
  _P.MISAKI: (f"{_BASE}.mul", "MisakiPhonemizer", "misaki"),
@@ -58,6 +59,7 @@ PHONEMIZER_REGISTRY: Dict[Phonemizer, Tuple[str, str, Optional[str]]] = {
58
59
  _P.ORTHOGRAPHY2IPA: (f"{_BASE}.o2ipa", "Orthography2IPAPhonemizer", "o2i"),
59
60
  # vendored (not an optional extra) -- see _vendored/africa_g2p
60
61
  _P.AFRICA_G2P: (f"{_BASE}.africa", "AfricaG2PPhonemizer", None),
62
+ _P.GHANA_G2P: (f"{_BASE}.ghana", "GhanaG2PPhonemizer", "ghana"),
61
63
  # ported in the CJK/AR stage; registered here so no member is silently
62
64
  # unmapped — resolution raises ImportError naming the pending extra
63
65
  _P.OPENJTALK: (f"{_BASE}.ja", "OpenJTaklPhonemizer", "ja-phonemizers"),
@@ -2,7 +2,7 @@
2
2
  VERSION_MAJOR = 0
3
3
  VERSION_MINOR = 0
4
4
  VERSION_BUILD = 4
5
- VERSION_ALPHA = 28
5
+ VERSION_ALPHA = 31
6
6
  # END_VERSION_BLOCK
7
7
 
8
8
  VERSION_STR = f"{VERSION_MAJOR}.{VERSION_MINOR}.{VERSION_BUILD}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scriptconv
3
- Version: 0.0.4a28
3
+ Version: 0.0.4a31
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
@@ -42,6 +42,9 @@ Requires-Dist: epitran; extra == "epitran"
42
42
  Provides-Extra: transphone
43
43
  Requires-Dist: scriptconv[phonemizers]; extra == "transphone"
44
44
  Requires-Dist: transphone; extra == "transphone"
45
+ Provides-Extra: phonetisaurus
46
+ Requires-Dist: scriptconv[phonemizers]; extra == "phonetisaurus"
47
+ Requires-Dist: phonetisaurus; extra == "phonetisaurus"
45
48
  Provides-Extra: misaki
46
49
  Requires-Dist: scriptconv[phonemizers]; extra == "misaki"
47
50
  Requires-Dist: misaki; extra == "misaki"
@@ -63,6 +66,9 @@ Requires-Dist: g2p_barranquenho; extra == "pt-phonemizers"
63
66
  Provides-Extra: mwl
64
67
  Requires-Dist: scriptconv[phonemizers]; extra == "mwl"
65
68
  Requires-Dist: mwl_phonemizer; extra == "mwl"
69
+ Provides-Extra: ghana
70
+ Requires-Dist: scriptconv[phonemizers]; extra == "ghana"
71
+ Requires-Dist: ghana-g2p>=0.1.1; extra == "ghana"
66
72
  Provides-Extra: gl
67
73
  Requires-Dist: scriptconv[phonemizers]; extra == "gl"
68
74
  Requires-Dist: pycotovia; extra == "gl"
@@ -126,6 +132,7 @@ Requires-Dist: ovos-number-parser; extra == "test"
126
132
  Requires-Dist: bifonia>=0.1.1; extra == "test"
127
133
  Requires-Dist: stressonnx>=0.0.3a2; extra == "test"
128
134
  Requires-Dist: tugaphone>=1.2.0a1; extra == "test"
135
+ Requires-Dist: ghana-g2p>=0.1.1; extra == "test"
129
136
  Requires-Dist: tomli; python_version < "3.11" and extra == "test"
130
137
  Dynamic: license-file
131
138
 
@@ -29,6 +29,7 @@ scriptconv/phonemizers/en.py
29
29
  scriptconv/phonemizers/enums.py
30
30
  scriptconv/phonemizers/eu.py
31
31
  scriptconv/phonemizers/fa.py
32
+ scriptconv/phonemizers/ghana.py
32
33
  scriptconv/phonemizers/gl.py
33
34
  scriptconv/phonemizers/he.py
34
35
  scriptconv/phonemizers/ja.py
@@ -508,7 +509,9 @@ tests/test_phonemizers_africa.py
508
509
  tests/test_phonemizers_base.py
509
510
  tests/test_phonemizers_cjk_ar.py
510
511
  tests/test_phonemizers_friendly_import_errors.py
512
+ tests/test_phonemizers_ghana.py
511
513
  tests/test_phonemizers_halabi_iqra.py
514
+ tests/test_phonemizers_phonetisaurus.py
512
515
  tests/test_phonemizers_pt_tugaphone.py
513
516
  tests/test_phonemizers_ru.py
514
517
  tests/test_readings.py
@@ -33,6 +33,10 @@ ahotts_g2p
33
33
  scriptconv[phonemizers]
34
34
  persian_phonemizer
35
35
 
36
+ [ghana]
37
+ scriptconv[phonemizers]
38
+ ghana-g2p>=0.1.1
39
+
36
40
  [gl]
37
41
  scriptconv[phonemizers]
38
42
  pycotovia
@@ -80,6 +84,10 @@ orthography2ipa
80
84
  quebra-frases
81
85
  langcodes
82
86
 
87
+ [phonetisaurus]
88
+ scriptconv[phonemizers]
89
+ phonetisaurus
90
+
83
91
  [pt]
84
92
  scriptconv[phonemizers]
85
93
  bifonia>=0.1.1
@@ -113,6 +121,7 @@ ovos-number-parser
113
121
  bifonia>=0.1.1
114
122
  stressonnx>=0.0.3a2
115
123
  tugaphone>=1.2.0a1
124
+ ghana-g2p>=0.1.1
116
125
 
117
126
  [test:python_version < "3.11"]
118
127
  tomli
@@ -48,9 +48,11 @@ class TestRoundTrip(unittest.TestCase):
48
48
  spelling must itself be IPA-stable. The overwhelming majority
49
49
  round-trip byte-exactly."""
50
50
  random.seed(20260721)
51
- cons = [c for c in _ARPA_BASE
52
- if c not in _ARPA_VOWELS and c not in ("AX", "AXR")]
53
- vows = [v for v in _ARPA_VOWELS if v not in ("AX", "AXR")]
51
+ # sorted: _ARPA_VOWELS is a set, and set order follows
52
+ # PYTHONHASHSEED, so without sorting the seeded draw differs per run
53
+ cons = sorted(c for c in _ARPA_BASE
54
+ if c not in _ARPA_VOWELS and c not in ("AX", "AXR"))
55
+ vows = sorted(v for v in _ARPA_VOWELS if v not in ("AX", "AXR"))
54
56
  exact = fused = 0
55
57
  for _ in range(400):
56
58
  seq = []
@@ -66,8 +68,10 @@ class TestRoundTrip(unittest.TestCase):
66
68
  exact += 1
67
69
  else:
68
70
  fused += 1
69
- # fusion residue must be IPA-stable
70
- self.assertEqual(arpa_to_ipa(rt, stress=True), ipa, s)
71
+ # fusion residue must be IPA-stable, up to the one lossy
72
+ # alias: British GOAT əʊ is read as OW, which writes oʊ
73
+ self.assertEqual(arpa_to_ipa(rt, stress=True),
74
+ ipa.replace("əʊ", "oʊ"), s)
71
75
  self.assertGreater(exact, 350)
72
76
  self.assertLess(fused, 50)
73
77
 
@@ -82,6 +86,11 @@ class TestRoundTrip(unittest.TestCase):
82
86
  self.assertEqual(ipa_to_arpa(arpa_to_ipa("T SH")), "CH")
83
87
  self.assertEqual(arpa_to_ipa(fused, stress=True),
84
88
  arpa_to_ipa("AH0 R", stress=True))
89
+ # schwa + UH is contiguous əʊ, the British GOAT alias for OW. This
90
+ # residue is lossy: OW writes back as oʊ, not əʊ.
91
+ goat = ipa_to_arpa(arpa_to_ipa("AH0 UH0", stress=True), stress=True)
92
+ self.assertEqual(goat, "OW0")
93
+ self.assertEqual(arpa_to_ipa(goat, stress=True), "oʊ")
85
94
 
86
95
 
87
96
  if __name__ == "__main__":
@@ -25,7 +25,8 @@ class TestEnums(unittest.TestCase):
25
25
  self.assertEqual(Phonemizer.VOSK.value, "vosk")
26
26
  self.assertEqual(Alphabet.XSAMPA.value, "x-sampa")
27
27
  self.assertEqual(Alphabet.VOSK.value, "vosk")
28
- self.assertEqual(len(list(Phonemizer)), 45) # +HALABI, +IQRA
28
+ self.assertEqual(Phonemizer.GHANA_G2P.value, "ghana_g2p")
29
+ self.assertEqual(len(list(Phonemizer)), 47) # +HALABI, +IQRA, +GHANA_G2P, +PHONETISAURUS
29
30
  self.assertEqual(len(list(Alphabet)), 23) # incl. HALABI, VOSK, AFRICA_G2P
30
31
 
31
32
 
@@ -51,6 +51,7 @@ CASES = {
51
51
  Phonemizer.GRUUT: ("gruut", _trigger_gruut),
52
52
  Phonemizer.GORUUT: ("pygoruut", _trigger_construct),
53
53
  Phonemizer.EPITRAN: ("epitran", _trigger_construct),
54
+ Phonemizer.PHONETISAURUS: ("phonetisaurus", _trigger_construct),
54
55
  Phonemizer.TRANSPHONE: ("transphone", _trigger_construct),
55
56
  Phonemizer.DEEPPHONEMIZER: ("dp", _trigger_construct),
56
57
  Phonemizer.OPENPHONEMIZER: ("openphonemizer", _trigger_construct),
@@ -68,7 +69,7 @@ class TestLazyBackendImportsAreFriendly(unittest.TestCase):
68
69
  def test_all_documented_backends_covered(self):
69
70
  # keeps this test list honest if a new Phonemizer member is added
70
71
  # backed by one of the wrapper modules touched by this convention
71
- self.assertEqual(len(CASES), 15)
72
+ self.assertEqual(len(CASES), 16)
72
73
 
73
74
  def _assert_friendly(self, member):
74
75
  module_name, trigger = CASES[member]
@@ -97,6 +98,9 @@ class TestLazyBackendImportsAreFriendly(unittest.TestCase):
97
98
  def test_transphone(self):
98
99
  self._assert_friendly(Phonemizer.TRANSPHONE)
99
100
 
101
+ def test_phonetisaurus(self):
102
+ self._assert_friendly(Phonemizer.PHONETISAURUS)
103
+
100
104
  def test_deepphonemizer(self):
101
105
  self._assert_friendly(Phonemizer.DEEPPHONEMIZER)
102
106
 
@@ -0,0 +1,56 @@
1
+ """Tests for the ghana-g2p-backed phonemizer.
2
+
3
+ ghana-g2p is in the ``test`` extra, so these tests call the real library.
4
+ The expected strings are ghana-g2p 0.1.1 output. ``Akwaaba`` / ``a kʷ a a b a``
5
+ is also the example in ghana-g2p's own README.
6
+ """
7
+ import unittest
8
+
9
+ from scriptconv.phonemizers import Alphabet, Phonemizer, get_phonemizer_class
10
+ from scriptconv.phonemizers.ghana import GhanaG2PPhonemizer
11
+
12
+
13
+ class TestGhanaG2PPhonemizer(unittest.TestCase):
14
+ def test_twi_ipa(self):
15
+ p = GhanaG2PPhonemizer(alphabet=Alphabet.IPA)
16
+ self.assertEqual(p.phonemize_string("Akwaaba", "twi"), "a kʷ a a b a")
17
+
18
+ def test_twi_native_units(self):
19
+ p = GhanaG2PPhonemizer(alphabet=Alphabet.AFRICA_G2P)
20
+ self.assertEqual(p.phonemize_string("Akwaaba", "twi"), "a kw a a b a")
21
+
22
+ def test_ewe_y_is_the_palatal_glide(self):
23
+ # ghana-g2p corrects africa-g2p's Ewe <y>, once IPA y, to /j/.
24
+ p = GhanaG2PPhonemizer()
25
+ self.assertEqual(p.phonemize_string("yaa", "ewe"), "j a a")
26
+
27
+ def test_dagbani_long_vowel(self):
28
+ p = GhanaG2PPhonemizer()
29
+ self.assertEqual(p.phonemize_string("Naawuni", "dag"), "n aː w u n i")
30
+
31
+ def test_supported_langs_are_the_42_ghanaian_codes(self):
32
+ langs = GhanaG2PPhonemizer.supported_langs()
33
+ self.assertEqual(len(langs), 42)
34
+ for code in ("twi", "ewe", "gaa", "dag", "hau"):
35
+ self.assertIn(code, langs)
36
+
37
+ def test_get_lang_strips_region_only(self):
38
+ self.assertEqual(GhanaG2PPhonemizer.get_lang("twi-GH"), "twi")
39
+ with self.assertRaises(ValueError):
40
+ GhanaG2PPhonemizer.get_lang("ee")
41
+
42
+ def test_engine_is_cached_per_language(self):
43
+ p = GhanaG2PPhonemizer()
44
+ first = p._engine("twi")
45
+ self.assertIs(p._engine("twi"), first)
46
+
47
+ def test_rejects_unsupported_alphabet(self):
48
+ with self.assertRaises(ValueError):
49
+ GhanaG2PPhonemizer(alphabet=Alphabet.VOSK)
50
+
51
+ def test_registry_resolves_the_member(self):
52
+ self.assertIs(get_phonemizer_class(Phonemizer.GHANA_G2P), GhanaG2PPhonemizer)
53
+
54
+
55
+ if __name__ == "__main__":
56
+ unittest.main()