ipa-to-mespeak is a standalone compiler/runtime project for converting
documented IPA inputs into eSpeak/meSpeak phoneme strings.
The project goal is a small Rust runtime exposed to Python through PyO3 and maturin. Rule authoring stays source-backed and Unicode-first; generated runtime tables do the fast deterministic scan.
This repository owns:
- frozen local copies of the eSpeak/meSpeak support sources used as evidence
- documented IPA-to-meSpeak rule files
- rule validation and source-reference validation
- generation of compact Rust scanner tables
- a Python-importable native module built with PyO3 and maturin
This repository does not own consumer-product routing decisions, UI behavior, audio recording policy, or application-specific language tagging.
The same generated Rust scanner can be shipped in either integration mode:
- Python extension: build with maturin and import
ipa_to_mespeak.synthesizeoripa_to_mespeak.synthesize_batch. - Raw Rust executable: build with Cargo and call
target/release/ipa-to-mespeak <voice> <ipa>.
The Python extension is the preferred server integration path because it avoids spawning a process per request. The executable is useful for probes, shell pipelines, and systems that need a standalone binary interface.
The authoritative validation and table-generation command chain is documented
in docs/design.md.
Install the Python extension locally and run tests:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install maturin pytest
python3 -m maturin develop
python3 -m pytest
cargo testBuild only the raw Rust executable:
cargo build --release --bin ipa-to-mespeak
target/release/ipa-to-mespeak en-auto /ˈnɪɹdɛɹi/ARTIFACTS/ contains historical buildout, validation, coverage, performance,
and agent-workflow records. It is retained for auditability and is not required
at runtime.
docs/source_of_truth.md: staged sources and evidence handling.docs/rule_authoring.md: direct and bridged rule evidence models.docs/language_support_profile.md: supported-entry coverage, rule counts, rule complexity, and runtime/test metrics by language.docs/reports/source_catalog_report.pdf: source catalog and source-authority facts. LaTeX source lives underdocs/reports/latex/.docs/reports/rule_index_by_language_addendum.pdf: script-generated rule index by language. LaTeX source lives underdocs/reports/latex/.docs/reports/rule_index_by_source_addendum.pdf: script-generated rule index by source. LaTeX source lives underdocs/reports/latex/.docs/reports/validation_meta_audit_report.pdf: validation-harness audit report. LaTeX source lives underdocs/reports/latex/.docs/reports/project_methods_report.pdf: project-methods report based on repo artifacts. LaTeX source lives underdocs/reports/latex/.