pstrain 0.1.0__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 (865) hide show
  1. pstrain-0.1.0/.github/dependabot.yml +21 -0
  2. pstrain-0.1.0/.github/workflows/build.yml +76 -0
  3. pstrain-0.1.0/.github/workflows/docs.yml +34 -0
  4. pstrain-0.1.0/.github/workflows/release.yml +72 -0
  5. pstrain-0.1.0/.github/workflows/tests.yml +204 -0
  6. pstrain-0.1.0/.github/workflows/windows-scoping.yml +107 -0
  7. pstrain-0.1.0/.gitignore +89 -0
  8. pstrain-0.1.0/.pre-commit-config.yaml +63 -0
  9. pstrain-0.1.0/CHANGELOG.md +14 -0
  10. pstrain-0.1.0/CMakeLists.txt +330 -0
  11. pstrain-0.1.0/LICENSE +36 -0
  12. pstrain-0.1.0/Makefile +138 -0
  13. pstrain-0.1.0/PKG-INFO +167 -0
  14. pstrain-0.1.0/README.md +117 -0
  15. pstrain-0.1.0/THIRD_PARTY_NOTICES.md +135 -0
  16. pstrain-0.1.0/benchmarks/arctic/README.md +103 -0
  17. pstrain-0.1.0/benchmarks/arctic/archives.json +40 -0
  18. pstrain-0.1.0/benchmarks/arctic/data/README.md +22 -0
  19. pstrain-0.1.0/benchmarks/arctic/data/big.transcription +3395 -0
  20. pstrain-0.1.0/benchmarks/arctic/data/cmu_arctic_slt.dict +3236 -0
  21. pstrain-0.1.0/benchmarks/arctic/data/full-slt.transcription +1132 -0
  22. pstrain-0.1.0/benchmarks/arctic/data/pin-train.fileids +1043 -0
  23. pstrain-0.1.0/benchmarks/arctic/data/pin-train.transcription +1043 -0
  24. pstrain-0.1.0/benchmarks/arctic/data/slt55.transcription +55 -0
  25. pstrain-0.1.0/benchmarks/arctic/data/training-unigram.lm +2746 -0
  26. pstrain-0.1.0/benchmarks/corpora/README.md +47 -0
  27. pstrain-0.1.0/benchmarks/corpora/archives.json +31 -0
  28. pstrain-0.1.0/benchmarks/timit/README.md +78 -0
  29. pstrain-0.1.0/benchmarks/timit/dither-ci-1g/results.json +38 -0
  30. pstrain-0.1.0/benchmarks/timit/dither-ci-1g/run.log +48 -0
  31. pstrain-0.1.0/bwcontract-report-2026-08-14.md +128 -0
  32. pstrain-0.1.0/cmndecl-modes-2026-08-15.json +44 -0
  33. pstrain-0.1.0/complete-model-required-fields.json +30 -0
  34. pstrain-0.1.0/csrc/CMakeLists.txt +410 -0
  35. pstrain-0.1.0/csrc/LICENSE.sphinx +30 -0
  36. pstrain-0.1.0/csrc/NOTICE.md +6 -0
  37. pstrain-0.1.0/csrc/config.h.in +48 -0
  38. pstrain-0.1.0/csrc/include/pstrain/pstrain_fe.h +43 -0
  39. pstrain-0.1.0/csrc/include/pstrain/rng.h +23 -0
  40. pstrain-0.1.0/csrc/include/pstrain_decode.h +52 -0
  41. pstrain-0.1.0/csrc/include/s3/acmod_set.h +261 -0
  42. pstrain-0.1.0/csrc/include/s3/best_q.h +98 -0
  43. pstrain-0.1.0/csrc/include/s3/ck_seg.h +72 -0
  44. pstrain-0.1.0/csrc/include/s3/common.h +76 -0
  45. pstrain-0.1.0/csrc/include/s3/corpus.h +225 -0
  46. pstrain-0.1.0/csrc/include/s3/cvt2triphone.h +77 -0
  47. pstrain-0.1.0/csrc/include/s3/div.h +97 -0
  48. pstrain-0.1.0/csrc/include/s3/dtree.h +406 -0
  49. pstrain-0.1.0/csrc/include/s3/gauden.h +417 -0
  50. pstrain-0.1.0/csrc/include/s3/heap.h +111 -0
  51. pstrain-0.1.0/csrc/include/s3/itree.h +121 -0
  52. pstrain-0.1.0/csrc/include/s3/kdtree.h +86 -0
  53. pstrain-0.1.0/csrc/include/s3/kmeans.h +151 -0
  54. pstrain-0.1.0/csrc/include/s3/lexicon.h +121 -0
  55. pstrain-0.1.0/csrc/include/s3/metric.h +61 -0
  56. pstrain-0.1.0/csrc/include/s3/mk_phone_list.h +87 -0
  57. pstrain-0.1.0/csrc/include/s3/mk_phone_seq.h +69 -0
  58. pstrain-0.1.0/csrc/include/s3/mk_sseq.h +69 -0
  59. pstrain-0.1.0/csrc/include/s3/mk_trans_seq.h +72 -0
  60. pstrain-0.1.0/csrc/include/s3/mk_ts2ci.h +63 -0
  61. pstrain-0.1.0/csrc/include/s3/mllr.h +75 -0
  62. pstrain-0.1.0/csrc/include/s3/mllr_class_io.h +82 -0
  63. pstrain-0.1.0/csrc/include/s3/mllr_io.h +83 -0
  64. pstrain-0.1.0/csrc/include/s3/model_def.h +98 -0
  65. pstrain-0.1.0/csrc/include/s3/model_def_io.h +81 -0
  66. pstrain-0.1.0/csrc/include/s3/model_inventory.h +161 -0
  67. pstrain-0.1.0/csrc/include/s3/phone_graph.h +144 -0
  68. pstrain-0.1.0/csrc/include/s3/prunetree_order.h +21 -0
  69. pstrain-0.1.0/csrc/include/s3/pset_io.h +67 -0
  70. pstrain-0.1.0/csrc/include/s3/quest.h +192 -0
  71. pstrain-0.1.0/csrc/include/s3/remap.h +96 -0
  72. pstrain-0.1.0/csrc/include/s3/s3.h +94 -0
  73. pstrain-0.1.0/csrc/include/s3/s3acc_io.h +102 -0
  74. pstrain-0.1.0/csrc/include/s3/s3cb2mllr_io.h +72 -0
  75. pstrain-0.1.0/csrc/include/s3/s3gau_io.h +163 -0
  76. pstrain-0.1.0/csrc/include/s3/s3io.h +129 -0
  77. pstrain-0.1.0/csrc/include/s3/s3lamb_io.h +85 -0
  78. pstrain-0.1.0/csrc/include/s3/s3map_io.h +79 -0
  79. pstrain-0.1.0/csrc/include/s3/s3mixw_io.h +89 -0
  80. pstrain-0.1.0/csrc/include/s3/s3phseg_io.h +103 -0
  81. pstrain-0.1.0/csrc/include/s3/s3tmat_io.h +76 -0
  82. pstrain-0.1.0/csrc/include/s3/s3ts2cb_io.h +73 -0
  83. pstrain-0.1.0/csrc/include/s3/segdmp.h +125 -0
  84. pstrain-0.1.0/csrc/include/s3/state.h +104 -0
  85. pstrain-0.1.0/csrc/include/s3/state_seq.h +79 -0
  86. pstrain-0.1.0/csrc/include/s3/state_seq_graph.h +53 -0
  87. pstrain-0.1.0/csrc/include/s3/swap.h +74 -0
  88. pstrain-0.1.0/csrc/include/s3/topo_read.h +67 -0
  89. pstrain-0.1.0/csrc/include/s3/ts2cb.h +73 -0
  90. pstrain-0.1.0/csrc/include/s3/vector.h +89 -0
  91. pstrain-0.1.0/csrc/include/s3/was_added.h +76 -0
  92. pstrain-0.1.0/csrc/include/sphinxbase/agc.h +202 -0
  93. pstrain-0.1.0/csrc/include/sphinxbase/bio.h +316 -0
  94. pstrain-0.1.0/csrc/include/sphinxbase/bitarr.h +142 -0
  95. pstrain-0.1.0/csrc/include/sphinxbase/bitvec.h +155 -0
  96. pstrain-0.1.0/csrc/include/sphinxbase/byteorder.h +98 -0
  97. pstrain-0.1.0/csrc/include/sphinxbase/case.h +135 -0
  98. pstrain-0.1.0/csrc/include/sphinxbase/ckd_alloc.h +310 -0
  99. pstrain-0.1.0/csrc/include/sphinxbase/clapack_lite.h +36 -0
  100. pstrain-0.1.0/csrc/include/sphinxbase/cmd_ln.h +609 -0
  101. pstrain-0.1.0/csrc/include/sphinxbase/cmn.h +191 -0
  102. pstrain-0.1.0/csrc/include/sphinxbase/err.h +199 -0
  103. pstrain-0.1.0/csrc/include/sphinxbase/f2c.h +218 -0
  104. pstrain-0.1.0/csrc/include/sphinxbase/fe.h +625 -0
  105. pstrain-0.1.0/csrc/include/sphinxbase/feat.h +469 -0
  106. pstrain-0.1.0/csrc/include/sphinxbase/filename.h +112 -0
  107. pstrain-0.1.0/csrc/include/sphinxbase/fixpoint.h +145 -0
  108. pstrain-0.1.0/csrc/include/sphinxbase/fsg_model.h +376 -0
  109. pstrain-0.1.0/csrc/include/sphinxbase/genrand.h +177 -0
  110. pstrain-0.1.0/csrc/include/sphinxbase/glist.h +242 -0
  111. pstrain-0.1.0/csrc/include/sphinxbase/hash_table.h +443 -0
  112. pstrain-0.1.0/csrc/include/sphinxbase/heap.h +153 -0
  113. pstrain-0.1.0/csrc/include/sphinxbase/jsgf.h +209 -0
  114. pstrain-0.1.0/csrc/include/sphinxbase/listelem_alloc.h +125 -0
  115. pstrain-0.1.0/csrc/include/sphinxbase/logmath.h +249 -0
  116. pstrain-0.1.0/csrc/include/sphinxbase/matrix.h +214 -0
  117. pstrain-0.1.0/csrc/include/sphinxbase/mmio.h +85 -0
  118. pstrain-0.1.0/csrc/include/sphinxbase/ngram_model.h +703 -0
  119. pstrain-0.1.0/csrc/include/sphinxbase/pio.h +302 -0
  120. pstrain-0.1.0/csrc/include/sphinxbase/prim_type.h +178 -0
  121. pstrain-0.1.0/csrc/include/sphinxbase/priority_queue.h +45 -0
  122. pstrain-0.1.0/csrc/include/sphinxbase/profile.h +231 -0
  123. pstrain-0.1.0/csrc/include/sphinxbase/sphinxbase_export.h +15 -0
  124. pstrain-0.1.0/csrc/include/sphinxbase/strfuncs.h +158 -0
  125. pstrain-0.1.0/csrc/include/sphinxbase/yin.h +116 -0
  126. pstrain-0.1.0/csrc/include/sys_compat/file.h +85 -0
  127. pstrain-0.1.0/csrc/include/sys_compat/misc.h +87 -0
  128. pstrain-0.1.0/csrc/include/sys_compat/time.h +45 -0
  129. pstrain-0.1.0/csrc/libs/libclust/div.c +297 -0
  130. pstrain-0.1.0/csrc/libs/libclust/kdtree.c +523 -0
  131. pstrain-0.1.0/csrc/libs/libclust/kmeans.c +641 -0
  132. pstrain-0.1.0/csrc/libs/libclust/metric.c +53 -0
  133. pstrain-0.1.0/csrc/libs/libcommon/acmod_set.c +926 -0
  134. pstrain-0.1.0/csrc/libs/libcommon/best_q.c +630 -0
  135. pstrain-0.1.0/csrc/libs/libcommon/ck_seg.c +132 -0
  136. pstrain-0.1.0/csrc/libs/libcommon/cvt2triphone.c +398 -0
  137. pstrain-0.1.0/csrc/libs/libcommon/dtree.c +1746 -0
  138. pstrain-0.1.0/csrc/libs/libcommon/heap.c +320 -0
  139. pstrain-0.1.0/csrc/libs/libcommon/itree.c +310 -0
  140. pstrain-0.1.0/csrc/libs/libcommon/lexicon.c +364 -0
  141. pstrain-0.1.0/csrc/libs/libcommon/mk_phone_list.c +295 -0
  142. pstrain-0.1.0/csrc/libs/libcommon/mk_phone_seq.c +88 -0
  143. pstrain-0.1.0/csrc/libs/libcommon/mk_sseq.c +95 -0
  144. pstrain-0.1.0/csrc/libs/libcommon/mk_trans_seq.c +104 -0
  145. pstrain-0.1.0/csrc/libs/libcommon/mk_ts2ci.c +85 -0
  146. pstrain-0.1.0/csrc/libs/libcommon/phone_graph.c +347 -0
  147. pstrain-0.1.0/csrc/libs/libcommon/phone_graph_triphone.c +488 -0
  148. pstrain-0.1.0/csrc/libs/libcommon/prunetree_order.c +86 -0
  149. pstrain-0.1.0/csrc/libs/libcommon/quest.c +652 -0
  150. pstrain-0.1.0/csrc/libs/libcommon/remap.c +189 -0
  151. pstrain-0.1.0/csrc/libs/libcommon/state_seq.c +667 -0
  152. pstrain-0.1.0/csrc/libs/libcommon/state_seq_graph.c +344 -0
  153. pstrain-0.1.0/csrc/libs/libcommon/state_seq_internal.h +40 -0
  154. pstrain-0.1.0/csrc/libs/libcommon/ts2cb.c +74 -0
  155. pstrain-0.1.0/csrc/libs/libcommon/vector.c +178 -0
  156. pstrain-0.1.0/csrc/libs/libcommon/was_added.c +176 -0
  157. pstrain-0.1.0/csrc/libs/libio/corpus.c +1560 -0
  158. pstrain-0.1.0/csrc/libs/libio/model_def_io.c +668 -0
  159. pstrain-0.1.0/csrc/libs/libio/pset_io.c +135 -0
  160. pstrain-0.1.0/csrc/libs/libio/s3acc_io.c +540 -0
  161. pstrain-0.1.0/csrc/libs/libio/s3cb2mllr_io.c +123 -0
  162. pstrain-0.1.0/csrc/libs/libio/s3gau_full_io.c +520 -0
  163. pstrain-0.1.0/csrc/libs/libio/s3gau_io.c +600 -0
  164. pstrain-0.1.0/csrc/libs/libio/s3io.c +776 -0
  165. pstrain-0.1.0/csrc/libs/libio/s3lamb_io.c +253 -0
  166. pstrain-0.1.0/csrc/libs/libio/s3map_io.c +173 -0
  167. pstrain-0.1.0/csrc/libs/libio/s3mixw_io.c +236 -0
  168. pstrain-0.1.0/csrc/libs/libio/s3phseg_io.c +278 -0
  169. pstrain-0.1.0/csrc/libs/libio/s3tmat_io.c +179 -0
  170. pstrain-0.1.0/csrc/libs/libio/s3ts2cb_io.c +106 -0
  171. pstrain-0.1.0/csrc/libs/libio/segdmp.c +766 -0
  172. pstrain-0.1.0/csrc/libs/libio/swap.c +126 -0
  173. pstrain-0.1.0/csrc/libs/libio/topo_read.c +198 -0
  174. pstrain-0.1.0/csrc/libs/libmllr/mllr.c +263 -0
  175. pstrain-0.1.0/csrc/libs/libmllr/mllr_io.c +195 -0
  176. pstrain-0.1.0/csrc/libs/libmodinv/gauden.c +2186 -0
  177. pstrain-0.1.0/csrc/libs/libmodinv/mod_inv.c +539 -0
  178. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_agg_seg.c +234 -0
  179. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_agg_seg.h +65 -0
  180. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_align.c +614 -0
  181. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_align.h +147 -0
  182. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_bw.c +1236 -0
  183. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_bw.h +249 -0
  184. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_cffi.c +55 -0
  185. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_decode.c +113 -0
  186. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_delint.c +200 -0
  187. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_delint.h +33 -0
  188. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_dtree.c +1255 -0
  189. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_dtree.h +195 -0
  190. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_fe.c +155 -0
  191. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_flat.c +623 -0
  192. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_flat.h +97 -0
  193. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_inc_comp.c +292 -0
  194. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_inc_comp.h +48 -0
  195. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_kdtree.c +147 -0
  196. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_kdtree.h +32 -0
  197. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_kmeans.c +250 -0
  198. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_kmeans.h +71 -0
  199. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_map_adapt.c +396 -0
  200. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_map_adapt.h +57 -0
  201. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_mdef_gen.c +512 -0
  202. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_mdef_gen.h +96 -0
  203. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_param_cnt.c +144 -0
  204. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_param_cnt.h +48 -0
  205. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_rng.c +38 -0
  206. pstrain-0.1.0/csrc/libs/libpstrain/pstrain_session.c +32 -0
  207. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_design.txt +44 -0
  208. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_interface.c +764 -0
  209. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_internal.h +204 -0
  210. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_noise.c +492 -0
  211. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_noise.h +66 -0
  212. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_prespch_buf.c +206 -0
  213. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_prespch_buf.h +76 -0
  214. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_sigproc.c +1206 -0
  215. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_type.h +59 -0
  216. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp.c +252 -0
  217. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp.h +90 -0
  218. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp_affine.c +177 -0
  219. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp_affine.h +76 -0
  220. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp_inverse_linear.c +174 -0
  221. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp_inverse_linear.h +77 -0
  222. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp_piecewise_linear.c +219 -0
  223. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fe_warp_piecewise_linear.h +77 -0
  224. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/fixlog.c +229 -0
  225. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/make_log_sub_table.py +35 -0
  226. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/make_log_table.py +24 -0
  227. pstrain-0.1.0/csrc/libs/libsphinxbase/fe/yin.c +322 -0
  228. pstrain-0.1.0/csrc/libs/libsphinxbase/feat/agc.c +227 -0
  229. pstrain-0.1.0/csrc/libs/libsphinxbase/feat/cmn.c +188 -0
  230. pstrain-0.1.0/csrc/libs/libsphinxbase/feat/cmn_live.c +173 -0
  231. pstrain-0.1.0/csrc/libs/libsphinxbase/feat/feat.c +1497 -0
  232. pstrain-0.1.0/csrc/libs/libsphinxbase/feat/lda.c +158 -0
  233. pstrain-0.1.0/csrc/libs/libsphinxbase/util/README.python +41 -0
  234. pstrain-0.1.0/csrc/libs/libsphinxbase/util/bio.c +640 -0
  235. pstrain-0.1.0/csrc/libs/libsphinxbase/util/bitarr.c +139 -0
  236. pstrain-0.1.0/csrc/libs/libsphinxbase/util/bitvec.c +101 -0
  237. pstrain-0.1.0/csrc/libs/libsphinxbase/util/blas_lite.c +2146 -0
  238. pstrain-0.1.0/csrc/libs/libsphinxbase/util/case.c +141 -0
  239. pstrain-0.1.0/csrc/libs/libsphinxbase/util/ckd_alloc.c +423 -0
  240. pstrain-0.1.0/csrc/libs/libsphinxbase/util/clapack_scrub.py +275 -0
  241. pstrain-0.1.0/csrc/libs/libsphinxbase/util/cmd_ln.c +1085 -0
  242. pstrain-0.1.0/csrc/libs/libsphinxbase/util/dtoa.c +2985 -0
  243. pstrain-0.1.0/csrc/libs/libsphinxbase/util/err.c +282 -0
  244. pstrain-0.1.0/csrc/libs/libsphinxbase/util/errno.c +51 -0
  245. pstrain-0.1.0/csrc/libs/libsphinxbase/util/f2c_lite.c +551 -0
  246. pstrain-0.1.0/csrc/libs/libsphinxbase/util/filename.c +116 -0
  247. pstrain-0.1.0/csrc/libs/libsphinxbase/util/fortran.py +133 -0
  248. pstrain-0.1.0/csrc/libs/libsphinxbase/util/genrand.c +198 -0
  249. pstrain-0.1.0/csrc/libs/libsphinxbase/util/glist.c +271 -0
  250. pstrain-0.1.0/csrc/libs/libsphinxbase/util/hash_table.c +706 -0
  251. pstrain-0.1.0/csrc/libs/libsphinxbase/util/heap.c +292 -0
  252. pstrain-0.1.0/csrc/libs/libsphinxbase/util/listelem_alloc.c +294 -0
  253. pstrain-0.1.0/csrc/libs/libsphinxbase/util/logmath.c +503 -0
  254. pstrain-0.1.0/csrc/libs/libsphinxbase/util/make_lite.py +265 -0
  255. pstrain-0.1.0/csrc/libs/libsphinxbase/util/matrix.c +279 -0
  256. pstrain-0.1.0/csrc/libs/libsphinxbase/util/mmio.c +257 -0
  257. pstrain-0.1.0/csrc/libs/libsphinxbase/util/pio.c +652 -0
  258. pstrain-0.1.0/csrc/libs/libsphinxbase/util/priority_queue.c +144 -0
  259. pstrain-0.1.0/csrc/libs/libsphinxbase/util/profile.c +341 -0
  260. pstrain-0.1.0/csrc/libs/libsphinxbase/util/slamch.c +1029 -0
  261. pstrain-0.1.0/csrc/libs/libsphinxbase/util/slapack_lite.c +1460 -0
  262. pstrain-0.1.0/csrc/libs/libsphinxbase/util/strfuncs.c +194 -0
  263. pstrain-0.1.0/csrc/libs/libsphinxbase/util/wrapped_routines +4 -0
  264. pstrain-0.1.0/csrc/programs/agg_seg/.gitignore +1 -0
  265. pstrain-0.1.0/csrc/programs/agg_seg/CMakeLists.txt +17 -0
  266. pstrain-0.1.0/csrc/programs/agg_seg/add_seg.h +55 -0
  267. pstrain-0.1.0/csrc/programs/agg_seg/agg_all_seg.c +189 -0
  268. pstrain-0.1.0/csrc/programs/agg_seg/agg_all_seg.h +61 -0
  269. pstrain-0.1.0/csrc/programs/agg_seg/agg_phn_seg.c +198 -0
  270. pstrain-0.1.0/csrc/programs/agg_seg/agg_phn_seg.h +61 -0
  271. pstrain-0.1.0/csrc/programs/agg_seg/agg_st_seg.c +276 -0
  272. pstrain-0.1.0/csrc/programs/agg_seg/agg_st_seg.h +62 -0
  273. pstrain-0.1.0/csrc/programs/agg_seg/cnt_phn_seg.c +190 -0
  274. pstrain-0.1.0/csrc/programs/agg_seg/cnt_phn_seg.h +60 -0
  275. pstrain-0.1.0/csrc/programs/agg_seg/cnt_st_seg.c +128 -0
  276. pstrain-0.1.0/csrc/programs/agg_seg/cnt_st_seg.h +58 -0
  277. pstrain-0.1.0/csrc/programs/agg_seg/main.c +509 -0
  278. pstrain-0.1.0/csrc/programs/agg_seg/mk_seg.c +82 -0
  279. pstrain-0.1.0/csrc/programs/agg_seg/mk_seg.h +61 -0
  280. pstrain-0.1.0/csrc/programs/agg_seg/parse_cmd_ln.c +216 -0
  281. pstrain-0.1.0/csrc/programs/agg_seg/parse_cmd_ln.h +53 -0
  282. pstrain-0.1.0/csrc/programs/bldtree/.gitignore +1 -0
  283. pstrain-0.1.0/csrc/programs/bldtree/CMakeLists.txt +17 -0
  284. pstrain-0.1.0/csrc/programs/bldtree/main.c +773 -0
  285. pstrain-0.1.0/csrc/programs/bldtree/parse_cmd_ln.c +213 -0
  286. pstrain-0.1.0/csrc/programs/bldtree/parse_cmd_ln.h +58 -0
  287. pstrain-0.1.0/csrc/programs/bw/.gitignore +1 -0
  288. pstrain-0.1.0/csrc/programs/bw/CMakeLists.txt +17 -0
  289. pstrain-0.1.0/csrc/programs/bw/accum.c +1093 -0
  290. pstrain-0.1.0/csrc/programs/bw/accum.h +148 -0
  291. pstrain-0.1.0/csrc/programs/bw/backward.c +1309 -0
  292. pstrain-0.1.0/csrc/programs/bw/backward.h +123 -0
  293. pstrain-0.1.0/csrc/programs/bw/baum_welch.c +327 -0
  294. pstrain-0.1.0/csrc/programs/bw/baum_welch.h +101 -0
  295. pstrain-0.1.0/csrc/programs/bw/forward.c +737 -0
  296. pstrain-0.1.0/csrc/programs/bw/forward.h +80 -0
  297. pstrain-0.1.0/csrc/programs/bw/main.c +1855 -0
  298. pstrain-0.1.0/csrc/programs/bw/next_utt_states.c +323 -0
  299. pstrain-0.1.0/csrc/programs/bw/next_utt_states.h +98 -0
  300. pstrain-0.1.0/csrc/programs/bw/train_cmd_ln.c +592 -0
  301. pstrain-0.1.0/csrc/programs/bw/train_cmd_ln.h +52 -0
  302. pstrain-0.1.0/csrc/programs/bw/viterbi.c +1109 -0
  303. pstrain-0.1.0/csrc/programs/bw/viterbi.h +121 -0
  304. pstrain-0.1.0/csrc/programs/cdcn_norm/.gitignore +1 -0
  305. pstrain-0.1.0/csrc/programs/cdcn_norm/CMakeLists.txt +26 -0
  306. pstrain-0.1.0/csrc/programs/cdcn_norm/cepdist.c +57 -0
  307. pstrain-0.1.0/csrc/programs/cdcn_norm/correction.c +125 -0
  308. pstrain-0.1.0/csrc/programs/cdcn_norm/header.h +70 -0
  309. pstrain-0.1.0/csrc/programs/cdcn_norm/initialize.c +122 -0
  310. pstrain-0.1.0/csrc/programs/cdcn_norm/main.c +200 -0
  311. pstrain-0.1.0/csrc/programs/cdcn_norm/max_q.c +147 -0
  312. pstrain-0.1.0/csrc/programs/cdcn_norm/mmse_x.c +100 -0
  313. pstrain-0.1.0/csrc/programs/cdcn_norm/norm_utt.c +126 -0
  314. pstrain-0.1.0/csrc/programs/cdcn_norm/readdistribution.c +92 -0
  315. pstrain-0.1.0/csrc/programs/cdcn_norm/resfft.c +93 -0
  316. pstrain-0.1.0/csrc/programs/cdcn_norm/rsfft.c +181 -0
  317. pstrain-0.1.0/csrc/programs/cdcn_norm/two_D_ize.c +52 -0
  318. pstrain-0.1.0/csrc/programs/cdcn_train/.gitignore +1 -0
  319. pstrain-0.1.0/csrc/programs/cdcn_train/CMakeLists.txt +22 -0
  320. pstrain-0.1.0/csrc/programs/cdcn_train/em_full_vars.c +364 -0
  321. pstrain-0.1.0/csrc/programs/cdcn_train/gauss.c +53 -0
  322. pstrain-0.1.0/csrc/programs/cdcn_train/header.h +75 -0
  323. pstrain-0.1.0/csrc/programs/cdcn_train/main.c +246 -0
  324. pstrain-0.1.0/csrc/programs/cdcn_train/parse_cmd_ln.c +175 -0
  325. pstrain-0.1.0/csrc/programs/cdcn_train/parse_cmd_ln.h +52 -0
  326. pstrain-0.1.0/csrc/programs/cdcn_train/read_backup_distributions.c +84 -0
  327. pstrain-0.1.0/csrc/programs/cdcn_train/store_distribution.c +86 -0
  328. pstrain-0.1.0/csrc/programs/cdcn_train/vq.c +297 -0
  329. pstrain-0.1.0/csrc/programs/cp_parm/.gitignore +1 -0
  330. pstrain-0.1.0/csrc/programs/cp_parm/CMakeLists.txt +17 -0
  331. pstrain-0.1.0/csrc/programs/cp_parm/cmd_ln_defn.h +150 -0
  332. pstrain-0.1.0/csrc/programs/cp_parm/main.c +471 -0
  333. pstrain-0.1.0/csrc/programs/cp_parm/parse_cmd_ln.c +82 -0
  334. pstrain-0.1.0/csrc/programs/cp_parm/parse_cmd_ln.h +55 -0
  335. pstrain-0.1.0/csrc/programs/delint/.gitignore +1 -0
  336. pstrain-0.1.0/csrc/programs/delint/CMakeLists.txt +18 -0
  337. pstrain-0.1.0/csrc/programs/delint/interp_fn.c +241 -0
  338. pstrain-0.1.0/csrc/programs/delint/interp_fn.h +91 -0
  339. pstrain-0.1.0/csrc/programs/delint/main.c +618 -0
  340. pstrain-0.1.0/csrc/programs/delint/parse_cmd_ln.c +160 -0
  341. pstrain-0.1.0/csrc/programs/delint/parse_cmd_ln.h +52 -0
  342. pstrain-0.1.0/csrc/programs/g2p_eval/.gitignore +2 -0
  343. pstrain-0.1.0/csrc/programs/g2p_eval/CMakeLists.txt +19 -0
  344. pstrain-0.1.0/csrc/programs/g2p_eval/Phonetisaurus.cpp +308 -0
  345. pstrain-0.1.0/csrc/programs/g2p_eval/Phonetisaurus.hpp +78 -0
  346. pstrain-0.1.0/csrc/programs/g2p_eval/main.cpp +78 -0
  347. pstrain-0.1.0/csrc/programs/g2p_eval/phonetisaurus-g2p.cpp +144 -0
  348. pstrain-0.1.0/csrc/programs/g2p_eval/phonetisaurus-g2p.hpp +11 -0
  349. pstrain-0.1.0/csrc/programs/g2p_eval/utf8/checked.h +325 -0
  350. pstrain-0.1.0/csrc/programs/g2p_eval/utf8/core.h +356 -0
  351. pstrain-0.1.0/csrc/programs/g2p_eval/utf8/unchecked.h +227 -0
  352. pstrain-0.1.0/csrc/programs/g2p_eval/utf8.h +34 -0
  353. pstrain-0.1.0/csrc/programs/g2p_eval/util.hpp +100 -0
  354. pstrain-0.1.0/csrc/programs/g2p_train/.gitignore +2 -0
  355. pstrain-0.1.0/csrc/programs/g2p_train/CMakeLists.txt +20 -0
  356. pstrain-0.1.0/csrc/programs/g2p_train/FstPathFinder.cpp +146 -0
  357. pstrain-0.1.0/csrc/programs/g2p_train/FstPathFinder.hpp +87 -0
  358. pstrain-0.1.0/csrc/programs/g2p_train/M2MFstAligner.cpp +680 -0
  359. pstrain-0.1.0/csrc/programs/g2p_train/M2MFstAligner.hpp +128 -0
  360. pstrain-0.1.0/csrc/programs/g2p_train/g2p_train.cpp +522 -0
  361. pstrain-0.1.0/csrc/programs/g2p_train/g2p_train.hpp +53 -0
  362. pstrain-0.1.0/csrc/programs/g2p_train/main.cpp +156 -0
  363. pstrain-0.1.0/csrc/programs/inc_comp/.gitignore +1 -0
  364. pstrain-0.1.0/csrc/programs/inc_comp/CMakeLists.txt +19 -0
  365. pstrain-0.1.0/csrc/programs/inc_comp/accum_wt_param.c +182 -0
  366. pstrain-0.1.0/csrc/programs/inc_comp/accum_wt_param.h +62 -0
  367. pstrain-0.1.0/csrc/programs/inc_comp/inc_densities.c +200 -0
  368. pstrain-0.1.0/csrc/programs/inc_comp/inc_densities.h +73 -0
  369. pstrain-0.1.0/csrc/programs/inc_comp/main.c +231 -0
  370. pstrain-0.1.0/csrc/programs/inc_comp/parse_cmd_ln.c +167 -0
  371. pstrain-0.1.0/csrc/programs/inc_comp/parse_cmd_ln.h +53 -0
  372. pstrain-0.1.0/csrc/programs/init_gau/.gitignore +1 -0
  373. pstrain-0.1.0/csrc/programs/init_gau/CMakeLists.txt +19 -0
  374. pstrain-0.1.0/csrc/programs/init_gau/accum.c +206 -0
  375. pstrain-0.1.0/csrc/programs/init_gau/accum.h +75 -0
  376. pstrain-0.1.0/csrc/programs/init_gau/init_gau.c +362 -0
  377. pstrain-0.1.0/csrc/programs/init_gau/init_gau.h +51 -0
  378. pstrain-0.1.0/csrc/programs/init_gau/main.c +242 -0
  379. pstrain-0.1.0/csrc/programs/init_gau/parse_cmd_ln.c +195 -0
  380. pstrain-0.1.0/csrc/programs/init_gau/parse_cmd_ln.h +52 -0
  381. pstrain-0.1.0/csrc/programs/init_mixw/.gitignore +1 -0
  382. pstrain-0.1.0/csrc/programs/init_mixw/CMakeLists.txt +17 -0
  383. pstrain-0.1.0/csrc/programs/init_mixw/main.c +643 -0
  384. pstrain-0.1.0/csrc/programs/init_mixw/parse_cmd_ln.c +166 -0
  385. pstrain-0.1.0/csrc/programs/init_mixw/parse_cmd_ln.h +52 -0
  386. pstrain-0.1.0/csrc/programs/kdtree/.gitignore +1 -0
  387. pstrain-0.1.0/csrc/programs/kdtree/CMakeLists.txt +17 -0
  388. pstrain-0.1.0/csrc/programs/kdtree/main.c +125 -0
  389. pstrain-0.1.0/csrc/programs/kdtree/parse_cmd_ln.c +144 -0
  390. pstrain-0.1.0/csrc/programs/kdtree/parse_cmd_ln.h +52 -0
  391. pstrain-0.1.0/csrc/programs/kmeans_init/.gitignore +1 -0
  392. pstrain-0.1.0/csrc/programs/kmeans_init/CMakeLists.txt +17 -0
  393. pstrain-0.1.0/csrc/programs/kmeans_init/main.c +1704 -0
  394. pstrain-0.1.0/csrc/programs/kmeans_init/parse_cmd_ln.c +304 -0
  395. pstrain-0.1.0/csrc/programs/kmeans_init/parse_cmd_ln.h +53 -0
  396. pstrain-0.1.0/csrc/programs/make_quests/.gitignore +1 -0
  397. pstrain-0.1.0/csrc/programs/make_quests/CMakeLists.txt +17 -0
  398. pstrain-0.1.0/csrc/programs/make_quests/main.c +1171 -0
  399. pstrain-0.1.0/csrc/programs/make_quests/make_tree.c +201 -0
  400. pstrain-0.1.0/csrc/programs/make_quests/new_quest.c +353 -0
  401. pstrain-0.1.0/csrc/programs/make_quests/parse_cmd_ln.c +173 -0
  402. pstrain-0.1.0/csrc/programs/make_quests/parse_cmd_ln.h +55 -0
  403. pstrain-0.1.0/csrc/programs/map_adapt/.gitignore +1 -0
  404. pstrain-0.1.0/csrc/programs/map_adapt/CMakeLists.txt +17 -0
  405. pstrain-0.1.0/csrc/programs/map_adapt/cmd_ln.c +59 -0
  406. pstrain-0.1.0/csrc/programs/map_adapt/cmd_ln_defn.h +139 -0
  407. pstrain-0.1.0/csrc/programs/map_adapt/main.c +652 -0
  408. pstrain-0.1.0/csrc/programs/map_adapt/parse_cmd_ln.h +27 -0
  409. pstrain-0.1.0/csrc/programs/mixw_interp/.gitignore +1 -0
  410. pstrain-0.1.0/csrc/programs/mixw_interp/CMakeLists.txt +17 -0
  411. pstrain-0.1.0/csrc/programs/mixw_interp/cmd_ln_defn.h +99 -0
  412. pstrain-0.1.0/csrc/programs/mixw_interp/main.c +178 -0
  413. pstrain-0.1.0/csrc/programs/mixw_interp/parse_cmd_ln.c +93 -0
  414. pstrain-0.1.0/csrc/programs/mixw_interp/parse_cmd_ln.h +52 -0
  415. pstrain-0.1.0/csrc/programs/mk_flat/.gitignore +1 -0
  416. pstrain-0.1.0/csrc/programs/mk_flat/CMakeLists.txt +17 -0
  417. pstrain-0.1.0/csrc/programs/mk_flat/main.c +163 -0
  418. pstrain-0.1.0/csrc/programs/mk_flat/parse_cmd_ln.c +144 -0
  419. pstrain-0.1.0/csrc/programs/mk_flat/parse_cmd_ln.h +55 -0
  420. pstrain-0.1.0/csrc/programs/mk_mdef_gen/.gitignore +1 -0
  421. pstrain-0.1.0/csrc/programs/mk_mdef_gen/CMakeLists.txt +17 -0
  422. pstrain-0.1.0/csrc/programs/mk_mdef_gen/hash.c +257 -0
  423. pstrain-0.1.0/csrc/programs/mk_mdef_gen/hash.h +109 -0
  424. pstrain-0.1.0/csrc/programs/mk_mdef_gen/heap.c +139 -0
  425. pstrain-0.1.0/csrc/programs/mk_mdef_gen/heap.h +66 -0
  426. pstrain-0.1.0/csrc/programs/mk_mdef_gen/main.c +172 -0
  427. pstrain-0.1.0/csrc/programs/mk_mdef_gen/mk_mdef_gen.c +978 -0
  428. pstrain-0.1.0/csrc/programs/mk_mdef_gen/mk_untied.h +89 -0
  429. pstrain-0.1.0/csrc/programs/mk_mdef_gen/parse_cmd_ln.c +196 -0
  430. pstrain-0.1.0/csrc/programs/mk_mdef_gen/parse_cmd_ln.h +55 -0
  431. pstrain-0.1.0/csrc/programs/mk_mllr_class/.gitignore +1 -0
  432. pstrain-0.1.0/csrc/programs/mk_mllr_class/CMakeLists.txt +17 -0
  433. pstrain-0.1.0/csrc/programs/mk_mllr_class/main.c +104 -0
  434. pstrain-0.1.0/csrc/programs/mk_mllr_class/parse_cmd_ln.c +125 -0
  435. pstrain-0.1.0/csrc/programs/mk_mllr_class/parse_cmd_ln.h +56 -0
  436. pstrain-0.1.0/csrc/programs/mk_s2sendump/.gitignore +1 -0
  437. pstrain-0.1.0/csrc/programs/mk_s2sendump/CMakeLists.txt +18 -0
  438. pstrain-0.1.0/csrc/programs/mk_s2sendump/mk_s2sendump.c +293 -0
  439. pstrain-0.1.0/csrc/programs/mk_s2sendump/parse_cmd_ln.c +126 -0
  440. pstrain-0.1.0/csrc/programs/mk_s2sendump/parse_cmd_ln.h +52 -0
  441. pstrain-0.1.0/csrc/programs/mk_s2sendump/senone.c +361 -0
  442. pstrain-0.1.0/csrc/programs/mk_s2sendump/senone.h +100 -0
  443. pstrain-0.1.0/csrc/programs/mk_ts2cb/.gitignore +1 -0
  444. pstrain-0.1.0/csrc/programs/mk_ts2cb/CMakeLists.txt +17 -0
  445. pstrain-0.1.0/csrc/programs/mk_ts2cb/main.c +112 -0
  446. pstrain-0.1.0/csrc/programs/mk_ts2cb/parse_cmd_ln.c +132 -0
  447. pstrain-0.1.0/csrc/programs/mk_ts2cb/parse_cmd_ln.h +55 -0
  448. pstrain-0.1.0/csrc/programs/mllr_solve/.gitignore +1 -0
  449. pstrain-0.1.0/csrc/programs/mllr_solve/CMakeLists.txt +17 -0
  450. pstrain-0.1.0/csrc/programs/mllr_solve/cmd_ln_defn.h +117 -0
  451. pstrain-0.1.0/csrc/programs/mllr_solve/main.c +514 -0
  452. pstrain-0.1.0/csrc/programs/mllr_solve/parse_cmd_ln.c +63 -0
  453. pstrain-0.1.0/csrc/programs/mllr_solve/parse_cmd_ln.h +26 -0
  454. pstrain-0.1.0/csrc/programs/mllr_transform/.gitignore +1 -0
  455. pstrain-0.1.0/csrc/programs/mllr_transform/CMakeLists.txt +17 -0
  456. pstrain-0.1.0/csrc/programs/mllr_transform/cmd_ln_defn.h +117 -0
  457. pstrain-0.1.0/csrc/programs/mllr_transform/main.c +390 -0
  458. pstrain-0.1.0/csrc/programs/mllr_transform/parse_cmd_ln.c +61 -0
  459. pstrain-0.1.0/csrc/programs/mllr_transform/parse_cmd_ln.h +27 -0
  460. pstrain-0.1.0/csrc/programs/norm/.gitignore +1 -0
  461. pstrain-0.1.0/csrc/programs/norm/CMakeLists.txt +16 -0
  462. pstrain-0.1.0/csrc/programs/norm/main.c +833 -0
  463. pstrain-0.1.0/csrc/programs/norm/parse_cmd_ln.c +177 -0
  464. pstrain-0.1.0/csrc/programs/norm/parse_cmd_ln.h +52 -0
  465. pstrain-0.1.0/csrc/programs/param_cnt/.gitignore +1 -0
  466. pstrain-0.1.0/csrc/programs/param_cnt/CMakeLists.txt +17 -0
  467. pstrain-0.1.0/csrc/programs/param_cnt/cb_cnt.c +109 -0
  468. pstrain-0.1.0/csrc/programs/param_cnt/cb_cnt.h +63 -0
  469. pstrain-0.1.0/csrc/programs/param_cnt/cnt_fn.h +65 -0
  470. pstrain-0.1.0/csrc/programs/param_cnt/enum_corpus.c +174 -0
  471. pstrain-0.1.0/csrc/programs/param_cnt/enum_corpus.h +61 -0
  472. pstrain-0.1.0/csrc/programs/param_cnt/main.c +256 -0
  473. pstrain-0.1.0/csrc/programs/param_cnt/param_cnt.c +140 -0
  474. pstrain-0.1.0/csrc/programs/param_cnt/param_cnt.h +60 -0
  475. pstrain-0.1.0/csrc/programs/param_cnt/parse_cmd_ln.c +193 -0
  476. pstrain-0.1.0/csrc/programs/param_cnt/parse_cmd_ln.h +54 -0
  477. pstrain-0.1.0/csrc/programs/param_cnt/phone_cnt.c +82 -0
  478. pstrain-0.1.0/csrc/programs/param_cnt/phone_cnt.h +66 -0
  479. pstrain-0.1.0/csrc/programs/param_cnt/ts_cnt.c +106 -0
  480. pstrain-0.1.0/csrc/programs/param_cnt/ts_cnt.h +65 -0
  481. pstrain-0.1.0/csrc/programs/printp/.gitignore +1 -0
  482. pstrain-0.1.0/csrc/programs/printp/CMakeLists.txt +17 -0
  483. pstrain-0.1.0/csrc/programs/printp/main.c +567 -0
  484. pstrain-0.1.0/csrc/programs/printp/parse_cmd_ln.c +224 -0
  485. pstrain-0.1.0/csrc/programs/printp/parse_cmd_ln.h +53 -0
  486. pstrain-0.1.0/csrc/programs/prunetree/.gitignore +1 -0
  487. pstrain-0.1.0/csrc/programs/prunetree/CMakeLists.txt +17 -0
  488. pstrain-0.1.0/csrc/programs/prunetree/main.c +471 -0
  489. pstrain-0.1.0/csrc/programs/prunetree/parse_cmd_ln.c +146 -0
  490. pstrain-0.1.0/csrc/programs/prunetree/parse_cmd_ln.h +55 -0
  491. pstrain-0.1.0/csrc/programs/sphinx3_align/CMakeLists.txt +16 -0
  492. pstrain-0.1.0/csrc/programs/sphinx3_align/adaptor.c +172 -0
  493. pstrain-0.1.0/csrc/programs/sphinx3_align/adaptor.h +156 -0
  494. pstrain-0.1.0/csrc/programs/sphinx3_align/approx_cont_mgau.c +616 -0
  495. pstrain-0.1.0/csrc/programs/sphinx3_align/approx_cont_mgau.h +269 -0
  496. pstrain-0.1.0/csrc/programs/sphinx3_align/ascr.c +230 -0
  497. pstrain-0.1.0/csrc/programs/sphinx3_align/ascr.h +188 -0
  498. pstrain-0.1.0/csrc/programs/sphinx3_align/cb2mllr_io.c +228 -0
  499. pstrain-0.1.0/csrc/programs/sphinx3_align/cb2mllr_io.h +122 -0
  500. pstrain-0.1.0/csrc/programs/sphinx3_align/cmdln_macro.h +725 -0
  501. pstrain-0.1.0/csrc/programs/sphinx3_align/cmu6_lts_rules.c +13307 -0
  502. pstrain-0.1.0/csrc/programs/sphinx3_align/cmu6_lts_rules.h +13206 -0
  503. pstrain-0.1.0/csrc/programs/sphinx3_align/cont_mgau.c +1260 -0
  504. pstrain-0.1.0/csrc/programs/sphinx3_align/cont_mgau.h +415 -0
  505. pstrain-0.1.0/csrc/programs/sphinx3_align/corpus.c +812 -0
  506. pstrain-0.1.0/csrc/programs/sphinx3_align/corpus.h +318 -0
  507. pstrain-0.1.0/csrc/programs/sphinx3_align/ctxt_table.h +452 -0
  508. pstrain-0.1.0/csrc/programs/sphinx3_align/dict.c +656 -0
  509. pstrain-0.1.0/csrc/programs/sphinx3_align/dict.h +273 -0
  510. pstrain-0.1.0/csrc/programs/sphinx3_align/dict2pid.c +1183 -0
  511. pstrain-0.1.0/csrc/programs/sphinx3_align/dict2pid.h +303 -0
  512. pstrain-0.1.0/csrc/programs/sphinx3_align/fast_algo_struct.c +509 -0
  513. pstrain-0.1.0/csrc/programs/sphinx3_align/fast_algo_struct.h +392 -0
  514. pstrain-0.1.0/csrc/programs/sphinx3_align/fillpen.c +186 -0
  515. pstrain-0.1.0/csrc/programs/sphinx3_align/fillpen.h +163 -0
  516. pstrain-0.1.0/csrc/programs/sphinx3_align/gs.c +313 -0
  517. pstrain-0.1.0/csrc/programs/sphinx3_align/gs.h +167 -0
  518. pstrain-0.1.0/csrc/programs/sphinx3_align/hmm.c +895 -0
  519. pstrain-0.1.0/csrc/programs/sphinx3_align/hmm.h +327 -0
  520. pstrain-0.1.0/csrc/programs/sphinx3_align/interp.c +196 -0
  521. pstrain-0.1.0/csrc/programs/sphinx3_align/interp.h +155 -0
  522. pstrain-0.1.0/csrc/programs/sphinx3_align/kbcore.c +735 -0
  523. pstrain-0.1.0/csrc/programs/sphinx3_align/kbcore.h +236 -0
  524. pstrain-0.1.0/csrc/programs/sphinx3_align/kdtree.c +294 -0
  525. pstrain-0.1.0/csrc/programs/sphinx3_align/kdtree.h +86 -0
  526. pstrain-0.1.0/csrc/programs/sphinx3_align/logs3.c +132 -0
  527. pstrain-0.1.0/csrc/programs/sphinx3_align/logs3.h +144 -0
  528. pstrain-0.1.0/csrc/programs/sphinx3_align/lts.c +253 -0
  529. pstrain-0.1.0/csrc/programs/sphinx3_align/lts.h +137 -0
  530. pstrain-0.1.0/csrc/programs/sphinx3_align/main_align.c +1178 -0
  531. pstrain-0.1.0/csrc/programs/sphinx3_align/main_align.h +68 -0
  532. pstrain-0.1.0/csrc/programs/sphinx3_align/mdef.c +964 -0
  533. pstrain-0.1.0/csrc/programs/sphinx3_align/mdef.h +375 -0
  534. pstrain-0.1.0/csrc/programs/sphinx3_align/misc.h +126 -0
  535. pstrain-0.1.0/csrc/programs/sphinx3_align/mllr.c +256 -0
  536. pstrain-0.1.0/csrc/programs/sphinx3_align/mllr.h +143 -0
  537. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_gauden.c +715 -0
  538. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_gauden.h +260 -0
  539. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_mgau.c +329 -0
  540. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_mgau.h +189 -0
  541. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_mllr.c +231 -0
  542. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_mllr.h +139 -0
  543. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_senone.c +574 -0
  544. pstrain-0.1.0/csrc/programs/sphinx3_align/ms_senone.h +209 -0
  545. pstrain-0.1.0/csrc/programs/sphinx3_align/s2_semi_mgau.c +1145 -0
  546. pstrain-0.1.0/csrc/programs/sphinx3_align/s2_semi_mgau.h +124 -0
  547. pstrain-0.1.0/csrc/programs/sphinx3_align/s3_align.c +1401 -0
  548. pstrain-0.1.0/csrc/programs/sphinx3_align/s3_align.h +199 -0
  549. pstrain-0.1.0/csrc/programs/sphinx3_align/s3a_namespace.h +32 -0
  550. pstrain-0.1.0/csrc/programs/sphinx3_align/s3types.h +242 -0
  551. pstrain-0.1.0/csrc/programs/sphinx3_align/sphinx3_export.h +13 -0
  552. pstrain-0.1.0/csrc/programs/sphinx3_align/subvq.c +681 -0
  553. pstrain-0.1.0/csrc/programs/sphinx3_align/subvq.h +261 -0
  554. pstrain-0.1.0/csrc/programs/sphinx3_align/tmat.c +271 -0
  555. pstrain-0.1.0/csrc/programs/sphinx3_align/tmat.h +176 -0
  556. pstrain-0.1.0/csrc/programs/sphinx3_align/vector.c +649 -0
  557. pstrain-0.1.0/csrc/programs/sphinx3_align/vector.h +453 -0
  558. pstrain-0.1.0/csrc/programs/sphinx_cepview/.gitignore +1 -0
  559. pstrain-0.1.0/csrc/programs/sphinx_cepview/CMakeLists.txt +16 -0
  560. pstrain-0.1.0/csrc/programs/sphinx_cepview/main_cepview.c +286 -0
  561. pstrain-0.1.0/csrc/programs/sphinx_fe/.gitignore +1 -0
  562. pstrain-0.1.0/csrc/programs/sphinx_fe/CMakeLists.txt +16 -0
  563. pstrain-0.1.0/csrc/programs/sphinx_fe/cmd_ln_defn.h +228 -0
  564. pstrain-0.1.0/csrc/programs/sphinx_fe/sphinx_fe.c +1082 -0
  565. pstrain-0.1.0/csrc/programs/sphinx_fe/sphinx_wave2feat.h +66 -0
  566. pstrain-0.1.0/csrc/programs/tiestate/.gitignore +1 -0
  567. pstrain-0.1.0/csrc/programs/tiestate/CMakeLists.txt +17 -0
  568. pstrain-0.1.0/csrc/programs/tiestate/main.c +274 -0
  569. pstrain-0.1.0/csrc/programs/tiestate/parse_cmd_ln.c +130 -0
  570. pstrain-0.1.0/csrc/programs/tiestate/parse_cmd_ln.h +55 -0
  571. pstrain-0.1.0/csrc/pstrain.exports.def +109 -0
  572. pstrain-0.1.0/csrc/pstrain.exports.elf +112 -0
  573. pstrain-0.1.0/csrc/pstrain.exports.macos +107 -0
  574. pstrain-0.1.0/csrc/tests/CMakeLists.txt +150 -0
  575. pstrain-0.1.0/csrc/tests/stubs/pocketsphinx.h +34 -0
  576. pstrain-0.1.0/csrc/tests/test_bw_state_seq_build.c +150 -0
  577. pstrain-0.1.0/csrc/tests/test_decode_start_utt.c +186 -0
  578. pstrain-0.1.0/csrc/tests/test_gauden_scaling.c +60 -0
  579. pstrain-0.1.0/csrc/tests/test_io_roundtrip.c +191 -0
  580. pstrain-0.1.0/csrc/tests/test_kmeans_init_continuation.c +151 -0
  581. pstrain-0.1.0/csrc/tests/test_prunetree_order.c +50 -0
  582. pstrain-0.1.0/csrc/tests/test_rng.c +199 -0
  583. pstrain-0.1.0/csrc/tests/test_state_seq_ownership.c +55 -0
  584. pstrain-0.1.0/csrc/tests/test_variance_floor_consumers.c +111 -0
  585. pstrain-0.1.0/docs/Makefile +13 -0
  586. pstrain-0.1.0/docs/api/cli.rst +9 -0
  587. pstrain-0.1.0/docs/api/config-reference.rst +347 -0
  588. pstrain-0.1.0/docs/api/data.rst +9 -0
  589. pstrain-0.1.0/docs/api/index.rst +16 -0
  590. pstrain-0.1.0/docs/api/lib.rst +91 -0
  591. pstrain-0.1.0/docs/benchmarks/arctic-pin/oracle-sidecar.json +34745 -0
  592. pstrain-0.1.0/docs/benchmarks/arctic-pin/paired-analysis.json +51 -0
  593. pstrain-0.1.0/docs/benchmarks/arctic-pin/record.json +35258 -0
  594. pstrain-0.1.0/docs/benchmarks/arctic-pin.md +184 -0
  595. pstrain-0.1.0/docs/cffi-progress.md +305 -0
  596. pstrain-0.1.0/docs/code-review-2026-01-15.md +342 -0
  597. pstrain-0.1.0/docs/conf.py +67 -0
  598. pstrain-0.1.0/docs/design/README.md +59 -0
  599. pstrain-0.1.0/docs/design/bw-normalization-policy.md +46 -0
  600. pstrain-0.1.0/docs/design/bw-sharding-contract.md +77 -0
  601. pstrain-0.1.0/docs/design/ci-model-requirements.md +192 -0
  602. pstrain-0.1.0/docs/design/ci-training-cli-plan.md +464 -0
  603. pstrain-0.1.0/docs/design/config-unification.md +268 -0
  604. pstrain-0.1.0/docs/design/f10-multipron-alignment-stage.md +73 -0
  605. pstrain-0.1.0/docs/design/failed-alignment-policy.md +22 -0
  606. pstrain-0.1.0/docs/design/mlflow-evaluation.md +285 -0
  607. pstrain-0.1.0/docs/design/multi-pron-training.md +369 -0
  608. pstrain-0.1.0/docs/design/native-boundary.md +131 -0
  609. pstrain-0.1.0/docs/design/numeric-harness.md +168 -0
  610. pstrain-0.1.0/docs/design/one-command-training.md +212 -0
  611. pstrain-0.1.0/docs/design/optional-final-silence.md +90 -0
  612. pstrain-0.1.0/docs/design/parity-and-deviations.md +92 -0
  613. pstrain-0.1.0/docs/design/per-step-profiling.md +28 -0
  614. pstrain-0.1.0/docs/design/pipeline-runner.md +197 -0
  615. pstrain-0.1.0/docs/design/project-setup.md +496 -0
  616. pstrain-0.1.0/docs/design/source-determinable-rerolls.md +30 -0
  617. pstrain-0.1.0/docs/design/task-orchestration.md +1412 -0
  618. pstrain-0.1.0/docs/design/terminology.md +23 -0
  619. pstrain-0.1.0/docs/design/testing-with-cmu-arctic.md +249 -0
  620. pstrain-0.1.0/docs/design/training-pipeline.md +605 -0
  621. pstrain-0.1.0/docs/design/tree-comparison.md +34 -0
  622. pstrain-0.1.0/docs/detached-runs.md +52 -0
  623. pstrain-0.1.0/docs/development.md +63 -0
  624. pstrain-0.1.0/docs/evidence/m4b-slt-runs.md +52 -0
  625. pstrain-0.1.0/docs/evidence/m4b-slt-skips.tsv +16 -0
  626. pstrain-0.1.0/docs/evidence/optional-final-silence-red.txt +23 -0
  627. pstrain-0.1.0/docs/examples.md +99 -0
  628. pstrain-0.1.0/docs/getting-started.md +111 -0
  629. pstrain-0.1.0/docs/glossary.md +154 -0
  630. pstrain-0.1.0/docs/index.rst +41 -0
  631. pstrain-0.1.0/docs/input-formats.md +69 -0
  632. pstrain-0.1.0/docs/support.md +18 -0
  633. pstrain-0.1.0/envfix-report-2026-08-16.md +23 -0
  634. pstrain-0.1.0/etc/configs.yaml +88 -0
  635. pstrain-0.1.0/frameaudit-frames-2026-08-15.json +55 -0
  636. pstrain-0.1.0/gate-inventory-2026-08-14.json +29 -0
  637. pstrain-0.1.0/mainfix-report-2026-08-16.md +92 -0
  638. pstrain-0.1.0/noiseroutefix-report-2026-08-14.md +111 -0
  639. pstrain-0.1.0/pstrain/__init__.py +11 -0
  640. pstrain-0.1.0/pstrain/api/__init__.py +90 -0
  641. pstrain-0.1.0/pstrain/api/steps.py +190 -0
  642. pstrain-0.1.0/pstrain/benchmarks/__init__.py +1 -0
  643. pstrain-0.1.0/pstrain/benchmarks/arctic.py +1753 -0
  644. pstrain-0.1.0/pstrain/benchmarks/boundaries.py +174 -0
  645. pstrain-0.1.0/pstrain/benchmarks/corpora.py +127 -0
  646. pstrain-0.1.0/pstrain/benchmarks/timit.py +223 -0
  647. pstrain-0.1.0/pstrain/cli/__init__.py +27 -0
  648. pstrain-0.1.0/pstrain/cli/align.py +223 -0
  649. pstrain-0.1.0/pstrain/cli/base.py +1003 -0
  650. pstrain-0.1.0/pstrain/cli/build.py +185 -0
  651. pstrain-0.1.0/pstrain/cli/clean.py +153 -0
  652. pstrain-0.1.0/pstrain/cli/cli.py +82 -0
  653. pstrain-0.1.0/pstrain/cli/compare.py +186 -0
  654. pstrain-0.1.0/pstrain/cli/config.py +217 -0
  655. pstrain-0.1.0/pstrain/cli/features.py +82 -0
  656. pstrain-0.1.0/pstrain/cli/flat.py +159 -0
  657. pstrain-0.1.0/pstrain/cli/info.py +238 -0
  658. pstrain-0.1.0/pstrain/cli/setup.py +235 -0
  659. pstrain-0.1.0/pstrain/cli/split.py +101 -0
  660. pstrain-0.1.0/pstrain/cli/step.py +112 -0
  661. pstrain-0.1.0/pstrain/cli/test.py +231 -0
  662. pstrain-0.1.0/pstrain/cli/timings.py +34 -0
  663. pstrain-0.1.0/pstrain/cli/train.py +653 -0
  664. pstrain-0.1.0/pstrain/cli/validate.py +82 -0
  665. pstrain-0.1.0/pstrain/data/.gitkeep +0 -0
  666. pstrain-0.1.0/pstrain/data/__init__.py +33 -0
  667. pstrain-0.1.0/pstrain/data/filler.dict +3 -0
  668. pstrain-0.1.0/pstrain/data/sample/kevin-alice-16k.txt +1 -0
  669. pstrain-0.1.0/pstrain/data/sample/kevin-alice-16k.wav +0 -0
  670. pstrain-0.1.0/pstrain/lib/__init__.py +154 -0
  671. pstrain-0.1.0/pstrain/lib/_cffi/__init__.py +50 -0
  672. pstrain-0.1.0/pstrain/lib/_cffi/cdef.py +770 -0
  673. pstrain-0.1.0/pstrain/lib/_cffi/core.py +103 -0
  674. pstrain-0.1.0/pstrain/lib/_cffi/io.py +369 -0
  675. pstrain-0.1.0/pstrain/lib/_cffi/logmath.py +105 -0
  676. pstrain-0.1.0/pstrain/lib/_pstrainc.py +73 -0
  677. pstrain-0.1.0/pstrain/lib/agg_seg.py +122 -0
  678. pstrain-0.1.0/pstrain/lib/alignment/__init__.py +48 -0
  679. pstrain-0.1.0/pstrain/lib/alignment/batch.py +209 -0
  680. pstrain-0.1.0/pstrain/lib/alignment/core.py +152 -0
  681. pstrain-0.1.0/pstrain/lib/alignment/export.py +211 -0
  682. pstrain-0.1.0/pstrain/lib/alignment/native.py +421 -0
  683. pstrain-0.1.0/pstrain/lib/bw.py +536 -0
  684. pstrain-0.1.0/pstrain/lib/cepview.py +191 -0
  685. pstrain-0.1.0/pstrain/lib/commands.py +793 -0
  686. pstrain-0.1.0/pstrain/lib/compare.py +1167 -0
  687. pstrain-0.1.0/pstrain/lib/config/__init__.py +56 -0
  688. pstrain-0.1.0/pstrain/lib/config/models.py +376 -0
  689. pstrain-0.1.0/pstrain/lib/config/resolver.py +633 -0
  690. pstrain-0.1.0/pstrain/lib/config/schema.py +203 -0
  691. pstrain-0.1.0/pstrain/lib/config/user.py +173 -0
  692. pstrain-0.1.0/pstrain/lib/contract_docs.py +247 -0
  693. pstrain-0.1.0/pstrain/lib/corpus/__init__.py +40 -0
  694. pstrain-0.1.0/pstrain/lib/corpus/files.py +212 -0
  695. pstrain-0.1.0/pstrain/lib/corpus/normalize.py +119 -0
  696. pstrain-0.1.0/pstrain/lib/corpus/split.py +323 -0
  697. pstrain-0.1.0/pstrain/lib/delint.py +96 -0
  698. pstrain-0.1.0/pstrain/lib/dictionary/__init__.py +46 -0
  699. pstrain-0.1.0/pstrain/lib/dictionary/cmudict.py +294 -0
  700. pstrain-0.1.0/pstrain/lib/dictionary/dictionary.py +357 -0
  701. pstrain-0.1.0/pstrain/lib/dictionary/filler.py +102 -0
  702. pstrain-0.1.0/pstrain/lib/dtree.py +359 -0
  703. pstrain-0.1.0/pstrain/lib/features.py +404 -0
  704. pstrain-0.1.0/pstrain/lib/filetypes.py +356 -0
  705. pstrain-0.1.0/pstrain/lib/flat.py +361 -0
  706. pstrain-0.1.0/pstrain/lib/kdtree.py +76 -0
  707. pstrain-0.1.0/pstrain/lib/lm.py +141 -0
  708. pstrain-0.1.0/pstrain/lib/map_adapt.py +126 -0
  709. pstrain-0.1.0/pstrain/lib/mdef.py +182 -0
  710. pstrain-0.1.0/pstrain/lib/model.py +566 -0
  711. pstrain-0.1.0/pstrain/lib/model_type.py +89 -0
  712. pstrain-0.1.0/pstrain/lib/native_worker.py +613 -0
  713. pstrain-0.1.0/pstrain/lib/one_command.py +382 -0
  714. pstrain-0.1.0/pstrain/lib/param_cnt.py +101 -0
  715. pstrain-0.1.0/pstrain/lib/paths.py +339 -0
  716. pstrain-0.1.0/pstrain/lib/phoneset.py +373 -0
  717. pstrain-0.1.0/pstrain/lib/pipeline/__init__.py +37 -0
  718. pstrain-0.1.0/pstrain/lib/pipeline/context.py +657 -0
  719. pstrain-0.1.0/pstrain/lib/pipeline/feat_params.py +112 -0
  720. pstrain-0.1.0/pstrain/lib/pipeline/runner.py +842 -0
  721. pstrain-0.1.0/pstrain/lib/pipeline/tasks.py +1008 -0
  722. pstrain-0.1.0/pstrain/lib/pipeline/timings.py +192 -0
  723. pstrain-0.1.0/pstrain/lib/printp.py +243 -0
  724. pstrain-0.1.0/pstrain/lib/runtime.py +14 -0
  725. pstrain-0.1.0/pstrain/lib/setup.py +223 -0
  726. pstrain-0.1.0/pstrain/lib/similarity.py +451 -0
  727. pstrain-0.1.0/pstrain/lib/split.py +221 -0
  728. pstrain-0.1.0/pstrain/lib/steps/__init__.py +64 -0
  729. pstrain-0.1.0/pstrain/lib/steps/base.py +366 -0
  730. pstrain-0.1.0/pstrain/lib/steps/cd_hmm_untied.py +87 -0
  731. pstrain-0.1.0/pstrain/lib/steps/cd_pipeline.py +630 -0
  732. pstrain-0.1.0/pstrain/lib/steps/ci_hmm.py +99 -0
  733. pstrain-0.1.0/pstrain/lib/steps/features.py +101 -0
  734. pstrain-0.1.0/pstrain/lib/steps/lm.py +47 -0
  735. pstrain-0.1.0/pstrain/lib/steps/package.py +199 -0
  736. pstrain-0.1.0/pstrain/lib/steps/setup.py +271 -0
  737. pstrain-0.1.0/pstrain/lib/steps/split.py +127 -0
  738. pstrain-0.1.0/pstrain/lib/steps/train.py +1070 -0
  739. pstrain-0.1.0/pstrain/lib/testing/__init__.py +37 -0
  740. pstrain-0.1.0/pstrain/lib/testing/decoder.py +263 -0
  741. pstrain-0.1.0/pstrain/lib/testing/report.py +215 -0
  742. pstrain-0.1.0/pstrain/lib/testing/test.py +336 -0
  743. pstrain-0.1.0/pstrain/lib/testing/wer.py +277 -0
  744. pstrain-0.1.0/pstrain/lib/transcription.py +76 -0
  745. pstrain-0.1.0/pstrain/lib/ts2cb.py +205 -0
  746. pstrain-0.1.0/pstrain/lib/validate.py +327 -0
  747. pstrain-0.1.0/pstrain/py.typed +0 -0
  748. pstrain-0.1.0/pyproject.toml +189 -0
  749. pstrain-0.1.0/scripts/bench_arctic.py +7 -0
  750. pstrain-0.1.0/scripts/bench_timit.py +7 -0
  751. pstrain-0.1.0/scripts/check_ambient_import.py +88 -0
  752. pstrain-0.1.0/scripts/check_arctic_pin.py +99 -0
  753. pstrain-0.1.0/scripts/check_containment_routing.py +331 -0
  754. pstrain-0.1.0/scripts/check_fp_contract.py +289 -0
  755. pstrain-0.1.0/scripts/compare_multipron_alignments.py +221 -0
  756. pstrain-0.1.0/scripts/dispatch_windows_probe.sh +53 -0
  757. pstrain-0.1.0/scripts/extract_signatures.py +123 -0
  758. pstrain-0.1.0/scripts/fetch_corpus.py +7 -0
  759. pstrain-0.1.0/scripts/fix_program_cmake.py +36 -0
  760. pstrain-0.1.0/scripts/generate_cffi_exports.py +64 -0
  761. pstrain-0.1.0/scripts/procctl.py +339 -0
  762. pstrain-0.1.0/scripts/regenerate_arctic_paired_analysis.py +105 -0
  763. pstrain-0.1.0/scripts/regenerate_numeric_golden.py +27 -0
  764. pstrain-0.1.0/scripts/repair_linux_wheel.py +42 -0
  765. pstrain-0.1.0/scripts/run_verified_tests.py +51 -0
  766. pstrain-0.1.0/scripts/setup_arctic.py +269 -0
  767. pstrain-0.1.0/scripts/setup_timit.py +231 -0
  768. pstrain-0.1.0/scripts/test_installed_distribution.py +28 -0
  769. pstrain-0.1.0/scripts/tree_compare.py +336 -0
  770. pstrain-0.1.0/source-determinable-rerolls-2026-08-14.json +56 -0
  771. pstrain-0.1.0/tests/__init__.py +0 -0
  772. pstrain-0.1.0/tests/clib.py +52 -0
  773. pstrain-0.1.0/tests/conftest.py +142 -0
  774. pstrain-0.1.0/tests/fixtures/mini_arctic/README.md +68 -0
  775. pstrain-0.1.0/tests/fixtures/mini_arctic/dictionary.dict +103 -0
  776. pstrain-0.1.0/tests/fixtures/mini_arctic/filler.dict +3 -0
  777. pstrain-0.1.0/tests/fixtures/mini_arctic/phoneset.txt +36 -0
  778. pstrain-0.1.0/tests/fixtures/mini_arctic/transcription.txt +10 -0
  779. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0001.wav +0 -0
  780. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0002.wav +0 -0
  781. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0003.wav +0 -0
  782. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0004.wav +0 -0
  783. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0005.wav +0 -0
  784. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0006.wav +0 -0
  785. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0007.wav +0 -0
  786. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0008.wav +0 -0
  787. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0009.wav +0 -0
  788. pstrain-0.1.0/tests/fixtures/mini_arctic/wav/arctic_a0010.wav +0 -0
  789. pstrain-0.1.0/tests/fixtures/multipron_final_state/README.md +17 -0
  790. pstrain-0.1.0/tests/fixtures/multipron_final_state/arctic_a0257.mfc +0 -0
  791. pstrain-0.1.0/tests/fixtures/multipron_final_state/arctic_a0336.mfc +0 -0
  792. pstrain-0.1.0/tests/fixtures/multipron_final_state/arctic_b0424.mfc +0 -0
  793. pstrain-0.1.0/tests/fixtures/multipron_final_state/dictionary.dict +40 -0
  794. pstrain-0.1.0/tests/fixtures/multipron_final_state/filler.dict +3 -0
  795. pstrain-0.1.0/tests/fixtures/multipron_final_state/model/feat.params +23 -0
  796. pstrain-0.1.0/tests/fixtures/multipron_final_state/model/mdef +50 -0
  797. pstrain-0.1.0/tests/fixtures/multipron_final_state/model/means +0 -0
  798. pstrain-0.1.0/tests/fixtures/multipron_final_state/model/mixture_weights +0 -0
  799. pstrain-0.1.0/tests/fixtures/multipron_final_state/model/transition_matrices +0 -0
  800. pstrain-0.1.0/tests/fixtures/multipron_final_state/model/variances +0 -0
  801. pstrain-0.1.0/tests/fixtures/multipron_final_state/transcription.txt +3 -0
  802. pstrain-0.1.0/tests/golden/mini_arctic_ci_1g_decode.json +57 -0
  803. pstrain-0.1.0/tests/golden/numeric_bw.json +65 -0
  804. pstrain-0.1.0/tests/job_control_fixture.py +55 -0
  805. pstrain-0.1.0/tests/numeric_harness.py +171 -0
  806. pstrain-0.1.0/tests/test_agg_seg.py +239 -0
  807. pstrain-0.1.0/tests/test_align.py +529 -0
  808. pstrain-0.1.0/tests/test_ambient_import_gate.py +124 -0
  809. pstrain-0.1.0/tests/test_benchmark_arctic.py +964 -0
  810. pstrain-0.1.0/tests/test_benchmark_corpora.py +80 -0
  811. pstrain-0.1.0/tests/test_benchmark_timit.py +56 -0
  812. pstrain-0.1.0/tests/test_boundary_metrics.py +44 -0
  813. pstrain-0.1.0/tests/test_bw_sharding.py +380 -0
  814. pstrain-0.1.0/tests/test_cepview.py +119 -0
  815. pstrain-0.1.0/tests/test_cffi_abi.py +27 -0
  816. pstrain-0.1.0/tests/test_commands.py +401 -0
  817. pstrain-0.1.0/tests/test_compare_models.py +70 -0
  818. pstrain-0.1.0/tests/test_complete_model_contract.py +280 -0
  819. pstrain-0.1.0/tests/test_config.py +329 -0
  820. pstrain-0.1.0/tests/test_containment_routing.py +187 -0
  821. pstrain-0.1.0/tests/test_contract_docs.py +55 -0
  822. pstrain-0.1.0/tests/test_data.py +26 -0
  823. pstrain-0.1.0/tests/test_decode_parallel.py +240 -0
  824. pstrain-0.1.0/tests/test_decoder_config.py +134 -0
  825. pstrain-0.1.0/tests/test_dtree.py +565 -0
  826. pstrain-0.1.0/tests/test_e2e_training.py +514 -0
  827. pstrain-0.1.0/tests/test_external_split.py +86 -0
  828. pstrain-0.1.0/tests/test_feat_params.py +173 -0
  829. pstrain-0.1.0/tests/test_features.py +309 -0
  830. pstrain-0.1.0/tests/test_flat.py +219 -0
  831. pstrain-0.1.0/tests/test_fp_contract_gate.py +381 -0
  832. pstrain-0.1.0/tests/test_lib_structure.py +117 -0
  833. pstrain-0.1.0/tests/test_mdef.py +359 -0
  834. pstrain-0.1.0/tests/test_native_worker.py +273 -0
  835. pstrain-0.1.0/tests/test_numeric_harness.py +1434 -0
  836. pstrain-0.1.0/tests/test_one_command.py +504 -0
  837. pstrain-0.1.0/tests/test_param_cnt.py +238 -0
  838. pstrain-0.1.0/tests/test_parity.py +558 -0
  839. pstrain-0.1.0/tests/test_paths.py +109 -0
  840. pstrain-0.1.0/tests/test_pipeline_runner.py +1394 -0
  841. pstrain-0.1.0/tests/test_pipeline_tasks.py +1296 -0
  842. pstrain-0.1.0/tests/test_printp.py +110 -0
  843. pstrain-0.1.0/tests/test_procctl.py +289 -0
  844. pstrain-0.1.0/tests/test_pstrainc.py +605 -0
  845. pstrain-0.1.0/tests/test_sample_data.py +77 -0
  846. pstrain-0.1.0/tests/test_setup.py +331 -0
  847. pstrain-0.1.0/tests/test_split.py +411 -0
  848. pstrain-0.1.0/tests/test_standalone_entry_failures.py +181 -0
  849. pstrain-0.1.0/tests/test_symbol_visibility.py +53 -0
  850. pstrain-0.1.0/tests/test_timings_cli.py +33 -0
  851. pstrain-0.1.0/tests/test_train_convergence.py +33 -0
  852. pstrain-0.1.0/tests/test_train_retry.py +233 -0
  853. pstrain-0.1.0/tests/test_transcription.py +29 -0
  854. pstrain-0.1.0/tests/test_tree_compare.py +107 -0
  855. pstrain-0.1.0/tests/test_ts2cb.py +156 -0
  856. pstrain-0.1.0/tests/test_validate.py +40 -0
  857. pstrain-0.1.0/tests/test_version.py +11 -0
  858. pstrain-0.1.0/timitcs-report-2026-08-16.md +80 -0
  859. pstrain-0.1.0/w8-report-2026-08-16.md +17 -0
  860. pstrain-0.1.0/winCL-report-2026-08-16.md +22 -0
  861. pstrain-0.1.0/winD-report-2026-08-16.md +8 -0
  862. pstrain-0.1.0/winE-report-2026-08-16.md +27 -0
  863. pstrain-0.1.0/winF-report-2026-08-16.md +20 -0
  864. pstrain-0.1.0/winP-report-2026-08-16.md +36 -0
  865. pstrain-0.1.0/winPy-report-2026-08-16.md +41 -0
@@ -0,0 +1,21 @@
1
+ version: 2
2
+ updates:
3
+ # Keep GitHub Actions up to date
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ groups:
9
+ actions:
10
+ patterns:
11
+ - "*"
12
+
13
+ # Keep Python dependencies up to date
14
+ - package-ecosystem: "pip"
15
+ directory: "/"
16
+ schedule:
17
+ interval: "monthly"
18
+ groups:
19
+ python-deps:
20
+ patterns:
21
+ - "*"
@@ -0,0 +1,76 @@
1
+ name: Build
2
+
3
+ # Builds the sdist and platform wheels for packaging-relevant changes and on demand.
4
+ # A weekly scheduled build detects packaging drift when those files do not change.
5
+
6
+ on:
7
+ push:
8
+ branches: [master, main]
9
+ paths:
10
+ - csrc/**
11
+ - CMakeLists.txt
12
+ - pyproject.toml
13
+ - .github/workflows/build.yml
14
+ pull_request:
15
+ branches: [master, main]
16
+ paths:
17
+ - csrc/**
18
+ - CMakeLists.txt
19
+ - pyproject.toml
20
+ - .github/workflows/build.yml
21
+ workflow_dispatch:
22
+ schedule:
23
+ - cron: "17 4 * * 1"
24
+
25
+ # Cancel superseded branch/PR runs; never auto-cancel default-branch runs so mainline gets a complete verdict.
26
+ concurrency:
27
+ group: ${{ github.workflow }}-${{ github.ref }}
28
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
29
+
30
+ jobs:
31
+ # Build source distribution
32
+ build-sdist:
33
+ name: Build source distribution
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+ - uses: actions/checkout@v7
37
+
38
+ - name: Build SDist
39
+ run: pipx run build --sdist
40
+
41
+ - uses: actions/upload-artifact@v7
42
+ with:
43
+ name: sdist
44
+ path: dist/*.tar.gz
45
+
46
+ - name: Test installed source distribution from a neutral directory
47
+ run: |
48
+ python -m venv "$RUNNER_TEMP/sdist-test"
49
+ "$RUNNER_TEMP/sdist-test/bin/pip" install dist/*.tar.gz
50
+ cd "$RUNNER_TEMP"
51
+ "$RUNNER_TEMP/sdist-test/bin/python" "$GITHUB_WORKSPACE/scripts/test_installed_distribution.py"
52
+
53
+ # Build wheels on multiple platforms.
54
+ # Windows is intentionally omitted: the vendored CMU Sphinx C does not yet
55
+ # build under MSVC (POSIX-only drand48 and several unresolved sphinx3_align
56
+ # symbols). Restore windows-latest here once that portability work is done.
57
+ build-wheels:
58
+ name: Build wheels on ${{ matrix.os }}
59
+ runs-on: ${{ matrix.os }}
60
+ strategy:
61
+ fail-fast: false
62
+ matrix:
63
+ os: [ubuntu-latest, macos-latest]
64
+ steps:
65
+ - uses: actions/checkout@v7
66
+
67
+ - name: Build wheels
68
+ uses: pypa/cibuildwheel@v4.2
69
+
70
+ - name: Verify emitted floating-point contraction policy in wheels
71
+ run: python scripts/check_fp_contract.py --wheels wheelhouse
72
+
73
+ - uses: actions/upload-artifact@v7
74
+ with:
75
+ name: wheels-${{ matrix.os }}
76
+ path: ./wheelhouse/*.whl
@@ -0,0 +1,34 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [master, main]
6
+ paths:
7
+ - "docs/**"
8
+ - "pstrain/lib/config/**"
9
+ - "pyproject.toml"
10
+ - ".github/workflows/docs.yml"
11
+ pull_request:
12
+ branches: [master, main]
13
+ paths:
14
+ - "docs/**"
15
+ - "pstrain/lib/config/**"
16
+ - "pyproject.toml"
17
+ - ".github/workflows/docs.yml"
18
+ workflow_dispatch:
19
+
20
+ concurrency:
21
+ group: ${{ github.workflow }}-${{ github.ref }}
22
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
23
+
24
+ jobs:
25
+ build:
26
+ runs-on: ubuntu-latest
27
+ steps:
28
+ - uses: actions/checkout@v7
29
+ - uses: actions/setup-python@v7
30
+ with:
31
+ python-version: "3.12"
32
+ - run: pip install -e ".[docs]"
33
+ - name: Build documentation
34
+ run: sphinx-build -b html docs docs/_build/html
@@ -0,0 +1,72 @@
1
+ name: Release
2
+
3
+ # Build wheels + sdist and publish pstrain to PyPI via Trusted Publishing (OIDC).
4
+ # Triggered when a GitHub Release is published; also runnable on demand to rehearse
5
+ # the build (the publish step only runs for release events).
6
+
7
+ on:
8
+ release:
9
+ types: [published]
10
+ workflow_dispatch:
11
+
12
+ concurrency:
13
+ group: release-${{ github.ref }}
14
+ cancel-in-progress: false
15
+
16
+ jobs:
17
+ build-wheels:
18
+ name: Build wheels on ${{ matrix.os }}
19
+ runs-on: ${{ matrix.os }}
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ os: [ubuntu-latest, macos-latest]
24
+ steps:
25
+ - uses: actions/checkout@v7
26
+ - name: Build wheels
27
+ uses: pypa/cibuildwheel@v4.2
28
+ - name: Verify emitted floating-point contraction policy in wheels
29
+ run: python scripts/check_fp_contract.py --wheels wheelhouse
30
+ - uses: actions/upload-artifact@v7
31
+ with:
32
+ name: dist-wheels-${{ matrix.os }}
33
+ path: ./wheelhouse/*.whl
34
+
35
+ build-sdist:
36
+ name: Build source distribution
37
+ runs-on: ubuntu-latest
38
+ steps:
39
+ - uses: actions/checkout@v7
40
+ - name: Build SDist
41
+ run: pipx run build --sdist
42
+ - name: Test installed source distribution from a neutral directory
43
+ run: |
44
+ python -m venv "$RUNNER_TEMP/sdist-test"
45
+ "$RUNNER_TEMP/sdist-test/bin/pip" install dist/*.tar.gz
46
+ cd "$RUNNER_TEMP"
47
+ "$RUNNER_TEMP/sdist-test/bin/python" "$GITHUB_WORKSPACE/scripts/test_installed_distribution.py"
48
+ - uses: actions/upload-artifact@v7
49
+ with:
50
+ name: dist-sdist
51
+ path: dist/*.tar.gz
52
+
53
+ publish:
54
+ name: Publish to PyPI
55
+ needs: [build-wheels, build-sdist]
56
+ runs-on: ubuntu-latest
57
+ # Only publish for a real published Release, never for workflow_dispatch rehearsals.
58
+ if: github.event_name == 'release'
59
+ environment:
60
+ name: pypi
61
+ url: https://pypi.org/p/pstrain
62
+ permissions:
63
+ id-token: write # OIDC token for Trusted Publishing; no API token needed.
64
+ steps:
65
+ - name: Download all distribution artifacts
66
+ uses: actions/download-artifact@v7
67
+ with:
68
+ path: dist
69
+ pattern: dist-*
70
+ merge-multiple: true
71
+ - name: Publish to PyPI
72
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,204 @@
1
+ # Always report required test contexts; expensive steps no-op for docs-only changes.
2
+ name: Tests
3
+
4
+ on:
5
+ push:
6
+ branches: [master, main]
7
+ pull_request:
8
+ branches: [master, main]
9
+ workflow_dispatch:
10
+
11
+ # Cancel superseded branch/PR runs; never auto-cancel default-branch runs so mainline gets a complete verdict.
12
+ concurrency:
13
+ group: ${{ github.workflow }}-${{ github.ref }}
14
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
15
+
16
+ jobs:
17
+ changes:
18
+ name: Detect code changes
19
+ runs-on: ubuntu-latest
20
+ outputs:
21
+ code: ${{ steps.filter.outputs.code }}
22
+ steps:
23
+ - uses: actions/checkout@v7
24
+
25
+ - name: Classify changed paths
26
+ id: filter
27
+ uses: dorny/paths-filter@v3
28
+ with:
29
+ filters: |
30
+ code:
31
+ - '!**.md'
32
+ - '!docs/**'
33
+
34
+ # C library tests
35
+ c-tests:
36
+ name: C tests on ${{ matrix.os }}
37
+ needs: changes
38
+ runs-on: ${{ matrix.os }}
39
+ strategy:
40
+ fail-fast: false
41
+ matrix:
42
+ os: [ubuntu-latest, macos-latest]
43
+ steps:
44
+ - uses: actions/checkout@v7
45
+
46
+ - name: Configure
47
+ if: needs.changes.outputs.code == 'true'
48
+ run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLI=ON
49
+
50
+ - name: Build
51
+ if: needs.changes.outputs.code == 'true'
52
+ run: cmake --build build
53
+
54
+ - name: Test
55
+ if: needs.changes.outputs.code == 'true'
56
+ # --no-tests=error guards against silently passing on an empty test
57
+ # set (the previous failure mode: no add_test() anywhere).
58
+ run: ctest --test-dir build --output-on-failure --no-tests=error
59
+
60
+ - name: Verify emitted floating-point contraction policy
61
+ if: needs.changes.outputs.code == 'true'
62
+ run: python scripts/check_fp_contract.py build
63
+
64
+ # Linux-only sanitizer coverage. AppleClang is excluded because ASan hangs
65
+ # before main on macOS in this project.
66
+ c-tests-sanitizers:
67
+ name: C tests with ASan and UBSan on Linux
68
+ needs: changes
69
+ runs-on: ubuntu-latest
70
+ steps:
71
+ - uses: actions/checkout@v7
72
+
73
+ - name: Configure
74
+ if: needs.changes.outputs.code == 'true'
75
+ run: >-
76
+ cmake -S . -B build
77
+ -DCMAKE_BUILD_TYPE=Debug
78
+ -DBUILD_CLI=ON
79
+ -DCMAKE_C_FLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer"
80
+
81
+ - name: Build
82
+ if: needs.changes.outputs.code == 'true'
83
+ run: cmake --build build
84
+
85
+ - name: Test
86
+ if: needs.changes.outputs.code == 'true'
87
+ env:
88
+ ASAN_OPTIONS: halt_on_error=1
89
+ UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1
90
+ run: ctest --test-dir build --output-on-failure --no-tests=error
91
+
92
+ # Python tests across versions
93
+ python-tests:
94
+ name: Python ${{ matrix.python }} on ${{ matrix.os }}
95
+ needs: changes
96
+ runs-on: ${{ matrix.os }}
97
+ strategy:
98
+ fail-fast: false
99
+ matrix:
100
+ # PRs test boundary Python versions on Ubuntu plus one representative
101
+ # framework-Python leg on macOS; other events run the full matrix.
102
+ include: ${{ github.event_name == 'pull_request' && fromJSON('[{"python":"3.11","os":"ubuntu-latest"},{"python":"3.13","os":"ubuntu-latest"},{"python":"3.13","os":"macos-latest"}]') || fromJSON('[{"python":"3.11","os":"ubuntu-latest"},{"python":"3.11","os":"macos-latest"},{"python":"3.12","os":"ubuntu-latest"},{"python":"3.12","os":"macos-latest"},{"python":"3.13","os":"ubuntu-latest"},{"python":"3.13","os":"macos-latest"}]') }}
103
+ steps:
104
+ - uses: actions/checkout@v7
105
+
106
+ - name: Set up Python ${{ matrix.python }}
107
+ if: needs.changes.outputs.code == 'true'
108
+ uses: actions/setup-python@v7
109
+ with:
110
+ python-version: ${{ matrix.python }}
111
+
112
+ - name: Install dependencies
113
+ if: needs.changes.outputs.code == 'true'
114
+ run: |
115
+ python -m pip install --upgrade pip
116
+ pip install pytest pytest-cov
117
+
118
+ - name: Build C library
119
+ if: needs.changes.outputs.code == 'true'
120
+ run: |
121
+ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_CLI=ON
122
+ cmake --build build
123
+
124
+ - name: Verify emitted floating-point contraction policy
125
+ if: needs.changes.outputs.code == 'true'
126
+ run: python scripts/check_fp_contract.py build
127
+
128
+ - name: Install package (editable)
129
+ if: needs.changes.outputs.code == 'true'
130
+ run: pip install -e ".[dev,test]"
131
+
132
+ - name: Run tests
133
+ if: needs.changes.outputs.code == 'true'
134
+ # PSTRAIN_REQUIRE_CLIB=1 turns "C library not loadable" from a silent
135
+ # skip into a hard failure, so this job can't go green while the
136
+ # entire CFFI/parity tier is quietly skipped.
137
+ env:
138
+ PSTRAIN_REQUIRE_CLIB: "1"
139
+ run: pytest -v --cov=pstrain --cov-report=xml
140
+
141
+ - name: Verify canonical config consumers and generated reference
142
+ if: needs.changes.outputs.code == 'true' && matrix.python == '3.11' && matrix.os == 'ubuntu-latest'
143
+ # This is an installed-package job; the ambient gate is exercised by
144
+ # the in-tree verified flow and must reject this editable installation.
145
+ run: make AMBIENT_IMPORT_PREREQUISITE= config-check
146
+
147
+ - name: Upload coverage
148
+ uses: codecov/codecov-action@v7
149
+ if: needs.changes.outputs.code == 'true' && matrix.python == '3.12' && matrix.os == 'ubuntu-latest'
150
+ with:
151
+ files: ./coverage.xml
152
+ fail_ci_if_error: false
153
+
154
+ # Lint checks
155
+ lint:
156
+ name: Lint
157
+ needs: changes
158
+ runs-on: ubuntu-latest
159
+ steps:
160
+ - uses: actions/checkout@v7
161
+
162
+ - name: Set up Python
163
+ if: needs.changes.outputs.code == 'true'
164
+ uses: actions/setup-python@v7
165
+ with:
166
+ python-version: "3.12"
167
+
168
+ - name: Install dependencies
169
+ if: needs.changes.outputs.code == 'true'
170
+ run: |
171
+ python -m pip install --upgrade pip
172
+ pip install ruff mypy
173
+
174
+ - name: Run ruff
175
+ if: needs.changes.outputs.code == 'true'
176
+ run: ruff check pstrain/ tests/
177
+
178
+ - name: Run ruff format check
179
+ if: needs.changes.outputs.code == 'true'
180
+ run: ruff format --check pstrain/ tests/
181
+
182
+ # Type checking (strict mypy, blocking).
183
+ typecheck:
184
+ name: Type check
185
+ needs: changes
186
+ runs-on: ubuntu-latest
187
+ steps:
188
+ - uses: actions/checkout@v7
189
+
190
+ - name: Set up Python
191
+ if: needs.changes.outputs.code == 'true'
192
+ uses: actions/setup-python@v7
193
+ with:
194
+ python-version: "3.12"
195
+
196
+ - name: Install dependencies
197
+ if: needs.changes.outputs.code == 'true'
198
+ run: |
199
+ python -m pip install --upgrade pip
200
+ pip install -e ".[dev]"
201
+
202
+ - name: Run mypy
203
+ if: needs.changes.outputs.code == 'true'
204
+ run: mypy pstrain/ --ignore-missing-imports
@@ -0,0 +1,107 @@
1
+ name: Windows native build
2
+
3
+ on:
4
+ push:
5
+ branches: [master, main]
6
+ pull_request:
7
+ branches: [master, main]
8
+
9
+ # Cancel superseded PR runs; never auto-cancel default-branch runs so mainline gets a complete verdict.
10
+ concurrency:
11
+ group: ${{ github.workflow }}-${{ github.ref }}
12
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
13
+
14
+ jobs:
15
+ windows-native-build:
16
+ name: Windows native build (${{ matrix.compiler }})
17
+ runs-on: windows-latest
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ compiler: [msvc, clang-cl]
22
+
23
+ steps:
24
+ - uses: actions/checkout@v7
25
+
26
+ - name: Enter the MSVC developer environment
27
+ uses: ilammy/msvc-dev-cmd@v1
28
+
29
+ - name: Configure (${{ matrix.compiler }})
30
+ shell: pwsh
31
+ run: |
32
+ $build = "build-${{ matrix.compiler }}"
33
+ $compilerArgs = @()
34
+ if ("${{ matrix.compiler }}" -eq "clang-cl") {
35
+ $compilerArgs += "-T"
36
+ $compilerArgs += "ClangCL"
37
+ }
38
+ cmake -S . -B $build `
39
+ -DBUILD_SHARED_LIBS=ON `
40
+ -DBUILD_CLI=ON `
41
+ @compilerArgs
42
+
43
+ - name: Build static core, shared core, and CLI programs (${{ matrix.compiler }})
44
+ shell: pwsh
45
+ run: cmake --build "build-${{ matrix.compiler }}" --config Release --parallel
46
+
47
+ windows-python-tests:
48
+ name: Windows Python 3.13 tests
49
+ runs-on: windows-latest
50
+
51
+ steps:
52
+ - uses: actions/checkout@v7
53
+
54
+ - name: Set up Python 3.13
55
+ uses: actions/setup-python@v7
56
+ with:
57
+ python-version: "3.13"
58
+
59
+ - name: Enter the MSVC developer environment
60
+ uses: ilammy/msvc-dev-cmd@v1
61
+
62
+ - name: Build native library and CLI programs
63
+ shell: pwsh
64
+ run: |
65
+ cmake -S . -B build -DBUILD_SHARED_LIBS=ON -DBUILD_CLI=ON
66
+ cmake --build build --config Release --parallel
67
+
68
+ - name: Install package and test dependencies
69
+ run: |
70
+ python -m pip install --upgrade pip
71
+ python -m pip install -e ".[dev]"
72
+
73
+ - name: Run Windows-compatible Python tests
74
+ env:
75
+ PSTRAIN_REQUIRE_CLIB: "1"
76
+ shell: pwsh
77
+ run: |
78
+ python -m pytest -v -rs `
79
+ tests/test_paths.py `
80
+ tests/test_commands.py::TestCommandBuilder::test_resolution_uses_exe_suffix_on_windows `
81
+ tests/test_cffi_abi.py `
82
+ tests/test_lib_structure.py `
83
+ tests/test_pstrainc.py::test_library_loads `
84
+ tests/test_pstrainc.py::test_logmath_init_free `
85
+ tests/test_pstrainc.py::test_logmath_log_exp `
86
+ tests/test_pstrainc.py::test_logmath_add `
87
+ tests/test_pstrainc.py::test_logmath_get_base `
88
+ tests/test_pstrainc.py::test_logmath_edge_cases `
89
+ tests/test_pstrainc.py::test_logmath_different_bases `
90
+ tests/test_pstrainc.py::test_enum_constants `
91
+ tests/test_pstrainc.py::test_error_macros_exist `
92
+ tests/test_pstrainc.py::test_logmath_identity `
93
+ tests/test_pstrainc.py::test_logmath_add_commutative `
94
+ tests/test_pstrainc.py::test_pstrain_fe_create_default `
95
+ tests/test_pstrainc.py::test_pstrain_fe_create_custom `
96
+ tests/test_pstrainc.py::test_pstrain_fe_create_8khz `
97
+ tests/test_features.py::TestFEParams `
98
+ tests/test_features.py::TestReadWriteSphinxMfc `
99
+ tests/test_features.py::TestReadWav `
100
+ tests/test_bw_sharding.py `
101
+ tests/test_dtree.py `
102
+ tests/test_e2e_training.py `
103
+ tests/test_feat_params.py `
104
+ tests/test_numeric_harness.py `
105
+ tests/test_pipeline_tasks.py `
106
+ tests/test_train_convergence.py `
107
+ tests/test_train_retry.py
@@ -0,0 +1,89 @@
1
+ # local untracked cache
2
+ untracked/
3
+
4
+ # Python
5
+ __pycache__/
6
+ *.py[cod]
7
+ *$py.class
8
+ .Python
9
+ build*/
10
+ develop-eggs/
11
+ dist/
12
+ downloads/
13
+ eggs/
14
+ .eggs/
15
+ # Build artifacts (root level only, not pstrain/lib/)
16
+ /lib/
17
+ /lib64/
18
+ parts/
19
+ sdist/
20
+ var/
21
+ wheels/
22
+ *.egg-info/
23
+ .installed.cfg
24
+ *.egg
25
+
26
+ # Virtual environments
27
+ venv/
28
+ .venv/
29
+ ENV/
30
+
31
+ # IDE
32
+ .idea/
33
+ .vscode/
34
+ *.swp
35
+ *.swo
36
+ *~
37
+
38
+ # Testing
39
+ .pytest_cache/
40
+ .coverage
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+
45
+ # mypy
46
+ .mypy_cache/
47
+
48
+ # ruff
49
+ .ruff_cache/
50
+
51
+ # OS
52
+ .DS_Store
53
+ Thumbs.db
54
+
55
+ # Documentation
56
+ docs/_build/
57
+
58
+ # Built C library artifacts
59
+ pstrain/lib/_cffi/*.dylib
60
+ pstrain/lib/_cffi/*.so
61
+ pstrain/lib/_cffi/*.dll
62
+ build.log
63
+
64
+ # Testing data (do not commit)
65
+ # CMU Arctic downloads and extracted data
66
+ cmu_arctic/
67
+ cmu_us_*_arctic/
68
+ *.tar.bz2
69
+ /Volumes/hacks/lenzo/pstrain/projects/
70
+ .snakemake/
71
+
72
+ # Generated training data and models
73
+ audio/
74
+ shared/
75
+ experiments/
76
+ dist/
77
+ *.mfc
78
+ *.wav
79
+ /data/
80
+ benchmarks/timit/data/
81
+ benchmarks/timit/pilot/
82
+
83
+ # ...but committed test fixtures are not generated artifacts. Keep them.
84
+ # (These broad patterns over-reach — see plan 3.5; this negation is the
85
+ # minimal fix so the mini_arctic e2e corpus is tracked.)
86
+ !tests/fixtures/**
87
+ !tests/fixtures/mini_arctic/wav/*.wav
88
+ !pstrain/data/sample/*.wav
89
+ .claude
@@ -0,0 +1,63 @@
1
+ # Pre-commit hooks for pstrain
2
+ # Install: pip install pre-commit && pre-commit install
3
+
4
+ default_language_version:
5
+ python: python3.12
6
+
7
+ repos:
8
+ # Basic file checks
9
+ - repo: https://github.com/pre-commit/pre-commit-hooks
10
+ rev: v6.0.0
11
+ hooks:
12
+ - id: trailing-whitespace
13
+ exclude: ^(build/|\.eggs/)
14
+ - id: end-of-file-fixer
15
+ exclude: ^(build/|\.eggs/)
16
+ - id: check-yaml
17
+ - id: check-toml
18
+ - id: check-json
19
+ - id: check-added-large-files
20
+ args: ['--maxkb=1000']
21
+ exclude: \.(wav|mp3|flac|ogg)$
22
+ - id: check-merge-conflict
23
+ - id: check-case-conflict
24
+ - id: mixed-line-ending
25
+ args: ['--fix=lf']
26
+
27
+ # Python code quality - Ruff (fast linter and formatter)
28
+ - repo: https://github.com/astral-sh/ruff-pre-commit
29
+ rev: v0.15.20
30
+ hooks:
31
+ # Run the linter
32
+ - id: ruff
33
+ args: [--fix]
34
+ files: ^(pstrain|tests)/
35
+ exclude: ^(build/|csrc/libs/libsphinxbase/(fe|util)/.*\.py$)
36
+ # Run the formatter
37
+ - id: ruff-format
38
+ files: ^(pstrain|tests)/
39
+ exclude: ^(build/|csrc/libs/libsphinxbase/(fe|util)/.*\.py$)
40
+
41
+ # Type checking with mypy
42
+ - repo: https://github.com/pre-commit/mirrors-mypy
43
+ rev: v2.1.0
44
+ hooks:
45
+ - id: mypy
46
+ additional_dependencies: [pydantic==2.12.5, types-PyYAML==6.0.12.20250915, pytest==9.0.2]
47
+ exclude: ^(build/|\.eggs/|csrc/)
48
+ args: [pstrain, --ignore-missing-imports]
49
+ pass_filenames: false
50
+
51
+ # Exclude certain paths globally
52
+ exclude: |
53
+ (?x)^(
54
+ csrc/|
55
+ build/|
56
+ venv/|
57
+ \.eggs/|
58
+ \.git/|
59
+ \.mypy_cache/|
60
+ \.ruff_cache/|
61
+ __pycache__/|
62
+ \.pytest_cache/
63
+ )
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ Release-relevant changes are recorded here. The project is currently an alpha;
4
+ the version in `pyproject.toml` is authoritative.
5
+
6
+ ## 0.1.0 - Unreleased
7
+
8
+ - Imported the original pstrain/SphinxTrain-derived codebase (2026-07-03).
9
+ - Adopted the BSD 2-Clause license for new pstrain code while preserving the
10
+ notices and license terms of the CMU-derived C sources (2026-07-08).
11
+ - Added and pinned the reproducible CMU Arctic benchmark baseline and its
12
+ immutable corpus metadata (2026-08-11).
13
+ - Contained fatal native CFFI operations behind a reusable worker boundary and
14
+ completed the audited CFFI operation surface (2026-08-10 through 2026-08-11).