anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
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 . Download it on this page, a zip of its files. Nothing in it runs by itself.
pip install -U huggingface_hub
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.
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.
| 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 |
pip install -U huggingface_hub
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
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.
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 |
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.
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.
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.
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:
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:
pip install -U huggingface_hub
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.
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:
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
Download its files with Hugging Face's command line:
pip install -U huggingface_hub
hf download prakharkhatri/IndiCodec
Then follow the usage in its model card. Nothing in this kit runs by itself.
README.md 6 KB
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 | |
| RubatoCodecShares speech-tokenizer · audio-to-audio · speech | 670 | 18 | 246M | apache-2.0 | |
| MuLaCover by HeartMuLaShares audio-to-audio · audio · safetensors | 678 | 49 | 4.4B | cc-by-nc-4.0 | |
| parakeet-tdt-0.6b-v3Shares speech · audio · safetensors | 529,594 | 1,272 | 627M | cc-by-4.0 | |
| Parakeet RNNT 1.1BShares speech · audio · safetensors | 8,709 | 189 | 1.1B | cc-by-4.0 | |
| VoxLockShares speech · audio · safetensors | 2,253 | 46 | 27.3M | apache-2.0 |
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
block · Kit
Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…
backnotprop · Kit
Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.