Skip to content

v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Oct 02:56
· 13 commits to main since this release

What's Changed

  • macOS: GGML is no longer bundled in the release package — download it from a llama.cpp release just like on other platforms. Metal PAD beg-padding support is now upstream (ggml-org/ggml#29561), so the local patch and GGML pin are gone. Metal builds require a llama.cpp release built from 2026-09-28 or later.
  • CLI/Server: add --strict-seed (on by default) to guarantee identical audio for the same seed, --diffusion-steps to override the DiT step count (≤ 50), --simd-level / COSYVOICE_SIMD_LEVEL env var to cap the runtime SIMD tier without a rebuild, and --dit-kv-actual-{fixed,offloadable}-slots to shrink the DiT KV cache by grouping adjacent steps onto shared physical slots.
  • WebUI: add a stop button for in-flight TTS requests, plus fields for the new options above.
  • CLI: add --list-backends to show which GGML backends are actually loaded from the current directory.
  • LLM: faster prefill via a fused logits path.
  • Change: default inference buffer policy switched from balanced to dedicated; the UMA auto-switch is removed (UMA is still detected and reported, but no longer silently overrides your choice).

Full Changelog: 1616b12...67d45fe

Release Packages

These packages only include the core cosyvoice binaries and tools, plus ONNX Runtime.
GGML, ICU, and (for FFmpeg backend) FFmpeg are not included.

To use cosyvoice, you need to download the matching backend libraries separately:

  • GGML:
    Download from llama.cpp releases and extract all GGML libraries (ggml*.dll / libggml*.so* / libggml*.dylib, including the CPU variant modules such as ggml-cpu-<isa>.dll). Place them in the same directory as the cosyvoice binaries. Backends are discovered at runtime from that directory, so omitting the CPU variants leaves the binaries without a CPU backend.
    On macOS, use cp -a (or extract the archive) so the versioned dylib symlink chain stays intact.

    macOS Metal: requires a llama.cpp release built from 2026-09-28 or later — the Metal GGML_OP_PAD beg-padding support landed upstream in ggml-org/llama.cpp#29561. Older GGML will abort inference at runtime.

    Sanity check: run cosyvoice-cli --list-backends — it prints the backends that were actually loaded, and the names shown are exactly what --backend accepts.

  • ICU:
    Required unless using a "No ICU" build.
    On Linux/macOS: install via your package manager.
    On Windows: Download ICU.

  • FFmpeg:
    Required only for FFmpeg backend builds (not needed for miniaudio).
    On Linux/macOS: install via your package manager.
    On Windows: Download FFmpeg
    For Windows, use stable n8.1 builds, e.g.
    ffmpeg-n8.1-latest-win64-lgpl-shared-8.1.zip.

Windows

Windows x64 (FFmpeg)
Windows x64 (miniaudio)
Windows x64 (miniaudio, No ICU)
Windows x64 (No Frontend, No Audio, No ICU)

Linux

Ubuntu x86_64 (FFmpeg)
Ubuntu x86_64 (miniaudio)
Ubuntu x86_64 (miniaudio, No ICU)
Ubuntu x86_64 (No Frontend, No Audio, No ICU)

macOS

macOS arm64 (FFmpeg)
macOS arm64 (miniaudio)
macOS arm64 (miniaudio, No ICU)
macOS arm64 (No Frontend, No Audio, No ICU)

Notes

  • macOS Metal: GGML is no longer bundled. Make sure the llama.cpp release you drop in is built from 2026-09-28 or later; older GGML will abort inference on Metal.
  • Behavior change: the default --inference-buffer-policy is now dedicated (was balanced). Pass --inference-buffer-policy balanced to opt back in. UMA detection is still reported at startup but no longer auto-switches the policy.
  • Linux/macOS: Install ICU and FFmpeg (if needed) from your system package manager.
  • Windows: Download ICU from unicode-org/icu releases.
  • FFmpeg can be downloaded from: https://github.com/BtbN/FFmpeg-Builds/releases
  • For FFmpeg on Windows, use the stable n8.1 builds, for example:
    https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n8.1-latest-win64-lgpl-shared-8.1.zip
  • Known issue with pre-built GGML CUDA backend (#15): Some users have reported noise in generated audio when using pre-built GGML binaries from llama.cpp releases with the CUDA backend. Testing confirmed this issue with pre-compiled GGML CUDA builds, while self-compiled GGML from source did not exhibit the problem. If you encounter noise when using the CUDA backend with pre-built GGML, we recommend building both this project and GGML from source as a workaround. Refer to the Build section for instructions. Alternatively, if building from source is not desirable, use the Vulkan backend — it works with the pre-built GGML releases out of the box.