MYRA

blog hugging face demo technical report: coming soon follow rumik ai on x join our discord

MYRA-oss 1

MYRA-oss 1 multilingual speech, expressive delivery, and inline vocalizations

MYRA-oss 1 is a 3b multilingual text-to-speech model from MYRA AI, trained on fewer than 70,000 hours of speech while performing competitively with existing TTS models. it combines code-switched synthesis, description-conditioned delivery, and inline vocalization control, with 24 khz audio output.

we also release MYRA-oss 1 base, our final speaker-conditioned checkpoint before post-training. it supports multilingual synthesis with ira, aisha, siya, and zoya and provides a starting point for the community to research and post-train the base model from scratch.

we describe the post-training of MYRA-oss 1 and the decisions behind its training curriculum in our blog. our technical report will provide an in-depth account of the architecture, data preparation, training, and evaluation.

model overview

MYRA-oss 1 extends tiny aya fire with discrete speech tokens from the mimi codec. following the flattened codec-token formulation used in llama-mimi, text conditioning and audio generation share a single autoregressive sequence. the model predicts eight codebook tokens for each audio frame, in codebook order, before advancing to the next frame. generated tokens are regrouped into codec frames and reconstructed as a waveform by the frozen mimi decoder.

we release the model with 4 voices:

  • Ira
  • Aisha
  • Siya
  • Zoya

unlike other TTS models, where each voice is trained specifically for one language or performs best in one language, our voices perform equally well across all 22 languages.

MYRA-oss 1 synthesis architecture and frame-major token-to-codec reconstruction

capabilities

  • multilingual synthesis: 22 indic languages in their native scripts and romanized forms, plus english, with support for single-language and code-switched synthesis.
  • delivery conditioning: control tone, accent, and pace through the description format for various scenarios.
  • vocalization control: inline tags for laughter, chuckles, and sighs.

delivery controls

the <description="..."> prefix lets users control the global tone and pace of the audio, while inline tags let you insert <laugh>, <chuckle>, and <sigh> at the intended positions.

<description="excited, Hindi accent, fast pace"> เคœเคฒเฅเคฆเฅ€ เค†เค“, เคนเคฎเคพเคฐเคพ เคจเคพเคฎ เคฒเคฟเคธเฅเคŸ เคฎเฅ‡เค‚ เคนเฅˆ! <laugh> เค†เคœ เค˜เคฐ เคฎเฅ‡เค‚ เคœเคถเฅเคจ เคนเฅ‹เค—เคพเฅค
control values
speaker Ira, Aisha, Siya, Zoya
tone happy, sad, angry, excited, professional
accent Hindi, Telugu, Tamil, Kannada, Bengali, Punjabi, Indian English
pace slow, fast, steady
inline vocalization <laugh>, <chuckle>, <sigh>

audio samples

ira ยท hindi ยท sad ยท slow pace

เคฎเคพเค, เค†เคœ เคซเคฟเคฐ เคคเฅเคฎเฅเคนเคพเคฐเฅ‡ เคฒเคฟเค เคšเคพเคฏ เคฌเคจเคพ เคฆเฅ€เฅค <sigh> เค•เคช เค เค‚เคกเคพ เคนเฅ‹ เค—เคฏเคพ, เคชเคฐ เคคเฅเคฎเฅเคนเคพเคฐเคพ เค‡เค‚เคคเคœเคผเคพเคฐ เคจเคนเฅ€เค‚เฅค

aisha ยท english ยท sad ยท slow pace

I still play your last message, Dad. You only said, call me when you get home. I got home. I just never got to tell you.

siya ยท telugu ยท excited ยท fast pace

เฐ…เฐฎเฑเฐฎเฐพ, เฐจเฐพเฐ•เฑ เฐ‰เฐฆเฑเฐฏเฑ‹เฐ—เฐ‚ เฐตเฐšเฑเฐšเฐฟเฐ‚เฐฆเฐฟ! เฐจเฐฟเฐœเฐ‚เฐ—เฐพ เฐตเฐšเฑเฐšเฐฟเฐ‚เฐฆเฐฟ! เฐจเฑเฐตเฑเฐตเฑ เฐจเฐพ เฐ•เฑ‹เฐธเฐ‚ เฐšเฑ‡เฐธเฐฟเฐจ เฐชเฑเฐฐเฐคเฐฟ เฐคเฑเฐฏเฐพเฐ—เฐ‚ เฐจเฐพเฐ•เฑ เฐ—เฑเฐฐเฑเฐคเฑเฐ‚เฐฆเฐฟ. <laugh> เฐˆ เฐฐเฑ‹เฐœเฑ เฐจเฑ€เฐ•เฑ เฐจเฐšเฑเฐšเฐฟเฐจ เฐธเฑเฐตเฑ€เฐŸเฑเฐฒเฑ เฐจเฑ‡เฐจเฑ‡ เฐ•เฑŠเฐจเฐฟเฐธเฑเฐคเฐพเฐจเฑ!

zoya ยท tamil ยท angry ยท fast pace

เฎจเฏ€ เฎตเฎฐเฏเฎตเฏ‡เฎฉเฏเฎฉเฏ เฎšเฏŠเฎฉเฏเฎฉเฎคเฎพเฎฒเฏเฎคเฎพเฎฉเฏ เฎ‡เฎตเฏเฎตเฎณเฎตเฏ เฎจเฏ‡เฎฐเฎฎเฏ เฎ•เฎพเฎคเฏเฎคเฎฟเฎฐเฏเฎจเฏเฎคเฏ‡เฎฉเฏ! เฎ’เฎฐเฏ เฎชเฏ‹เฎฉเฏ เฎ•เฏ‚เฎŸ เฎชเฎฃเฏเฎฃ เฎฎเฏเฎŸเฎฟเฎฏเฎฒเฏˆเฎฏเฎพ? เฎ’เฎตเฏเฎตเฏŠเฎฐเฏ เฎฎเฏเฎฑเฏˆเฎฏเฏเฎฎเฏ เฎฎเฎฉเฏเฎฉเฎฟเฎชเฏเฎชเฏ เฎ•เฏ‡เฎŸเฏเฎŸเฎพ เฎฎเฎŸเฏเฎŸเฏเฎฎเฏ เฎŽเฎฒเฏเฎฒเฎพเฎฎเฏ เฎšเฎฐเฎฟเฎฏเฎพเฎ•เฎฟเฎŸเฎพเฎคเฏ!

ira ยท english ยท professional ยท steady pace

Good evening, passengers. Boarding for the flight to Bengaluru will begin shortly at gate twelve. Please keep your boarding pass ready. Thank you for your patience, and have a pleasant journey.

aisha ยท bengali ยท happy ยท steady pace

เฆเฆค เฆฆเฆฟเฆจ เฆชเฆฐเง‡ เฆคเง‹เฆฎเฆพเฆ•เง‡ เฆฆเง‡เฆ–เง‡ เฆ•เง€ เฆฏเง‡ เฆญเฆพเฆฒเง‹ เฆฒเฆพเฆ—เฆ›เง‡! เฆคเง‹เฆฎเฆพเฆฐ เฆชเฆ›เฆจเงเฆฆเง‡เฆฐ เฆธเฆฌ เฆฐเฆพเฆจเงเฆจเฆพ เฆ•เฆฐเง‡เฆ›เฆฟเฅค เฆ†เฆœ เฆ†เฆฐ เฆ•เง‹เฆฅเฆพเฆ“ เฆฏเง‡เฆคเง‡ เฆฆเง‡เฆฌ เฆจเฆพ, เฆธเฆฌเฆพเฆ‡ เฆฎเฆฟเฆฒเง‡ เฆ…เฆจเง‡เฆ• เฆ—เฆฒเงเฆช เฆ•เฆฐเฆฌเฅค

siya ยท kannada ยท professional ยท steady pace

เฒจเฒฎเณเฒฎ เฒนเณŠเฒธ เฒ—เณเฒฐเฒ‚เฒฅเฒพเฒฒเฒฏเฒ•เณเฒ•เณ† เฒธเณเฒตเฒพเฒ—เฒค. เฒ‡เฒฒเณเฒฒเฒฟ เฒ•เฒจเณเฒจเฒก เฒฎเฒคเณเฒคเณ เฒ‡เฒ‚เฒ—เณเฒฒเฒฟเฒทเณ เฒชเณเฒธเณเฒคเฒ•เฒ—เฒณเณ เฒฒเฒญเณเฒฏเฒตเฒฟเฒตเณ†. เฒธเฒฆเฒธเณเฒฏเฒฐเฒพเฒ—เฒฒเณ เฒจเฒฟเฒฎเณเฒฎ เฒนเณ†เฒธเฒฐเณ เฒฎเฒคเณเฒคเณ เฒตเฒฟเฒณเฒพเฒธ เฒจเณ€เฒกเฒฟ. เฒ“เฒฆเฒฒเณ เฒถเฒพเฒ‚เฒคเฒตเฒพเฒฆ เฒธเณเฒฅเฒณเฒตเณ‚ เฒ‡เฒฆเณ†.

zoya ยท punjabi ยท excited ยท fast pace

เจฎเจพเจ‚, เจฎเฉ‡เจฐเจพ เจฆเจพเจ–เจผเจฒเจพ เจนเฉ‹ เจ—เจฟเจ†! เจธเฉฑเจšเฉ€เจ‚, เจšเจฟเฉฑเจ เฉ€ เจ† เจ—เจˆ เจนเฉˆ! เจœเจฟเจนเฉœเจพ เจธเฉเจชเจจเจพ เจ…เจธเฉ€เจ‚ เจ‡เจ•เฉฑเจ เฉ‡ เจตเฉ‡เจ–เจฟเจ† เจธเฉ€, เจ‰เจน เจ…เฉฑเจœ เจชเฉ‚เจฐเจพ เจนเฉ‹ เจ—เจฟเจ†เฅค เจนเฉเจฃ เจธเจญ เจจเฉ‚เฉฐ เจซเจผเฉ‹เจจ เจ•เจฐ!

ira ยท hindi + english ยท happy ยท steady pace

เค†เคœ เค•เฅ€ meeting เคฎเฅ‡เค‚ เคธเคฌเค•เฅ‹ เคนเคฎเคพเคฐเคพ idea เคชเคธเค‚เคฆ เค†เคฏเคพเฅค I was so nervous, เคฒเฅ‡เค•เคฟเคจ เคคเฅเคฎเคจเฅ‡ เค•เคนเคพ เคฅเคพ เคจเคพ, เคฌเคธ เคฆเคฟเคฒ เคธเฅ‡ เคฌเฅ‹เคฒเฅ‹เฅค <chuckle> เค…เคฌ coffee เคฎเฅ‡เคฐเฅ€ เคคเคฐเคซเคผ เคธเฅ‡, เค”เคฐ cake เคคเฅเคฎเฅเคนเคพเคฐเฅ€ เคคเคฐเคซเคผ เคธเฅ‡!

aisha ยท telugu + english ยท professional ยท steady pace

เฐฎเฐจ เฐ•เฑŠเฐคเฑเฐค demo เฐธเฐฟเฐฆเฑเฐงเฐ‚เฐ—เฐพ เฐ‰เฐ‚เฐฆเฐฟ. You can choose a voice, change the pace, and try different languages. เฐฎเฑเฐ‚เฐฆเฑเฐ—เฐพ เฐคเฑ†เฐฒเฑเฐ—เฑเฐฒเฑ‹ เฐ’เฐ• เฐตเฐพเฐ•เฑเฐฏเฐ‚ เฐตเฐฟเฐ‚เฐฆเฐพเฐ‚, then we can switch to English.

generation settings

temperature 0.8, top-k 30, top-p 1.0, maximum 3072 tokens. prompts and seeds.

benchmarks

to evaluate our specific use case, we need new benchmarks across different axes: expressiveness, consistency of non-verbal vocalizations, and basic WER/CER. there aren't any standardized benchmarks for multilingual indic TTS across these axes, so we present 3 benchmarks:

  • IndicEmo: evaluates expressiveness.
  • NoVA: evaluates adherence to non-verbal vocalization requests.
  • WER/CER: evaluates word and character error rates across 15 languages.

IndicEmo

github

we introduce IndicEmo to evaluate expressive delivery in code-switched speech. its 100 prompts combine two to five languages drawn from english, hindi, telugu, tamil, kannada, bengali, and punjabi, with equal coverage of happy, sad, angry, excited, and professional delivery.

three automated judges rate anonymized recordings on a five-point rubric covering tone, dynamics, phrasing, and sustained expression. results use the 98-prompt intersection with valid ratings from all judges, aggregating the median rating per recording into category means. MYRA-oss 1 scores 2.92/5 overall and 3.03/5 on the four emotion categories.

IndicEmo overall expression quality across five tested tts configurations

scores and emotion breakdown
system overall / 5 emotions only / 5
gemini 3.1 flash tts preview 4.58 4.66
MYRA-oss 1 2.92 3.03
cartesia sonic preview 2.71 2.51
cartesia sonic 3.5 2.32 2.18
elevenlabs eleven v3 2.16 2.03

IndicEmo scores for happy, sad, angry, excited, and professional

the emotions-only score excludes professional delivery. evaluation protocol.

NoVA

github

NoVA evaluates adherence to inline laughter, chuckle, and sigh requests in english speech. each of its 149 prompts places a single vocalization at a specified word position. seven systems are evaluated over three synthesis runs using provider-specific prompting.

silk-asr, scribe v2, and a gemini verifier assess position-correct rendering. laugh and chuckle are pooled into one category; the final score averages laughter and sigh rendering rates across detectors, with unsupported categories contributing zero. MYRA-oss 1 achieves a 0.884 rendering score.

NoVA rendering scores across seven tested tts configurations

scores and detector breakdown
system (voice) rendering score
grok tts (ara) 0.972
inworld tts-2 (ashley) 0.941
MYRA-oss 1 (ira) 0.884
orpheus 3b (tara) 0.813
elevenlabs v3 (jessica) 0.705
gemini 3.1 flash tts (kore) 0.664
cartesia sonic 3.6 (monica) 0.498

NoVA position-correct vocalization rendering by detector

evaluation protocol.

WER / CER

github

we evaluate transcription fidelity using IndicConformer RNNT, comparing normalized ASR transcripts against the input text. the tables report WER and CER across 15 languages. we release the benchmark prompts, generation and scoring code, and per-sample results in rumik-oss-bench, with normalization and scoring details in the methodology.

WER (%)

WER language comparison

all 15 languages ยท WER

WER: complete 15-language table

results ยท evaluation protocol

CER (%)

CER language comparison

all 15 languages ยท CER

CER: complete 15-language table

results ยท evaluation protocol

limitations

  • long-form synthesis: training utterances are limited to 30 seconds; speaker and prosodic continuity over longer passages have not been evaluated. we do not recommend generating utterances longer than 35 seconds.
  • vocalization precision: NoVA detectors report unrequested vocalizations in 2.9-5.4% of MYRA-oss 1 outputs. NoVA evaluates english; equivalent tag adherence across languages has not been established.

inference

MYRA-oss 1 generates audio tokens. decoding them to a waveform is a separate step that uses the mimi codec, bundled in this repository under codec/.

transformers.pipeline("text-to-speech") is not supported for this model. use the one-shot example to generate audio tokens with generate_audio() and decode them into a waveform with mimi.

installation

pip install -r requirements.txt

requires an nvidia gpu with cuda support. the one-shot example below also needs soundfile to write a wav. requirements-server.txt adds the extras needed only for the optional web ui.

one-shot example

text in, speech.wav out:

"""MYRA-oss 1: text -> speech.wav"""
import soundfile as sf
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, MimiModel

REPO = "arvindcodex11/MYRA-oss-1"
SPEAKER = "Ira"
DESCRIPTION = "happy, Hindi accent, steady pace"
TEXT = "เคจเคฎเคธเฅเคคเฅ‡, เค†เคœ เค†เคชเค•เคพ เคฆเคฟเคจ เค•เฅˆเคธเคพ เคฐเคนเคพ?"

tokenizer = AutoTokenizer.from_pretrained(REPO, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    REPO, trust_remote_code=True, dtype=torch.bfloat16
).eval().cuda()
mimi = MimiModel.from_pretrained(REPO, subfolder="codec").eval().cuda()

# [BOS] <text> Ira: <description="..."> text <audio>
# the tokenizer adds [BOS] itself, so it is not written here
prompt = f'<text>{SPEAKER}: <description="{DESCRIPTION}"> {TEXT}<audio>'
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

# 1. text -> audio tokens
ids = model.generate_audio(**inputs, max_new_tokens=2048,
                           temperature=0.8, top_k=30, do_sample=True)
audio_tokens = ids[0].tolist()[inputs.input_ids.shape[1]:]

# 2. audio tokens -> codec frames -> waveform
codes = model.audio_tokens_to_codes(audio_tokens)
with torch.inference_mode():
    wav = mimi.decode(codes.to(mimi.device)).audio_values[0, 0]

sf.write("speech.wav", wav.float().cpu().numpy(), 24000)
print(f"{len(audio_tokens)} tokens -> {len(audio_tokens) / 100:.2f}s -> speech.wav")

web interface

an optional fastapi server with a browser ui is included:

pip install -r requirements-server.txt
python server.py --repo-id arvindcodex11/MYRA-oss-1 --host 127.0.0.1 --port 6006

open http://127.0.0.1:6006/, or post to it:

curl http://127.0.0.1:6006/v1/audio/speech \
  -H 'Content-Type: application/json' \
  -d '{
    "speaker": "Ira",
    "input": "<description=\"happy, Hindi accent, steady pace\"> เคจเคฎเคธเฅเคคเฅ‡, เค†เคœ เค†เคชเค•เคพ เคฆเคฟเคจ เค•เฅˆเคธเคพ เคฐเคนเคพ?",
    "temperature": 0.8,
    "top_k": 30,
    "max_new_tokens": 2048
  }' \
  --output speech.wav

license

MYRA-oss 1 is available for research and non-commercial use under tiny aya fire's cc-by-nc 4.0 license with an acceptable-use addendum.

permitted non-commercial uses include speech-synthesis research, benchmarking, teaching, and fine-tuning for research experiments. you may share the weights and adaptations under the applicable terms, retaining attribution, license links, upstream notices, and an indication of modifications. all use must comply with cohere labs' acceptable-use policy.

the license does not authorize commercial products, paid synthesis services, or other uses directed toward commercial advantage, including self-hosted deployments. those uses require separate permission from the relevant rights holders; a research label alone does not make a commercial activity non-commercial.

the mimi codec is licensed separately under cc-by-4.0, which permits reuse and adaptation, including commercially, with attribution and modification notices. that permission applies to the codec, not to the tiny aya-derived tts weights.

the full license text is in LICENSE, and NOTICE records the modifications made to tiny aya fire, as cc-by-nc 4.0 requires.

acknowledgments

MYRA-oss 1 builds on rumik-oss 1, tiny aya fire, mimi, llama-mimi, and torchtitan. we thank their authors for making this work available. our work wouldn't be possible without these foundations.

training recipe

we plan to release the training recipe, including data manifests, preprocessing scripts, and training configurations, alongside the technical report. data releases are subject to source redistribution rights.

citation

if you find MYRA-oss 1 useful in your research, please cite our work:

@unpublished{govindu2026rumikoss1,
  title  = {{rumik-oss 1 technical report}},
  author = {Govindu Pranav and Anant Shukla and Suryansh Shakya and Aman Anand and Vatsal Bharti},
  year   = {2026},
  note   = {In preparation}
}
Downloads last month
42
Safetensors
Model size
3B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for arvindcodex11/MYRA-oss-1

Finetuned
(2)
this model

Paper for arvindcodex11/MYRA-oss-1