NOTE: This project is vibe-coded.
This is a standalone Bazel project that uses ZML as an external dependency to run the Pocket TTS model.
- Bazel - see the ZML repo
- uv for weights conversion
To build:
bazel build //:pocket-ttsYou need to download a specific language and voice, e.g.:
./download_weights.py --language english --voice alba
./download_weights.py --language french_24l --voice estelleTo convert text to speech:
"$(bazel info bazel-bin)/pocket-tts" generate \
--text "Hello world, this is Pocket TTS from Kyutai on ZML." \
--voice alba --output-path out/hello_alba.wavNote that you cannot use bazel run directly, it will not find the weights.
You can also use a different language and voice e.g.:
./download_weights.py --language french_24l --voice estelle
"$(bazel info bazel-bin)/pocket-tts" generate \
--text "Bonjour, je suis Pocket TTS de Kyutai qui tourne dans ZML." \
--voice estelle --output-path out/hello_estelle.wavThis project is a toy. It is completely vibe-coded. It has only been tested on CPU.