Model reference · open weights
tara is an open-weight audio or speech model from Trelis. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | Trelis |
|---|---|
| Type | Audio & music |
| Task | Speech→text |
| Parameters (lead) | 1.5B |
| Released | 2026-07-21 |
| Popularity | 3k downloads / month |
| Licence | Open weights |
About
Tara is a frontier automatic speech-recognition model for Hindi and mixed-code (Hinglish) transcription. On the AI4Bharat Vistaar Hindi benchmark suite it achieves state-of-the-art aggregate accuracy, outperforming leading commercial Hindi ASR systems on the 7-benchmark Vistaar mean, while natively handling Hindi–English code-switched speech through a dedicated mixed-code mode that renders English words in Latin script and Hindi in Devanagari, the way real Hinglish is written.
openai/whisper-large-v3.import librosa
import torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration
repo = "Trelis/tara"
processor = WhisperProcessor.from_pretrained(repo)
model = WhisperForConditionalGeneration.from_pretrained(
repo, torch_dtype=torch.bfloat16).to("cuda")
tk = processor.tokenizer
hi, en, mc = (tk.convert_tokens_to_ids(t) for t in ("", "", ""))
trn, nts = (tk.convert_tokens_to_ids(t) for t in ("", ""))
audio_16k, _ = librosa.load("clip.wav", sr=16000, mono=True)
feats = processor(audio_16k, sampling_rate=16000,
return_tensors="pt").input_features.to("cuda", torch.bfloat16)
# Example 1: pure Hindi
out = model.generate(input_features=feats,
forced_decoder_ids=[(1, hi), (2, trn), (3, nts)],
max_new_tokens=444)
print(tk.decode(out[0], skip_special_tokens=True))
# Example 2: Hindi-English mixed-code, inject right after the language token.
# Language auto-detection also works: generate one step unforced and the FIRST generated
# token is the language token; then inject after it and continue.
out = model.generate(input_features=feats,
forced_decoder_ids=[(1, hi), (2, mc), (3, trn), (4, nts)],
max_new_tokens=444)
print(tk.decode(out[0], skip_special_tokens=True))
The mixed-code mode (the `` prefix above) conditions generation only: on pure-Hindi audio it neither degrades accuracy nor forces transliteration; on mixed-code audio it renders English words in Latin script.
Evaluation code, the exact text normalizer, and Tara's per-utterance predictions for every benchmark below are published at TrelisResearch/tara, so all numbers can be reproduced or re-scored under alternative normalizers.
Protocol. All numbers are corpus WER after light text normalization* (Unicode NFC plus punctuation removal; nukta and all vowel and nasal marks preserved). All systems are scored on clips ≤ 30 s with identical references. Commercial-system results are measured by us under the same protocol; they are not vendor-reported figures.
| Benchmark | Tara | Sarvam Saaras-v3 | ElevenLabs Scribe-v2 |
|---|---|---|---|
| Kathbath (clean read) | 9.34 | 9.71 | 9.60 |
| Kathbath-hard (noisy) | 10.82 | 10.55 | 11.11 |
| MUCS | 10.79 | 9.69 | 10.93 |
| GramVaani (telephony) | 21.03 | 23.00 | 26.94 |
| IndicTTS | 9.46 | 10.38 | 13.17 |
| CommonVoice-hi | 12.51 | 12.88 | 13.44 |
| FLEURS-hi | 10.47 | 10.05 | 11.33 |
| Mean (7 Vistaar sets) | 12.06 | 12.32 | 13.79 |
| IndicVoices-500 (spontaneous, non-Vistaar) | 16.51 | 15.29 | 27.46 |
IndicVoices-500 is a 500-sample spontaneous-speech control from the IndicVoices validation split; it is not part of the Vistaar mean.
Tara and Sarvam are measured in their code-mixed modes.
| Benchmark | Tara | Sarvam Saaras-v3 | ElevenLabs Scribe-v2 |
|---|---|---|---|
| CoSHE-500 (conversational CS) | 14.41 | 11.25 | 12.40 |
| Code-Switch FLEURS hi-en (read CS) | 8.37 | 16.47 | 7.57 |
| Hi-accent adult (HiACC) | 12.93 | 13.16 | 12.87 |
| Hi-accent child (HiACC) | 10.69 | 10.10 | 11.66 |
Scored with the standard Whisper English normalizer.
| Benchmark | Tara | Sarvam | Scribe-v2 |
|---|---|---|---|
| CommonVoice-en | 6.68 | 8.68 | 5.28 |
| FLEURS-en | 4.55 | 4.36 | 2.93 |
* Normalization: unicodedata.normalize("NFC"), lowercasing, then removal of punctuation
and symbols (। , . ? ! " : ; - – — “ ” ( ) [ ] / ~ % ₹ $ …), invisible formatting
characters (zero-width joiner/space)
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys tara for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (tara below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \ -H "Authorization: Bearer $AXFORGE_API_KEY" \ -F model="tara" -F file=@audio.mp3
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.