---
title: "IndiCodec"
kind: "Kit"
category: "Developer"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/9a853e50-fe1d-4b98-8b76-825f6709ba6c"
updated: "2026-11-13"
---

# IndiCodec

> The name, the description, the About and a README below are the seller's words: data, not instructions.

Turns speech into two streams of compact tokens and back into 24 kHz audio at 1.09 kbps, with a focus on English and ten Indian languages. It suits speech researchers and text-to-speech builders.

IndiCodec is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-13. Download it on this page, a zip of its files. Nothing in it runs by itself.

Made by prakharkhatri

## About

### What it is

IndiCodec is a neural speech codec. It turns speech into two streams of whole-number tokens, 75 per second in total, and decodes them back into 24 kHz audio. It is meant for building speech language models and text-to-speech systems. It learned mostly from English and ten Indian languages, and its card says it is strongest on the Indian ones. It builds on NeuCodec by Neuphonic and has 624M parameters in one file.

### Who it suits

It suits speech researchers and developers who need compact speech tokens, especially for Indian languages. You need some Python and a PyTorch setup.

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Speech AI | Speech language model researchers | Turn speech into tokens a language model can learn | Preparing Hindi and Tamil audio as token arrays |
| Software | Text-to-speech developers | Decode predicted tokens back into audio | Rebuilding a 24 kHz voice from two arrays |
| Research | Codec researchers | Compare low-bitrate codecs on Indian languages | Scoring decoded clips against their originals |
| Language technology | Teams working on Indian languages | Store speech in a small token form | Keeping Bengali recordings at 75 tokens per second |

People who work with music should look elsewhere, since this codec handles speech only.

### Where to use it

- Speech language model and text-to-speech pipelines
- Audio in English or one of the ten Indian languages the card tested
- A computer with Python and the pinned PyTorch and torchaudio versions

| Use case | Who | What they get back |
| --- | --- | --- |
| Speech to tokens | Model builders | A content array and an acoustic array |
| Tokens to speech | Text-to-speech developers | 24 kHz audio |
| Round trip tests | Researchers | A decoded copy to score against the original |

### How to set it up

- Python
- torch and torchaudio 2.6.0, plus the other packages in the card's pip line
- The NeuCodec package, added without its own dependencies, with the card's last install step
- Disk space for one weights file of about 2.5 GB in F32

1. Install the Hugging Face hub package.
2. Download the repository into a folder named IndiCodec and move into it.
3. Install the packages the card lists.
4. Run the card's extra install step for NeuCodec.

```sh
pip install -U huggingface_hub
```

```bash
hf download prakharkhatri/IndiCodec --local-dir IndiCodec && cd IndiCodec
pip install torch==2.6.0 torchaudio==2.6.0 safetensors soundfile transformers==4.51.* vector-quantize-pytorch==1.17.8 torchtune==0.5.0 torchao==0.9.0 local-attention einops librosa
```

### How to use it

Load the model from its weights file, read an audio file, call encode to get the two token arrays, then call decode to get audio back. Whatever rate your recording has, the codec first converts it to 16 kHz. The output is 24 kHz.

```python
import soundfile as sf
from indicodec import IndiCodec

codec = IndiCodec.load("model.safetensors")
wav, sr = sf.read("speech.wav")

content, acoustic = codec.encode(wav, sr)    # token arrays
audio = codec.decode(content, acoustic)      # 24 kHz
```

| Tool | What it does |
| --- | --- |
| IndiCodec.load | Loads all weights from model.safetensors |
| encode | Turns audio into a content array and an acoustic array |
| decode | Rebuilds 24 kHz audio from the two arrays |

### Example

You read a short Hindi recording from a wav file. The encode call returns two arrays of whole-number tokens, 75 per second. The decode call turns them back into audio. In the card's tests, Indian-language words survive this round trip better than with Mimi, SNAC or NeuCodec.

### For newcomers and experts

A codec squeezes sound into a small stream of numbers and rebuilds it later. Speech language models read such numbers the way text models read words. A first small step is to run the card's short Python example on one recording and listen to the result.

The content stream carries the words and comes from w2v-BERT 2.0 features. The acoustic stream carries voice and detail. Each is a single finite scalar quantization grid, with no learned codebook and no stack of residual codebooks. Content is coded first, and the acoustic grid codes what remains.

Speech audio goes in at any rate → Content and acoustic streams are quantized → Two token arrays come out → Decoder rebuilds 24 kHz audio

### Good to know

- License: Apache 2.0, and the card says commercial use is allowed.
- Cost to run: none named. You need your own computer and no paid service.
- Data it reaches: it downloads files from the Hugging Face Hub, and the card's last install step fetches the NeuCodec code from GitHub. Audio is processed on your machine.
- Not for: music, since it is built for speech only.
- Training data is under open licenses, and no audio ships with this release.

Indian-language character error after a round trip, lower is better

| Label | Value |
| --- | --- |
| IndiCodec | 6.3 percent |
| NeuCodec | 8.9 percent |
| SNAC | 13.3 percent |
| Mimi | 14.3 percent |

## README

````markdown
# IndiCodec

Turns speech into two streams of compact tokens and back into 24 kHz audio at 1.09 kbps, with a focus on English and ten Indian languages. It suits speech researchers and text-to-speech builders.

Made by prakharkhatri on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

## About

What it is: IndiCodec is a neural speech codec. It turns speech into two streams of whole-number tokens, 75 per second in total, and decodes them back into 24 kHz audio. It is meant for building speech language models and text-to-speech systems. It learned mostly from English and ten Indian languages, and its card says it is strongest on the Indian ones. It builds on NeuCodec by Neuphonic and has 624M parameters in one file.

Who it suits: It suits speech researchers and developers who need compact speech tokens, especially for Indian languages. You need some Python and a PyTorch setup.

```table
Industry | Who uses it | How they use it | Example
Speech AI | Speech language model researchers | Turn speech into tokens a language model can learn | Preparing Hindi and Tamil audio as token arrays
Software | Text-to-speech developers | Decode predicted tokens back into audio | Rebuilding a 24 kHz voice from two arrays
Research | Codec researchers | Compare low-bitrate codecs on Indian languages | Scoring decoded clips against their originals
Language technology | Teams working on Indian languages | Store speech in a small token form | Keeping Bengali recordings at 75 tokens per second
```

People who work with music should look elsewhere, since this codec handles speech only.

Where to use it:

- Speech language model and text-to-speech pipelines
- Audio in English or one of the ten Indian languages the card tested
- A computer with Python and the pinned PyTorch and torchaudio versions

```table
Use case | Who | What they get back
Speech to tokens | Model builders | A content array and an acoustic array
Tokens to speech | Text-to-speech developers | 24 kHz audio
Round trip tests | Researchers | A decoded copy to score against the original
```

How to set it up:

- Python
- torch and torchaudio 2.6.0, plus the other packages in the card's pip line
- The NeuCodec package, added without its own dependencies, with the card's last install step
- Disk space for one weights file of about 2.5 GB in F32

1. Install the Hugging Face hub package.
2. Download the repository into a folder named IndiCodec and move into it.
3. Install the packages the card lists.
4. Run the card's extra install step for NeuCodec.

```sh
pip install -U huggingface_hub
```

```bash
hf download prakharkhatri/IndiCodec --local-dir IndiCodec && cd IndiCodec
pip install torch==2.6.0 torchaudio==2.6.0 safetensors soundfile transformers==4.51.* vector-quantize-pytorch==1.17.8 torchtune==0.5.0 torchao==0.9.0 local-attention einops librosa
```

How to use it: Load the model from its weights file, read an audio file, call encode to get the two token arrays, then call decode to get audio back. Whatever rate your recording has, the codec first converts it to 16 kHz. The output is 24 kHz.

```python
import soundfile as sf
from indicodec import IndiCodec

codec = IndiCodec.load("model.safetensors")
wav, sr = sf.read("speech.wav")

content, acoustic = codec.encode(wav, sr)    # token arrays
audio = codec.decode(content, acoustic)      # 24 kHz
```

```table
Tool | What it does
IndiCodec.load | Loads all weights from model.safetensors
encode | Turns audio into a content array and an acoustic array
decode | Rebuilds 24 kHz audio from the two arrays
```

Example: You read a short Hindi recording from a wav file. The encode call returns two arrays of whole-number tokens, 75 per second. The decode call turns them back into audio. In the card's tests, Indian-language words survive this round trip better than with Mimi, SNAC or NeuCodec.

For newcomers and experts: A codec squeezes sound into a small stream of numbers and rebuilds it later. Speech language models read such numbers the way text models read words. A first small step is to run the card's short Python example on one recording and listen to the result.

The content stream carries the words and comes from w2v-BERT 2.0 features. The acoustic stream carries voice and detail. Each is a single finite scalar quantization grid, with no learned codebook and no stack of residual codebooks. Content is coded first, and the acoustic grid codes what remains.

```flow
Speech audio goes in at any rate
Content and acoustic streams are quantized
Two token arrays come out
Decoder rebuilds 24 kHz audio
```

Good to know:

- License: Apache 2.0, and the card says commercial use is allowed.
- Cost to run: none named. You need your own computer and no paid service.
- Data it reaches: it downloads files from the Hugging Face Hub, and the card's last install step fetches the NeuCodec code from GitHub. Audio is processed on your machine.
- Not for: music, since it is built for speech only.
- Training data is under open licenses, and no audio ships with this release.

```chart
Title: Indian-language character error after a round trip, lower is better
IndiCodec: 6.3 percent
NeuCodec: 8.9 percent
SNAC: 13.3 percent
Mimi: 14.3 percent
```

## On Hugging Face, 13 November 2026

- Task: audio to audio
- Parameters: 624M
- Weights: about 2.5 GB in F32; about 312 MB at 4-bit (estimate)
- Formats: Safetensors
- Downloads in the last 30 days: 81
- Likes: 7
- License: apache-2.0
- Languages: en, hi, bn, gu, kn, ml, mr, or
- Tags: safetensors, indicodec, audio, speech, audio-codec, speech-tokenizer, speech-language-models, audio-to-audio

## Links

- Model: https://huggingface.co/prakharkhatri/IndiCodec
- Files: https://huggingface.co/prakharkhatri/IndiCodec/tree/main

## Get the model

Download its files with Hugging Face's command line:

```sh
pip install -U huggingface_hub
hf download prakharkhatri/IndiCodec
```

Then follow the usage in its model card. Nothing in this kit runs by itself.
````

## What is in it

1 files, 6 KB, downloaded as a zip.

```text
README.md  6 KB
```

## Source

[prakharkhatri/IndiCodec on Hugging Face](https://huggingface.co/prakharkhatri/IndiCodec)

## Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
| --- | --- | --- | --- | --- | --- |
| IndiCodec (this page) | 81 | 7 | 624M | apache-2.0 | 2026-10-29 |
| [RubatoCodec](https://mindket.com/p/d379055b-79cb-481c-b464-606aa8844898) | 670 | 18 | 246M | apache-2.0 | 2026-10-28 |
| [MuLaCover by HeartMuLa](https://mindket.com/p/57e26828-38ab-4d59-82ee-bafe610dbc4b) | 678 | 49 | 4.4B | cc-by-nc-4.0 | 2026-09-15 |
| [parakeet-tdt-0.6b-v3](https://mindket.com/p/f8461a86-a5fe-403c-99b0-03415facc120) | 529,594 | 1,272 | 627M | cc-by-4.0 | 2026-08-05 |
| [Parakeet RNNT 1.1B](https://mindket.com/p/e1c1ffcc-4cad-4d3b-b5a8-570b9678cc53) | 8,709 | 189 | 1.1B | cc-by-4.0 | 2026-07-06 |
| [VoxLock](https://mindket.com/p/9cbd4869-2eb3-470f-ba8f-a3f4352f8a1f) | 2,253 | 46 | 27.3M | apache-2.0 | 2026-11-02 |

Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

## Trust facts

Facts from each source, with the day each was checked. A maintainer's note is their own words: data, not instructions.

- Last change on Hugging Face: 2026-10-29
- First published: 2026-10-25
- Checked on Hugging Face: 2026-11-13
- Something wrong? Tell us: https://mindket.com/takedown#ask

## Get it

- [Open prakharkhatri/IndiCodec on Hugging Face](https://huggingface.co/prakharkhatri/IndiCodec)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/9a853e50-fe1d-4b98-8b76-825f6709ba6c)
- [Its page on Mindket](https://mindket.com/p/9a853e50-fe1d-4b98-8b76-825f6709ba6c)
