Tags give the ability to mark specific points in history as being important
-
v0.17.0
f157302f · ·Two ASR models now return the phones that were spoken instead of words. - Two phoneme-recognition ASR slugs on the OpenAI-compatible transcription endpoint. Unlike the word-level models they carry no language model and no lexicon, so a mispronunciation surfaces as the phones that were said rather than being corrected to the nearest real word. Both return a space-separated IPA phone stream in `text`, one segment per file, and per-phone `words` with start/end times when timestamps are requested, so `verbose_json`, `srt`, `vtt` and `timestamp_granularities` behave as they do for the other ASR models. Both are in the CPU and CUDA images. - `wav2vec2-xlsr-53-espeak` (`facebook/wav2vec2-xlsr-53-espeak-cv-ft`, executor `wav2vec2_phoneme`) is a multilingual wav2vec2 CTC model that emits eSpeak IPA, the same phone alphabet the Kokoro G2P path uses. It adds no image dependency, `Wav2Vec2ForCTC` already ships with the bundled transformers. Audio past `TALKIES_VAD_CHUNK_THRESHOLD` is VAD-chunked before decoding. Weights are Apache-2.0. - `zipa-ipa` (`anyspeech/zipa-small-crctc-500k`, executor `sherpa_offline_ctc`) is a Zipformer IPA CTC model served through the sherpa-onnx runtime already in the images. It is a 71 MB int8 download and decodes a whole file in one pass at tens of times realtime on CPU. The weights repository carries no license tag; the checkpoint lineage is Apache-2.0, and the weights download at runtime rather than shipping in the image. - `sherpa_offline_ctc` is a new registry executor, a non-streaming `OfflineRecognizer` distinct from the streaming `sherpa` executor. It takes the same `sherpa_config` shape (`model`, `tokens`) and `download_patterns`.
-
v0.16.0
9b948e9a · ·Operators can now turn off the Chatterbox watermark. - `TALKIES_CHATTERBOX_WATERMARK` controls whether `chatterbox-turbo` embeds Resemble AI's PerTh neural watermark in the audio it generates. It accepts `true/false/1/0/yes/no`, defaults to `true`, and rejects any other value at startup. Unset and blank both keep the watermark on, so a stray empty value cannot silently strip it. - Setting it to false substitutes a passthrough watermarker after the model loads. `chatterbox-tts` calls `self.watermarker.apply_watermark` on every generation and that attribute is writable, so Talkies patches nothing upstream. The backend logs an info record when the watermark is off. - Of the three bundled TTS engines only Chatterbox watermarks. Kokoro and Qwen3-TTS embed nothing, so this one setting covers every watermark the images can produce. - `pyproject.toml` still declared `0.15.2` after the v0.15.3 tag, because that release staged documentation only. `make version` therefore printed a tag that was already published, and an image built from it would have collided with the existing one. The canonical version now moves with the tag again.
-
v0.15.3
8b88d9d1 · ·docker-talkies v0.15.3 — docs catch up with the chatterbox executor docs/models.md listed ten of the eleven executors in VALID_EXECUTORS, omitting chatterbox, and the agent skill still described the pre-Chatterbox TTS surface. Both now match the source, and the release script derives the check from config.py and models.json rather than trusting the prose. No code changed.
-
v0.15.2
96519b18 · ·v0.15.2: pin setuptools<81 so the chatterbox watermarker loads chatterbox-turbo died with "TypeError: 'NoneType' object is not callable" at model load. resemble-perth 1.0.1 needs pkg_resources, which setuptools dropped in 81; the CUDA lock had resolved setuptools transitively to 82.0.1. Upstream swallows the ImportError and leaves PerthImplicitWatermarker as None, so the failure surfaced only on the first synthesis request. scripts/heavy-deps-cuda.in now constrains setuptools<81 (lock resolves 80.10.2, no other package moved), and Dockerfile.cuda asserts the watermarker is constructible at build time so this fails the build rather than a request. See CHANGELOG.md for the full entry.
-
v0.15.1
8034427c · ·v0.15.1: register the chatterbox executor Hotfix for v0.15.0, whose CUDA image exited during import because VALID_EXECUTORS in src/talkies/config.py did not contain "chatterbox" while models.json declared it. load_registry() runs at server import, so the whole process died rather than one model failing. Adds a shipped-registry contract test over models.json and models-cpu.json so any future executor added to a registry without a matching allowlist entry fails in CI instead of at container start. See CHANGELOG.md for the full entry.
-
v0.15.0
d46b9b70 · ·v0.15.0: Chatterbox Turbo expressive TTS Third TTS engine in the CUDA registry. English, 24 kHz mono, 19 inline paralinguistic tags written directly in the input text, and transcript-free voice cloning from a reference .wav longer than 5 seconds. Voices come from /data/custom-voices plus a builtin speaker shipped inside the checkpoint. Output carries a neural watermark applied by the upstream package. chatterbox-tts and s3tokenizer install hash-pinned and --no-deps from requirements-chatterbox.txt, keeping their unsatisfiable pins and development tooling out of the runtime image. See CHANGELOG.md for the full entry.
-
-
v0.14.0
0ed5e7f8 · ·Talkies 0.14.0: per-model inference concurrency, CUDA parakeet.cpp, and complete unload cleanup
-
v0.13.3
8bfec56d · ·v0.13.3 — Sherpa word output fixes (words never returned, subword fragments, batch duplication) + per-word confidence
-
-
-
-
-
-
-
-
-
-
-