--- license: cc-by-4.0 datasets: - speechcolab/gigaspeech - parler-tts/mls_eng_10k - reach-vb/jenny_tts_dataset - MikhailT/hifi-tts - ylacombe/expresso - keithito/lj_speech - collabora/ai4bharat-shrutilipi language: - en - hi base_model: - openai-community/gpt2 pipeline_tag: text-to-speech --- # Model Card for indri-0.1-125m-tts Indri is a series of audio models that can do TTS, ASR, and audio continuation. This is the smallest model (125M) in our series and supports TTS tasks in 2 languages: 1. English 2. Hindi We have open-sourced our training scripts, inference, and other details. - **Repository:** [GitHub](https://github.com/cmeraki/indri) - **Demo:** [Website](https://www.indrivoice.ai/) - **Implementation details**: [Release Blog](#TODO) ## Model Details ### Model Description `indri-0.1-125m-tts` is a novel, ultra-small, and lightweight TTS model based on the transformer architecture. It models audio as tokens and can generate high-quality audio with consistent style cloning of the speaker. ### Key features 1. Based on GPT-2 architecture. The methodology can be extended to any transformer-based architecture. 2. Supports voice cloning with small prompts (<5s). 3. Code mixing text input in 2 languages - English and Hindi. 4. Ultra-fast. Can generate 5 seconds of audio per second on Amphere generation NVIDIA GPUs, and up to 10 seconds of audio per second on Ada generation NVIDIA GPUs. ### Details 1. Model Type: GPT-2 based language model 2. Size: 125M parameters 3. Language Support: English, Hindi 4. License: CC BY 4.0 ## Technical details Here's a brief of how the model works: 1. Converts input text into tokens 2. Runs autoregressive decoding on GPT-2 based transformer model and generates audio tokens 3. Decodes audio tokens (from [Kyutai/mimi](https://huggingface.co/kyutai/mimi)) to audio Please read our blog [here](#TODO) for more technical details on how it was built. ## How to Get Started with the Model Use the code below to get started with the model. Pipelines are the best way to get started with the model. ```python import torch import torchaudio from transformers import pipeline task = 'indri-tts' model_id = '11mlabs/indri-0.1-125m-tts' pipe = pipeline( task, model=model_id, device=torch.device('cuda:0'), # Update this based on your hardware, trust_remote_code=True ) output = pipe(['Hi, my name is Indri and I like to talk.']) torchaudio.save('output.wav', output[0]['audio'][0], sample_rate=24000) ``` ## Credits 1. [Kyutai/mimi](https://huggingface.co/kyutai/mimi) 2. [nanoGPT](https://github.com/karpathy/nanoGPT) ## Citation To cite our work ``` @misc{indri-0.1-125m-tts, author = {11mlabs}, title = {indri-0.1-125m-tts}, year = 2024, publisher = {Hugging Face}, journal = {GitHub Repository}, howpublished = {\url{https://github.com/cmeraki/indri}}, } ```