Files
spark-pocket-tts/CONTRIBUTING.md
T

1.6 KiB

Contributing to Kyutai Pocket TTS

We welcome contributions from the community!

We recommend using uv to work on this project. While you can use pip too, uv is less error-prone and faster. The instructions below assume you are using uv.

Installing the pre-commit

uvx pre-commit install

This will handle file formatting and linting.

If you want to manually run the pre-commit hooks on all files, use:

uvx pre-commit run --all-files

Running tests

uv run pytest -n 3 -v

This will run the test suite with 3 parallel workers.

Running the CLI locally

You can run the CLI commands with:

uv run pocket-tts generate

Coding agents

We use AGENTS.md to manage the coding agents context. If your coding agent does not supports reading from this file directly, you can just use a symlink. The most common ones are already added in the .gitignore file.

ln -s AGENTS.md CLAUDE.md
# or
ln -s AGENTS.md QWEN.md

How does this model work?

Here is a high-level overview of the architecture:

Architecture Diagram

Overall the model has four main components:

  • The mimi vae encoder, to encode the audio prompts into a latent representation.
  • The text "encoder" which is just a simple tokenizer + embedding layer.
  • The calm model (flow_lm in the codebase) to generate autoregegressive the audio latents.
  • The mimi vae decoder to decode the audio latents into waveform.

Note that two threads run in parallel in the current implementation:

  • One with the calm model generating the latents.
  • One with the mimi vae decoder decoding the latents into audio.