Skip to content

ADR-v2-032 — Spoken Math → LaTeX

Status: Accepted (2026-07-02) · Wave E Context links: [[adr-v2-031-spoken-code-mode]], [[adr-011]]

Context

The Wave E research (#3) proposes dictating math and injecting LaTeX ("x squared plus y squared" → x^{2} + y^{2}) — for STEM writing and blind/low-vision mathematicians. Anchors: MathSpeech (AAAI 2025, arXiv 2412.15655), Speech-to-LaTeX (ICLR 2026, arXiv 2508.03542). General dictation and LLM cleanup mangle notation; this is a distinct target grammar.

Decision

Add an opt-in Spoken Math Mode: [math] enabled=false. The pure core spoken_to_latex(text) handles the common vocabulary and patterns — greek letters, operators (times\times, plus/minus), functions/symbols (integral\int, sum\sum, infinity\infty), and templates (<t> squared<t>^{2}, square root of <t>\sqrt{<t>}, <a> to the <b><a>^{<b>}). Arbitrary nested expressions are out of scope for the pure core and route to a deferred MathSpeech-style small seq2seq (T5-small int8) behind a mathspeech extra. OFF by default; activatable via a dedicated command key.

Consequences

  • Covers the common cases with zero ML; the hard/nested cases stay behind an opt-in model.
  • Pure transform → fully testable; on-device only (ADR-011).
  • Caveat: the pure grammar is intentionally limited (honest scoping) → complex expressions need the deferred model; off by default.