Backend API

The eSpeak adapter delegates discovery and execution to espeakng-runtime while retaining Piper-specific clause composition and phoneme policy. auto, native, and cli behavior and capability semantics are explained in the eSpeak guide.

NativeEspeakProvider and EspeakCliBackend are retained as compatibility wrappers for downstream users. Piper’s public Clause has three fields; runtime clause terminator codes are converted at the adapter boundary and are not exposed through that type.

.. py:class:: TextBackend() :module: piperg2p :canonical: piperg2p.backends.text.TextBackend

Bases: :py:class:object

Backend for voices whose phonemes are input codepoints.

.. py:property:: TextBackend.diagnostics :module: piperg2p :type: ~piperg2p.diagnostics.BackendDiagnostics

.. py:method:: TextBackend.phonemize(text: str, *, voice: str = ‘’) -> list[list[str]] :module: piperg2p

.. py:method:: TextBackend.close() -> None :module: piperg2p

Piper owns the public frontend boundary, NFD normalization, punctuation spacing, language-switch and joiner cleanup, vowel-cluster merging, raw blocks, and lexicon overlays. See diagnostics for stable reported fields.