Text-to-Speech
Transformers
Safetensors
English
lfm2
text-generation

Logo

KaniTTS2-en

License

Text-to-Speech Model with Frame-level Position Encodings, optimized for Realtime Conversations

Overview

KaniTTS2 uses a two-stage pipeline combining a LLM with an FSQ audio codec.

Key Specifications:

  • Model Size: 400M parameters
  • Sample Rate: 22kHz
  • Languages: English

Audio Examples

Speaker Audio
🇺🇸 Frank from Boston
🇺🇸 Jermaine from Oakland
🏴󠁧󠁢󠁳󠁣󠁴󠁿 Rory from Glasgow
🏴󠁧󠁢󠁥󠁮󠁧󠁿 Baddy from Liverpool
🇺🇸 Chelsea from New York
🇺🇸 Andrew from San Francisco

Installation

pip install kani-tts-2
pip install -U "transformers==4.56.0"

Quickstart

from kani_tts import KaniTTS

# Initialize model
model = KaniTTS('repo/model')

# Generate speech
audio, text = model("Hello, world!")

# Save to file
model.save_audio(audio, "output.wav")

Voice Cloning

from kani_tts import KaniTTS, SpeakerEmbedder

# Initialize models
model = KaniTTS('repo/model')
embedder = SpeakerEmbedder()

# Extract speaker embedding from reference audio
speaker_embedding = embedder.embed_audio_file("reference_voice.wav")

# Generate speech with cloned voice
audio, text = model(
    "This is a cloned voice speaking!",
    speaker_emb=speaker_embedding
)
model.save_audio(audio, "cloned_voice.wav")

For more examples including language tags, generation parameters, and the full API reference, see the kani-tts-2 package.

Performance

Nvidia RTX 5080 Benchmarks:

  • RTF: ~0.2 (using custom executor)
  • Memory: 3GB GPU VRAM

Pretraining:

  • Dataset: ~10k hours
  • Hardware: 8x H100 GPUs, 6 hours training.

Use Cases

  • Conversational AI: Real-time speech for chatbots and virtual assistants
  • Research: Fine-tuning for specific voices, accents, or emotions

Limitations

  • Performance degrades with inputs exceeding ~40sec
  • May inherit biases from training data in prosody or pronunciation
  • Optimized primarily for English; other languages may require continual pretraining

Optimization Tips

  • Multilingual Performance: Continually pretrain on target language datasets and fine-tune NanoCodec
  • Batch Processing: Use batches of 8-16 for high-throughput scenarios
  • Hardware: Optimized for NVIDIA Blackwell architecture GPUs

Resources

Models: Pretrained Model, English Model

Github: kani-tts-2 package.

Pretraining Framework Train your own TTS model on your language or accent from scratch using this open-source pretraining framework: KaniTTS2-Pretrain.

Example Dataset: https://huggingface.co/datasets/nineninesix/kanitts2-es-nano-codec-speaker-emb-dataset

Links: Website, Discord

vLLM Integration

Coming soon.

Tech Report

Coming soon.

Acknowledgments

Built on top of LiquidAI LFM2 350M as the backbone and Nvidia NanoCodec for audio processing.

Training data provided by the LAION team through the Emilia and EmoNet-Voice datasets.

Speaker embeddings extracted using Orange/Speaker-wavLM-tbr.

Citation


@article{liquidai2025lfm2,
 title={LFM2 Technical Report},
 author={Liquid AI},
 journal={arXiv preprint arXiv:2511.23404},
 year={2025}
}

@inproceedings{emilialarge,
  author={He, Haorui and Shang, Zengqiang and Wang, Chaoren and Li, Xuyuan and Gu, Yicheng and Hua, Hua and Liu, Liwei and Yang, Chen and Li, Jiaqi and Shi, Peiyang and Wang, Yuancheng and Chen, Kai and Zhang, Pengyuan and Wu, Zhizheng},
  title={Emilia: A Large-Scale, Extensive, Multilingual, and Diverse Dataset for Speech Generation},
  booktitle={arXiv:2501.15907},
  year={2025}
}

@article{emonet_voice_2025,
  author={Schuhmann, Christoph and Kaczmarczyk, Robert and Rabby, Gollam and Friedrich, Felix and Kraus, Maurice and Nadi, Kourosh and Nguyen, Huu and Kersting, Kristian and Auer, Sören},
  title={EmoNet-Voice: A Fine-Grained, Expert-Verified Benchmark for Speech Emotion Detection},
  journal={arXiv preprint arXiv:2506.09827},
  year={2025}
}

@inproceedings{gengembre24_interspeech,
  title     = {Disentangling prosody and timbre embeddings via voice conversion},
  author    = {Nicolas Gengembre and Olivier {Le Blouch} and Cédric Gendrot},
  year      = {2024},
  booktitle = {Interspeech 2024},
  pages     = {2765--2769},
  doi       = {10.21437/Interspeech.2024-207},
  issn      = {2958-1796},
}

Responsible Use

Prohibited activities include:

  • Illegal content or harmful, threatening, defamatory, or obscene material
  • Hate speech, harassment, or incitement of violence
  • Generating false or misleading information
  • Impersonating individuals without consent
  • Malicious activities such as spamming, phishing, or fraud

By using this model, you agree to comply with these restrictions and all applicable laws.

If you use this code in your research, please cite:

@software{kani_tts_2,
  author = {Nineninesix},
  title = {KaniTTS2: Text-to-Speech Model with Frame-level Position Encoding},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://github.com/nineninesix-ai/kani-tts-2}},
  note = {Open-source TTS model}
}

Contact

Have a question, feedback, or need support? Please fill out our contact form and we'll get back to you as soon as possible.

Downloads last month
483
Safetensors
Model size
0.4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for nineninesix/kani-tts-2-en

Finetuned
(1)
this model
Quantizations
1 model

Dataset used to train nineninesix/kani-tts-2-en

Spaces using nineninesix/kani-tts-2-en 2

Papers for nineninesix/kani-tts-2-en