Instructions to use theaviv/mevine-0.1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use theaviv/mevine-0.1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="theaviv/mevine-0.1", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("theaviv/mevine-0.1", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Mevine 0.1
A 107M-parameter Conformer–RNN-T speech recognition model, trained from scratch — no distillation, no pretrained encoder, no fine-tuning of an existing checkpoint.
Open weights, non-commercial research use only. See LICENSE — the restriction is inherited from the training corpus, not a preference. A commercially licensable variant trained without the restricted data is planned.
Results
Open ASR Leaderboard methodology: Whisper EnglishTextNormalizer, corpus-level WER
(total edits ÷ total reference words).
| dataset | WER | utterances | reference words |
|---|---|---|---|
| librispeech_clean | 0.0544 | 2,620 | 53,029 |
| librispeech_other | 0.1384 | 2,939 | 52,884 |
| voxpopuli | 0.1167 | 1,842 | 44,079 |
| gigaspeech | 0.2221 | 19,898 | 403,727 |
| earnings22 | 0.2019 | 2,731 | 48,919 |
| spgispeech | 0.0743 | 39,341 | 969,328 |
| average | 0.1346 |
Throughput
RTFx is audio-seconds decoded per wall-second. Greedy decoding throughout.
| GPU | batch | decode | eval set | RTFx |
|---|---|---|---|---|
| H100 80GB HBM3 (SXM) | 16 | greedy | gigaspeech | 668× |
| RTX PRO 6000 Blackwell | 64 | greedy | librispeech_clean | 537× |
| H100 80GB HBM3 (SXM) | 16 | greedy | spgispeech | 462× |
| RTX PRO 6000 Blackwell | 16 | greedy | librispeech_clean | 394× |
| H100 PCIe | 128 | greedy | librispeech_clean | 371× |
| RTX A6000 | 16 | greedy | librispeech_clean | 162× |
Usage
import torch
from transformers import AutoModel
model_path = "theaviv/mevine-0.1"
device = "cuda" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.bfloat16 if device == "cuda" else torch.float32
model = AutoModel.from_pretrained(
model_path, trust_remote_code=True, dtype=torch_dtype
).to(device).eval()
print(model.transcribe("audio.wav"))
trust_remote_code=True is required: Mevine's architecture is not part of transformers, so the
two modules that define it (configuration_mevine.py, modeling_mevine.py) ship in this repo and
are loaded from it. Read them — they are the entire model, ~600 lines with no dependencies beyond
the list below.
transcribe accepts a file path in any format torchaudio reads, or a 1-D 16 kHz mono float32
tensor. Audio of any length works: clips longer than 30 s are windowed automatically, with cuts
nudged into pauses so words are not sliced in half. Pass chunk_s=0 to force a single window.
For batch or frame-level work, call the model directly — model(mel, mel_len) returns token ids,
and model.feature_extractor / model.load_audio / model.tokenizer are the pieces transcribe
composes.
Requires transformers>=5.0, torch, torchaudio, tokenizers, soundfile, safetensors.
Nothing else.
Model
| architecture | Conformer encoder (16 layers, d=512, 8 heads) + LSTM prediction net + joint |
| parameters | 107.15M |
| tokenizer | 1024-token byte-level BPE |
| audio | 16 kHz mono; 80-mel log-mel, 25 ms window / 10 ms hop, per-utterance CMVN |
| decoding | RNN-T greedy; no beam, no external language model, no shallow fusion |
| precision | bf16 |
The encoder is offline and bidirectional. Streaming mode is not available as part of open weights release.
Training data
| source | hours | licence | dataset |
|---|---|---|---|
| LoquaciousSet (medium+large) | 4,883 h | CC-BY-4.0 | speechbrain/LoquaciousSet |
| Earnings-22 | 119 h | CC-BY-SA-4.0 (share-alike) | sanchit-gandhi/earnings22_split |
| SPGISpeech | 184 h | Kensho research/internal-use, non-commercial | kensho/spgispeech |
| total | 5,167 h | 2,058,381 utterances |
Read the licence column. SPGISpeech is distributed under a Kensho research/internal-use agreement that restricts redistribution and prohibits commercial use, and Earnings-22 is share-alike. Those terms flow through to these weights. This is disclosed rather than buried: it is why the model is non-commercial, and it is stated in full in LICENSE §3.
GigaSpeech is not in the training corpus — it is gated and contributed 0 hours — which is visible in the results as the weakest column relative to the others.
Limitations
- English only. No other language was trained or evaluated.
- No streaming. The encoder attends bidirectionally over the whole utterance.
- Uneven across domains. Read and prepared speech (LibriSpeech, VoxPopuli, SPGI) are much stronger than spontaneous, noisy or conversational audio (GigaSpeech, Earnings-22). The gap tracks what the corpus contains, not what the architecture can do.
- No punctuation or casing. Output is lowercase, unpunctuated text.
- No speaker diarisation, no timestamps.
- Not evaluated for fairness across accents, dialects or demographics. Do not deploy where that matters without measuring it yourself.
- ASR output contains errors. Do not use for medical, legal, safety-critical or surveillance purposes.
Training
| hardware | 1× H100 80GB |
| wall time | 15.7 hours |
| steps | 200,000 |
| effective throughput | 3.56 steps/s |
| optimiser | AdamW, Noam schedule (peak 3e-4, 2000 warmup) |
| loss | 0.7 × RNN-T + 0.3 × CTC auxiliary (the CTC head is discarded at inference) |
| stability | 0 OOM recoveries; 74 dropped items of 2.06M |
The dev-WER curve was still descending when the compute budget ran out — 200k steps was a budget, not convergence.
Commercial use
These weights are research-only for the corpus reason above, not because the technology is unavailable. A commercially licensable variant — same architecture, same training system, retrained without the restricted data — is in progress.
What is actually on offer is the system rather than this checkpoint: the corpus pipeline, the evaluation harness and the training loop were built to be pointed at a specific domain and re-run, which is what moves WER on audio that a general model handles badly. Mevine 0.1 is the evidence that the loop works end to end, from random initialisation.
If you have an audio workload you would want a model tuned for, open a discussion on this repo.
Citation
@misc{{mevine2026,
title = {{Mevine 0.1: a from-scratch 107M Conformer-RNN-T for English ASR}},
author = {{Dozorets, Aviv}},
year = {{2026}},
note = {{Open weights, non-commercial research licence}},
url = {{https://huggingface.co/theaviv/mevine-0.1}}
}}
Acknowledgements
Trained on LoquaciousSet (SpeechBrain), Earnings-22 (Rev.com), and SPGISpeech (Kensho). Evaluated with the Open ASR Leaderboard methodology.
- Downloads last month
- 402
