Configuration Reference
All configuration parameters for pstrain.
alignment
alignment.beam- Type:
float- Default:
1e-64- Description:
Viterbi pruning beam
alignment.failed_alignment- Type:
recover | abort | omit- Default:
'recover'- Description:
Forced-alignment failure policy:
recoverretries final-state failures at eachretry_beam_factorin turn;abortandomitdo not retry
alignment.retry_acceptance_target- Type:
float | None- Default:
0.05- Description:
Fraction of this run’s normal first-pass alignments that the retry acceptance check would reject, used to calibrate its threshold at each retry beam; a retry-recovered alignment scoring below that threshold is treated as not recovered. null accepts retries unchecked. First-pass alignments are never checked
alignment.retry_beam_factor- Type:
float | list[float]- Default:
1e+136- Description:
Factor that widens the beam for one retry after an utterance fails to reach its final state, where values at or below 1 disable the retry; or an ascending list of factors, each greater than 1 and relative to the nominal beam, tried in order until one succeeds. The default retries once at 1e-200 on the default beam. Retry-recovered alignments must pass the acceptance check (
retry_acceptance_target)
alignment.verbatim_tokens- Type:
bool- Default:
False- Description:
Honor explicit pronunciation tokens such as WORD(2) exactly during forced alignment, matching PocketSphinx token handling. When false, suffixes collapse to the base word and the vendored aligner considers its alternatives. This does not alter training
description
description- Type:
str- Default:
''- Description:
Human-readable profile purpose
features
features.agc- Type:
str- Default:
'none'- Description:
Automatic gain-control mode
features.alpha- Type:
float- Default:
0.97- Description:
Pre-emphasis coefficient
features.cmn- Type:
str- Default:
'batch'- Description:
Cepstral mean-normalization mode
features.cmninit- Type:
str- Default:
'40,3,-1'- Description:
Initial cepstral mean vector for live CMN
features.dither- Type:
bool- Default:
True- Description:
Add half-bit dither to input audio
features.feat_type- Type:
str- Default:
'1s_c_d_dd'- Description:
Sphinx feature stream type
features.frate- Type:
int- Default:
100- Description:
Feature frame rate in Hz
features.lifter- Type:
int- Default:
22- Description:
Cepstral lifter window
features.lowerf- Type:
float- Default:
130.0- Description:
Lower filter-bank frequency in Hz
features.ncep- Type:
int- Default:
13- Description:
Number of cepstral coefficients
features.nfft- Type:
int- Default:
512- Description:
FFT size
features.nfilt- Type:
int- Default:
25- Description:
Number of mel filters
features.remove_dc- Type:
bool- Default:
True- Description:
Remove DC offset from each frame
features.remove_noise- Type:
bool- Default:
True- Description:
Remove noise with spectral subtraction
features.samprate- Type:
int- Default:
16000- Description:
Audio sample rate in Hz
features.seed- Type:
int- Default:
-1- Description:
Seed for deterministic input dithering
features.transform- Type:
str- Default:
'dct'- Description:
Filter-bank transform
features.upperf- Type:
float- Default:
6800.0- Description:
Upper filter-bank frequency in Hz
features.varnorm- Type:
str- Default:
'no'- Description:
Cepstral variance-normalization mode
features.wlen- Type:
float- Default:
0.025625- Description:
Analysis window length in seconds
runner
runner.jobs- Type:
int | None- Default:
None- Description:
Parallel workers; null means auto
runner.nice- Type:
int- Default:
5- Description:
Worker niceness increment
split
split.seed- Type:
int- Default:
42- Description:
Deterministic split seed
split.test_count- Type:
int | None- Default:
None- Description:
Fixed test utterance count; zero disables an additional holdout
split.train_ratio- Type:
float | None- Default:
None- Description:
Training fraction
training
training.a_beam- Type:
float- Default:
1e-90- Description:
Forward alignment beam
training.accept_arctic_a0587_known_skip- Type:
bool- Default:
False- Description:
Deprecated for live profiles: retained solely for the Arctic pin’s retired off-profile provenance; live benchmark cells run exception-free
training.arctic_a0302_zero_codebook_band- Type:
tuple[int, int] | None- Default:
None- Description:
Accepted inclusive exact-zero codebook occupancy band for the singular Arctic a0302 terminal-alignment exception
training.b_beam- Type:
float- Default:
1e-10- Description:
Backward alignment beam
training.bw_checkpoint_iterations- Type:
bool- Default:
False- Description:
Retain the compact model files from every completed Baum-Welch pass under
iterations/NN; costs roughly one additional model copy per pass and does not retain the much larger.bw-accumshard accumulators or change which checkpoint is loaded by training. The deprecatedPSTRAIN_BW_CHECKPOINTS=1environment variable can also enable retention, but cannot disable a true profile setting
training.ci.convergence_ratio- Type:
float- Default:
0.001- Description:
Converge after min_iterations when the finite per-frame log-likelihood increase is between zero and this many nats, inclusive. Negative or nonfinite changes do not indicate convergence. Despite the name – kept because SphinxTrain’s $CFG_CONVERGENCE_RATIO is the same signed per-frame delta – this is an absolute difference, not a ratio. At the default, corpora of Arctic’s size run all ten passes in every schedule, which is the more accurate outcome as measured; treat max_iterations as the operative control. The sphinxtrain profile carries SphinxTrain’s own 0.1
training.ci.max_iterations- Type:
int- Default:
10- Description:
Maximum training passes
training.ci.min_iterations- Type:
int- Default:
1- Description:
Minimum training passes
training.exclusion_schedule- Type:
dict- Default:
{}- Description:
Experimental stage/pass utterance exclusions
training.failed_alignment- Type:
recover | abort | omit- Default:
'recover'- Description:
Action when an utterance fails to reach its final state:
recoverruns the wider-beam retries inretry_beam_factorand, if they all fail, reports the utterance and continues without it;abortfails the run on the first failure; andomitreports and excludes it without retrying. Skips are counted either way, andmax_skip_fractionstill fails the run when they stop being incidental
training.max_skip_fraction- Type:
float- Default:
0.05- Description:
Maximum skipped-update fraction
training.multipron_training- Type:
bool- Default:
True- Description:
Sum posteriors over pronunciation variants; when disabled without an explicit inventory policy, untied inventory resolves to upstream-compatible
linear
training.n_senones- Type:
int- Default:
200- Description:
Target tied-state count
training.n_state- Type:
int- Default:
3- Description:
Emitting states per HMM
training.optional_final_silence- Type:
bool- Default:
True- Description:
Permit final transcript silence to consume zero frames; stock SphinxTrain requires that silence to consume at least one frame
training.question_niter- Type:
int- Default:
1- Description:
Question generation iterations
training.question_npermute- Type:
int- Default:
12- Description:
Question permutations
training.question_quests_per_state- Type:
int- Default:
20- Description:
Questions generated per state
training.retry_beam_factor- Type:
float | list[float]- Default:
10000000000.0- Description:
Factor that widens the forward beam for one retry after an utterance fails to reach its final state, or an ascending list of factors, each greater than 1 and relative to the nominal beam, tried in order until one succeeds; a retry is counted only when that attempt runs
training.skip_state- Type:
bool- Default:
False- Description:
Enable SphinxTrain’s $CFG_SKIPSTATE topology, adding an arc from each eligible emitting state to the state two positions ahead so a phone can be realized with fewer frames than states. SphinxTrain writes raw 3/1/1 weights and normalizes them on read; pstrain writes the behaviorally equivalent normalized values
training.split_variance_floor_fraction- Type:
float- Default:
0.0- Description:
Experimental variance lower bound for split training stages, as a fraction of each matching coordinate in the fixed CI-1g or CD-1g variance reference. Zero disables regularization. The reference never advances with later splits; zero reference coordinates contribute no positive floor. Select a nonzero fraction explicitly after evaluation; no universal nonzero value is assumed
training.tied.convergence_ratio- Type:
float- Default:
0.001- Description:
Converge after min_iterations when the finite per-frame log-likelihood increase is between zero and this many nats, inclusive. Negative or nonfinite changes do not indicate convergence. Despite the name – kept because SphinxTrain’s $CFG_CONVERGENCE_RATIO is the same signed per-frame delta – this is an absolute difference, not a ratio. At the default, corpora of Arctic’s size run all ten passes in every schedule, which is the more accurate outcome as measured; treat max_iterations as the operative control. The sphinxtrain profile carries SphinxTrain’s own 0.1
training.tied.max_iterations- Type:
int- Default:
10- Description:
Maximum training passes
training.tied.min_iterations- Type:
int- Default:
1- Description:
Minimum training passes
training.tree_csplitmax- Type:
int- Default:
2000- Description:
Maximum phone-context splits
training.tree_csplitthr- Type:
float- Default:
0.0- Description:
Phone-context split threshold
training.tree_directional_questions- Type:
bool- Default:
True- Description:
Honor _L/_R tree-question suffixes; disable only for isolation measurements
training.tree_intermediate_dumps- Type:
bool- Default:
False- Description:
Dump intermediate decision trees to worker diagnostics
training.tree_mwfloor- Type:
float- Default:
1e-08- Description:
Tree mixture-weight floor
training.tree_rotate_state_weights- Type:
bool- Default:
True- Description:
Apply target-relative tree state weights; disable only for isolation measurements
training.tree_ssplitmax- Type:
int- Default:
7- Description:
Maximum state splits
training.tree_ssplitthr- Type:
float- Default:
0.0- Description:
State split threshold
training.tree_state_weights- Type:
tuple- Default:
(1.0, 0.05, 0.0)- Description:
Decision-tree state weights
training.untied.convergence_ratio- Type:
float- Default:
0.001- Description:
Converge after min_iterations when the finite per-frame log-likelihood increase is between zero and this many nats, inclusive. Negative or nonfinite changes do not indicate convergence. Despite the name – kept because SphinxTrain’s $CFG_CONVERGENCE_RATIO is the same signed per-frame delta – this is an absolute difference, not a ratio. At the default, corpora of Arctic’s size run all ten passes in every schedule, which is the more accurate outcome as measured; treat max_iterations as the operative control. The sphinxtrain profile carries SphinxTrain’s own 0.1
training.untied.max_iterations- Type:
int- Default:
10- Description:
Maximum training passes
training.untied.min_iterations- Type:
int- Default:
1- Description:
Minimum training passes
training.untied_inventory- Type:
all-triphone | transcript-reachable | linear- Default:
'transcript-reachable'- Description:
Untied-model phone inventory policy:
transcript-reachableincludes contexts reachable through every pronunciation when multipron training is enabled; upstream-compatiblelinearincludes contexts observed through each transcript word’s first pronunciation;all-triphoneincludes the complete phoneset cross-product