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:
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_lmin 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.
