Skip to content

Define optional Japanese dictionary and default-off context-reading experiment #244

Closed

Description

@Lucas1479

Problem

Japanese speech needs optional English loanword readings and better native
contextual readings. PR #237 introduces two public settings and resource IDs;
their compatibility and acceptance contract must be explicit before merge.
The imported CSV has independently reproduced shifted readings, and tsqyomi v5
has residual context errors and substantial process-memory cost.

Proposed public contract

  • japanese-pronunciation: independently versioned optional CSV/provenance/license
    pack at assets/text/ja/english/. Official candidates admit only individually
    checked word/reading pairs. Unreviewed source rows remain local research data;
    source preservation does not authorize distribution. Native base-owned words
    retain base ownership. Keep whole-token boundaries and original source costs.
  • ENABLE_JAPANESE_USER_DICTIONARY: allow installed official/personal/legacy
    dictionaries by default, preserving the existing local behavior. Missing packs
    do not install anything; disabling uses the base dictionary.
  • japanese-context-reading: separate pinned local tsqyomi v5 model resource.
    It is a default-off experiment, with known context errors, not a default
    requirement or a generally validated Japanese reading solution.
  • ENABLE_JAPANESE_CONTEXT_READING: default false, independent from the CSV
    setting. Installing model files does not enable it. Explicit activation may
    add roughly 650–900 MiB process memory in corpus testing; usage varies.
  • No automatic model/CSV download; settings or resource changes require backend
    restart. Existing installer, native readiness and audio-cache identity contracts
    remain authoritative. Neither pack contains character voices or personal files.
  • Older applications without the catalog/loader are incompatible with these new
    IDs. Publish a compatible application before distributing optional resources.

Acceptance

  • Every retained official word/reading has an independent reviewed expectation,
    with all retained variants checked through production clean_text in context.
    Coverage-only lists cannot be described as correctness gates.
  • Preserve original full sentences/digits for native regression checks. Include
    the external peer-review/neutral-faction/ball-count/stop-Work cases; distinguish
    existing native segmentation defects from model regressions and masked inputs.
  • Report model memory, latency, known errors and default-off behavior in docs/UI.
    A failing experimental lexical gate remains a failing result, not an exception
    list added to runtime.
  • Keep CPU/model-less use supported; retain third-party source/license records.
  • Model/word data publication, human listening and independent maintainer review
    remain separate acceptance steps. feat(tts): add checked Japanese dictionary and default-off reading experiment #237 stays draft until those concerns resolve.

Scope and current work

Implementation/review: #237. The maintainer selected reviewed-only official
dictionary coverage, accepting a smaller pack. Unrelated HTTP dependency security
maintenance is isolated in #243. This issue records the proposed product contract;
it does not itself establish maintainer approval, completed listening or permission
to publish data/model archives.

Activity

  1. Lucas1479 commented on Nov 6, 2026

    @Lucas1479
    MemberAuthor

    Closing the design decision. #237 integrated the dictionary loader and the separate, default-off context-reading experiment. The final delivery policy in #254 and #258 supersedes the original optional-only dictionary proposal: v0.17.1-alpha.1 ships the full rc2 dictionary, preserves independently selected and personal dictionaries, and leaves the context-reading model separate and disabled by default. #260 records what was verified for that release.

    This closes the configuration and delivery decision. It does not certify every retained reading or accent, or mark the experimental model’s known reading errors as fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions