* Fix voice cache crash when server runs with custom --model-path (#13)
When started with --model-path "<full file path>", the file path was used
verbatim as a filename tag, producing targets like
voice_cache/Aadi.C:\...\english.yaml.safetensors — invalid on Windows.
safetensors raises SafetensorError (not OSError) on the resulting I/O
failure, so the existing handler let it propagate and broke voice loading.
Reduce path-like model identifiers to their filesystem-safe stem in
active_model_tag, and broaden the cache-write handler so any future
serialization failure stays best-effort.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Bump version to 2.5.4
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Apply ruff format
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Address Copilot review on PR #14
- Strip dots from path-derived model tags. Otherwise a config like
english.v2.yaml would yield tag "english.v2", …
Runtime model switching, per-model voice caching, thread-safety fix (#12)
* test: add pytest harness for TTS server tests
* feat(config): add supported languages, aliases, cache dir
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(voice-cache): add per-model voice path resolution
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(voice-cache): add stem listing and mtime staleness
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tts): track active model state with boot snapshot
Add _lock, _loading, _active, _boot_active to TTSService.__init__,
rewrite load_model to record active model state and snapshot boot config.
Change voice_cache type from dict to OrderedDict.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tts): wire per-model cache dir and voice resolution
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tts): add reload_model with rollback-on-failure
Add TTSService.reload_model(language, quantize) with mutual-exclusion
guard (_loading flag), boot-source check, …
bump version
teddybear082
147e805
add proper opus support
teddybear082
3ab3c26
Openai compatible requires opus output as one of the formats which was not working before, create fixes through server and webui to support opus output
bump version
teddybear082
67dd04d
upgrade pocket-tts to 2.0.0
teddybear082
37f4354
-update to pocket-tts multilingual
-add parameters for server for language and quantize
-add .sh file for linux users
Add text preprocessing
teddybear082
a05aaa6
-Add English text preprocessing to make audio more likely to be read correctly as TTS by model
-Enable command line and environment variables for text preprocessing
-Fix streaming and text preprocessing not disabling correctly via bat file options
bump version
teddybear082
871e190
rename voices, implement better UI to search voices (#4)
* rename voices, implement better UI to search voices
* add output format param to UI, clarify when streaming is (not) available
* fixes #2 docker: ensure non-root user owns /app dir to preventing permission errors
Fix response_format by disabling streaming for non-PCM/WAV (#3)
* Fix response_format by disabling streaming for non-PCM/WAV
Ensures response_format is honored by disabling streaming when a non-PCM/WAV format (e.g., MP3) is requested. Prevents STREAM_DEFAULT or stream: true from returning raw PCM with an MP3 Content-Type. Adds a warning log when streaming is requested for unsupported formats and falls back to a full file response.
* bump version
* remove duplicate line