- 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.
SetORT_DISABLE_TELEMETRY=0to opt back in - Add
script/check_voices, which fails if the bundledvoices.jsondiffers
from the upstream piper-voices copy, and run it on pull requests.
script/check_voices --updaterefreshes 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 viapip install '.[ja]'orscript/setup --ja - Stop advertising voices whose phonemizer is not installed. Japanese and Thai
need thejaandthextras, 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 thephoneme_typein their config, which also coverspinyin. Chinese
cannot be filtered by language, sincezh_CN-huayan-*are espeak voices that
work without thezhextra. A--voicethat cannot be phonemized is now an
error at startup rather than silence on the first request - Add
requeststo thethextra. tltk imports it from its package
__init__without declaring it, sopip install 'wyoming-piper[th]'
produced an install where every Thai synthesis failed with
ModuleNotFoundError: No module named 'requests' - Download voices and
voices.jsonthrough a.partfile 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 WyomingErrorevent, clients were told the wrong thing. A missing
phonemizer now reports itself