You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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