Skip to content

Repository files navigation

IPA to meSpeak

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.

Scope

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.

Integration Modes

The same generated Rust scanner can be shipped in either integration mode:

  • Python extension: build with maturin and import ipa_to_mespeak.synthesize or ipa_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.

Build

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 test

Build 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.

Documentation

  • 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 under docs/reports/latex/.
  • docs/reports/rule_index_by_language_addendum.pdf: script-generated rule index by language. LaTeX source lives under docs/reports/latex/.
  • docs/reports/rule_index_by_source_addendum.pdf: script-generated rule index by source. LaTeX source lives under docs/reports/latex/.
  • docs/reports/validation_meta_audit_report.pdf: validation-harness audit report. LaTeX source lives under docs/reports/latex/.
  • docs/reports/project_methods_report.pdf: project-methods report based on repo artifacts. LaTeX source lives under docs/reports/latex/.

About

Source-backed IPA to meSpeak compiler/runtime

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages