github OHF-Voice/wyoming-piper v2.5.1

5 hours ago
  • Disable ONNX Runtime telemetry (ORT_DISABLE_TELEMETRY=1). 1.29.0 turned it
    on for Linux and macOS, so piper was uploading trace events to Microsoft.
    Set ORT_DISABLE_TELEMETRY=0 to opt back in
  • Add script/check_voices, which fails if the bundled voices.json differs
    from the upstream piper-voices copy, and run it on pull requests.
    script/check_voices --update refreshes the bundled file
  • Update voices.json: 13 new voices, 11 updated
  • Remove ja (OpenJTalk) from the Docker images for now. The extra is still
    available via pip install '.[ja]' or script/setup --ja
  • Stop advertising voices whose phonemizer is not installed. Japanese and Thai
    need the ja and th extras, but the whole catalog was advertised
    regardless, so a client offered those voices and every request came back as
    an empty audio stream. Catalog voices are filtered by language; custom voices
    by the phoneme_type in their config, which also covers pinyin. Chinese
    cannot be filtered by language, since zh_CN-huayan-* are espeak voices that
    work without the zh extra. A --voice that cannot be phonemized is now an
    error at startup rather than silence on the first request
  • Add requests to the th extra. tltk imports it from its package
    __init__ without declaring it, so pip install 'wyoming-piper[th]'
    produced an install where every Thai synthesis failed with
    ModuleNotFoundError: No module named 'requests'
  • Download voices and voices.json through a .part file and an atomic
    rename. An interrupted transfer used to leave a truncated file in place, and
    since a voice is only re-downloaded when its file is missing or empty (sizes
    and hashes are deliberately not checked), it was never retried -- the voice
    stayed broken, or the catalog stayed unparseable, until the file was deleted
    by hand
  • Fix a failed synthesis reporting the wrong error. Closing the wave writer
    before any audio was written raises # channels not specified, which
    replaced the original exception -- and since that exception is what becomes
    the Wyoming Error event, clients were told the wrong thing. A missing
    phonemizer now reports itself

Don't miss a new wyoming-piper release

NewReleases is sending notifications on new releases.