/ Модель

Характеристики

Лицензия
Своя лицензия
Архитектура
indic_canary · dense
Базовая модель
canary-1b-v2
Библиотека
nemo
Опубликована
2 сен 2026

indic-transcribe-flex

Распознавание речиАудио → текст11 профессий

Мультиязычная ASR-модель для транскрибации речи на 27 индийских языках с поддержкой смешанной речи и нескольких вариантов письменного вывода.

76скачиваний за 30 дней0лайковвеса обновлены2 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Indic-Transcribe-flex — мультиязычная модель распознавания речи, разработанная Spark UX и основанная на NVIDIA Canary-1B-v2. Она использует энкодер FastConformer и Transformer-декодер и дообучена для транскрибации 27 индийских языков, включая варианты английского с индийским акцентом и диалекты хинди. Для входа принимает аудио; базовые требования — моно, 16 кГц, поддерживаются WAV, FLAC и MP3.

Модель предназначена для преобразования речи в текст, в том числе в шумной обстановке и при смешении языков в одной речи. Доступны вывод в родной письменности, смешанный режим с латиницей для английских слов и чисел и полностью романизированный текст. Также модель умеет определять язык и транскрибировать аудио без заранее заданного языка. Вариант flex поддерживает нормализацию чисел и кода-свитчинг; потоковая транскрибация, согласно карточке, относится к варианту lite.

Заявленные сценарии включают голосовые продукты для образования, сельского хозяйства и здравоохранения, а также транскрибацию звонков и индексирование речи. В карточке приведены результаты бенчмарка Voice of India, но они не гарантируют такую же точность на других данных. Лицензия в метаданных обозначена как other; README заявляет готовность модели к коммерческому использованию, поэтому перед развертыванием следует проверить условия лицензии репозитория.

Сценарии применения

  • транскрибация звонков на индийских языках
  • распознавание смешанной речи хинди и английского
  • расшифровка речи в шумной обстановке
  • определение языка аудиозаписи перед транскрибацией
  • создание транскриптов в родной письменности или латинице
  • нормализация чисел в распознанной речи
  • индексирование речи для поиска по ключевым словам

Ограничения

Входное аудио должно быть моно; рекомендуемая частота дискретизации — 16 кГц, хотя README сообщает об автоматическом пересэмплировании. Заявления о точности опираются на бенчмарк Voice of India и не гарантируют качество для иных условий; сведения о лицензии требуют проверки в репозитории.

Для каких профессий подходит11

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model Arch Params Languages Language License

Multilingual speech recognition for 27 Indian languages — with native-script, mixed-script, and romanized output.

Quick links — Blog · Demo · Try it out · GitHub

Indic-Transcribe-pro is a multilingual Automatic Speech Recognition (ASR) model built for 27 Indian languages. It is trained to be robust and general purpose: it handles the full diversity of Indian accents and holds up in noisy real-world conditions, from crowded markets to call-center floors, with strong coverage in the domains where Indian voice products are actually built — education, agriculture, and healthcare.

Unlike traditional ASR systems that return only a native-script transcript, Indic-Transcribe offers three transcription modes — native script, romanized text, or true code-mixed output — so you can match the output to what your product expects.

This model is ready for commercial use.


  • 🔀 Code-mixing, natively. Indians rarely speak one language at a time. Indic-Transcribe transcribes Hinglish and other mixed speech as it is actually spoken, instead of forcing it into a single language.
  • 📝 Three transcription modes. Native script for fully native output; mixed script for native words in native script with English and numerals in Latin; romanized for everything in Latin script.
  • 🏥 Domain coverage where it matters. Deep vocabulary in education, agriculture, and healthcare.
  • 🌐 Language identification built in. Use the model directly as a language-ID system, or let it auto-detect the language and then transcribe.
  • ⚡ Streaming for live use. Real-time transcription for conversational use cases, available in Indic-Transcribe-lite.

The model covers 27 languages across four groups:

GroupLanguages
Indian-accented EnglishEnglish — benchmarked across speakers from 19 states
22 constitutionally recognised languagesAssamese, Bengali, Bodo, Dogri, Gujarati, Hindi, Kannada, Kashmiri, Konkani, Maithili, Malayalam, Manipuri, Marathi, Nepali, Odia, Punjabi, Sanskrit, Santali, Sindhi, Tamil, Telugu, Urdu
Hindi dialectsBhojpuri, Chhattisgarhi, Haryanvi
Extremely low-resourceBhili

See Supported Language Codes for the code to pass at inference time.

The same utterance, three renderings:

ModeOutput
Native scriptमैंने कल पांच बजे तीन फाइलें अपलोड कीं
Mixed scriptमैंने कल 5 बजे 3 files upload कीं
Romanizedmaine kal 5 baje 3 files upload kin

Architecture Type: NVIDIA Canary — FastConformer encoder with a Transformer decoder.

Indic-Transcribe-pro is built on the nvidia/canary-1b-v2 architecture. The FastConformer encoder produces acoustic representations that the Transformer decoder converts into text, with task tokens selecting the transcription mode and target language.

Model nameIndic-Transcribe-pro
TaskSpeech-to-Text (Automatic Speech Recognition)
Base modelnvidia/canary-1b-v2
Total parameters1.2B
EncoderFastConformer — 32 layers, 811M params, 1024 hidden dim, 8 attention heads, conv kernel 9
DecoderTransformer — 24 layers, 419M params, 1024 hidden size, 8 attention heads
Vocabulary7,152 tokens (1,152 special / task + 6,000 multilingual)
Sub-word algorithmBPE (byte fallback disabled)
Precisionfp16
Checkpoint size4.6 GB
FeatureIndic-Transcribe-flexIndic-Transcribe-realtime
Languages2727
Code-mixed audio✅✅
Inverse Text Normalization✅❌
Transcription ModesNative Script, Mixed Script, RomanizedNative Script
Automatic language ID✅❌
Streaming❌✅
Latency (1×H100)150 ms35 ms

Results below are from the Voice of India benchmark. ASR performance is measured using Word Error Rate (WER); lower is better. Best score per column is in bold.

ModelAverageAssameseBhojpuriBengaliGujaratiHindiChhattisgarhiKannadaMaithiliMalayalamMarathiOdiaPunjabiTamilTeluguUrdu
Saaras V310.79.117.95.29.73.814.08.814.212.26.511.18.69.113.57.5
Indic-Transcribe-flex11.39.618.55.010.84.113.69.715.113.76.610.29.510.813.15.6
Indic Conformer17.813.130.39.516.36.524.516.316.328.211.613.119.116.220.08.0
Gemini 3 Pro21.123.724.110.318.19.319.620.127.221.014.025.719.315.524.610.6
Gemini 3 Flash23.125.020.211.120.37.121.718.528.030.114.223.323.217.325.511.0
Gemma E4B36.145.027.019.627.39.124.031.036.744.424.444.423.437.941.614.2
OmniASR LLM 7B44.523.926.320.932.09.620.735.044.648.824.572.331.740.648.714.8
OmniASR CTC 7B62.533.339.243.562.520.733.450.051.661.333.690.280.758.362.189.3

pip install torch torchaudio transformers sentencepiece soundfile

The model code ships inside this repository, so there is nothing else to install — no NeMo, no other toolkit.

conda create -n indic-transcribe python=3.10 -y
conda activate indic-transcribe
pip install torch torchaudio transformers sentencepiece soundfile
Sample rate16 kHz (resampled automatically if it differs)
ChannelsMono
Formats.wav, .flac, .mp3
SpeakersSingle speaker — see Limitations
# Convert anything to the expected format
ffmpeg -i input.mp3 -ac 1 -ar 16000 -c:a pcm_s16le audio.wav
from huggingface_hub import snapshot_download
from indic_transcribe import IndicTranscribe

asr = IndicTranscribe.from_pretrained(snapshot_download("bodhan-ai/indic-transcribe-pro"))
print(asr("audio.wav", lang="hi"))

The same audio, three outputs. Pick the mode that matches what your downstream system expects.

Native script — everything in the language's own script. Recommended for production.

print(asr("audio.wav", lang="hi", mode="native"))
# मैंने कल पांच बजे तीन फाइलें अपलोड कीं

Mixed script (ITN) — native words in native script; English words and numerals in Latin. Inverse text normalization turns spoken numbers into digits. Recommended if you want formatted and normalized output.

print(asr("audio.wav", lang="hi", mode="mixed"))
# मैंने कल 5 बजे 3 files upload कीं

Romanized — everything transliterated into Latin script. Useful for search indexing, keyword spotting, and Latin-only UIs.

print(asr("audio.wav", lang="hi", mode="romanized"))
# maine kal 5 baje 3 files upload kin

When you don't know the language ahead of time, omit lang. The model identifies it first, then transcribes — at the cost of one decoder step, not a second encoder pass.

text, lid = asr.transcribe("unknown_language.wav", return_lid=True)
print(lid["lang"])   # e.g. "ta"
print(text)

A language you supply always wins; identification only fills a gap. return_lid=True also works when you did supply one, so a disagreement between your metadata and the model stays visible instead of silent:

text, lid = asr.transcribe("audio.wav", lang="hi", return_lid=True)
# lid == {"lang": "hi", "source": "explicit", "topk": [("hi", 0.9999), ("ur", 0.0001), ...]}

To use the model purely as a language-ID system, read the predicted language and discard the transcript.

for path in ["a.wav", "b.wav", "c.wav"]:
    print(path, asr.identify(path))
    # [('ta', 0.9812), ('ml', 0.0104), ('kn', 0.0031), ...]

identify returns the ranked distribution rather than a single string, because for the confusable pairs the top-1 alone hides how close the decision was. Accuracy is uneven: ml/ta 0.98 and kn/bn 0.96, against bho 0.05, hi 0.26, mai 0.36 and ur 0.49, each absorbed by a close neighbour. If you have a language label, pass it.

Streaming is available in Indic-Transcribe-lite, not in pro. Use lite for live and conversational use cases where 30 ms latency matters more than peak accuracy.


FieldDetails
Input Type(s)Audio, Language ID
Input Format(s).wav, .flac, .mp3; string language code
Input ParametersOne-dimensional (1D) audio; one-dimensional (1D) language ID
Other Properties16 kHz mono; audio is resampled automatically if it differs. Single speaker.

FieldDetails
Output Type(s)Text string in the input language
Output Format(s)String
Output ParametersOne-dimensional (1D)
Other PropertiesSelectable native-script, mixed-script, or romanized rendering; optional detected-language tag.

Runtime Engine: NVIDIA NeMo (ASR collection)

Supported Hardware Microarchitecture Compatibility:

  • NVIDIA Ampere
  • NVIDIA Hopper
  • NVIDIA Lovelace

Supported Operating System(s): Linux


Pass these to source_lang. Use "auto" for automatic language identification.

ExampleValue
Hindisource_lang="hi"
Tamilsource_lang="ta"
Bengalisource_lang="bn"
Indian Englishsource_lang="en"
Auto-detectsource_lang="auto"

All 27 languages use standard ISO 639-1 / 639-3 codes (also listed in the language: field at the top of this card).

LanguageCodeScriptGroup
English (Indian)enLatinIndian-accented English
AssameseasBengali–AssameseScheduled
BengalibnBengaliScheduled
BodobrxDevanagariScheduled
DogridoiDevanagariScheduled
GujaratiguGujaratiScheduled
HindihiDevanagariScheduled
KannadaknKannadaScheduled
KashmiriksPerso-Arabic / DevanagariScheduled
KonkanikokDevanagariScheduled
MaithilimaiDevanagariScheduled
MalayalammlMalayalamScheduled
ManipurimniBengali / Meetei MayekScheduled
MarathimrDevanagariScheduled
NepalineDevanagariScheduled
OdiaorOdiaScheduled
PunjabipaGurmukhiScheduled
SanskritsaDevanagariScheduled
SantalisatOl ChikiScheduled
SindhisdPerso-Arabic / DevanagariScheduled
TamiltaTamilScheduled
TeluguteTeluguScheduled
UrduurPerso-ArabicScheduled
BhojpuribhoDevanagariHindi dialect
ChhattisgarhihneDevanagariHindi dialect
HaryanvibgcDevanagariHindi dialect
BhilibhbDevanagariLow resource

  • Single-speaker audio. The model is trained for single-speaker recordings. For multi-speaker scenarios, pair it with a diarization module and transcribe each speaker turn separately.
  • Mixed-script (ITN) mode can be wrong. Inverse text normalization is genuinely ambiguous in places, so mixed-script mode will occasionally get it wrong. For production, native-script mode is recommended, applying your own ITN downstream if you need it.
  • Romanization is not standardized. There is no single canonical romanization for most Indian languages. Romanized output follows the model's learned convention, which may not match your existing transliteration scheme.
  • Streaming is not available in pro. Use Indic-Transcribe-lite for real-time use.
  • Low-resource languages are weaker. Bhili in particular has very little training data. Check the per-language numbers in Results at a Glance before committing to a language.
  • Noise robustness has limits. Heavily overlapped speech, far-field audio, and very low-SNR recordings will still degrade quality.

Released under BODHAN AI OPEN MODEL LICENSE 1.0.

The base model, nvidia/canary-1b-v2, carries its own license terms — ensure your use complies with both.


Transcription of multilingual and code-mixed Indian-language audio, including native-script, mixed-script, and romanized output, plus language identification.


Global


@misc{indictranscribe2026,
  title  = {Indic-Transcribe: Multilingual Speech Recognition for 27 Indian Languages},
  author = {TODO},
  year   = {2026},
  url    = {https://huggingface.co/bodhan/Indic-Transcribe-pro}
}

The integration of foundation and fine-tuned models into AI systems requires additional testing using use-case-specific data to ensure safe and effective deployment. Developers should work with their team to ensure this model meets requirements for the relevant industry and use case, and addresses unforeseen product misuse.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · nemo

Нельзя запустить

Модели NVIDIA NeMo требуют отдельного рантайма.

Класс архитектуры
IndicCanaryForConditionalGeneration
Ревизия весов
573df64

0 моделей