Instructions to use OpenASR/dolphin-small with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- OpenASR
How to use OpenASR/dolphin-small with OpenASR:
# Install the openasr CLI: https://github.com/QuintinShaw/openasr/releases openasr pull dolphin-small openasr transcribe audio.wav --model dolphin-small
- Notebooks
- Google Colab
- Kaggle
license: apache-2.0
base_model: DataoceanAI/dolphin-small
pipeline_tag: automatic-speech-recognition
library_name: openasr
tags:
- automatic-speech-recognition
- speech-to-text
- openasr
- oasr
- dolphin-small
Dolphin Small · OpenASR
Multilingual speech recognition across 40 languages -- a WeNet/ESPnet E-Branchformer (CTC + attention) covering South/Southeast/Central Asian and Chinese-dialect speech
Native speech-to-text in the OpenASR runtime — engineered for peak performance on CPU & GPU, no Python at inference time.
✨ Highlights
- 🌏 40 languages, one checkpoint — a WeNet/ESPnet E-Branchformer spanning South Asian (Hindi, Bengali, Urdu...), Southeast Asian (Vietnamese, Thai, Indonesian...), Central Asian/Turkic (Kazakh, Uzbek, Azerbaijani...), and Chinese/Cantonese speech, with per-utterance
<lang><region>prompting - 🧩 Joint CTC + attention — an E-Branchformer encoder with a Transformer decoder and CTC/attention rescoring, verified against a shape-derived runtime contract shared with the rest of the Dolphin family
- 🐬 SentencePiece BPE vocab — a shared subword vocabulary across all 40 languages (distinct from the cn-dialect family's fixed character vocab), suited to code-mixed and cross-lingual speech
- 🪶 372M parameters,
smalltier — the larger of the two multilingual Dolphin sizes (paired with the more compactdolphin-base) - 🦀 Native in OpenASR —
.oasrpacks run with no Python at inference, engineered for peak performance on CPU & GPU
🚀 Quickstart
# 1. Install the OpenASR CLI · https://openasr.org
# 2. Pull a build (pick a quant — see the table below)
openasr pull dolphin-small:fp16
# 3. Transcribe
openasr transcribe audio.wav --model dolphin-small
All builds for this model:
openasr pull dolphin-small:fp16
openasr pull dolphin-small:q8
openasr pull dolphin-small:q4
📦 Available builds
| Quant | File (.oasr) |
Size | RAM peak | RTF · M1 CPU | RTF · M1 GPU | ΔCER vs fp16 |
|---|---|---|---|---|---|---|
| fp16 | dolphin-small-fp16.oasr |
754 MB | 3.86 GB | 0.35× | 0.59× | 0.0% |
| q8_0 | dolphin-small-q8_0.oasr |
412 MB | 2.68 GB | 0.37× | 0.80× | 0.0% |
| q4_k | dolphin-small-q4_k.oasr |
229 MB | 3.56 GB | 0.43× | 0.33× | 0.0% |
RTF = real-time factor on the shared 11s JFK clip (out-of-distribution, drift signal only) plus an in-language Mandarin sanity clip (lower is faster); RAM peak measured per pack in an isolated subprocess. ΔCER compares each quantized build's JFK + zh sanity clip transcript to this model's fp16 JFK + zh sanity clip transcript, so it measures quantization drift rather than absolute recognition accuracy. fp16 is the recommended default — near-reference quality at a fraction of the footprint.
🧠 About Dolphin Small
Dolphin Small is the 372M "small" tier of DataoceanAI's multilingual Dolphin speech-
recognition line, built on the Dolphin / ESPnet recipe as an E-Branchformer encoder +
Transformer decoder trained with a joint CTC + attention objective over a shared
SentencePiece BPE vocabulary. Unlike the dedicated dolphin-cn-dialect-* checkpoints (fixed
<zh> language token, Chinese-only char vocab), this multilingual checkpoint varies both
the language and region prompt slots across the card's advertised 40 languages -- South Asian,
Southeast Asian, Central Asian/Turkic, and Chinese (including Cantonese, listed separately as
yue) -- while collapsing this product's own Chinese-dialect granularity into a single zh
(the dedicated dolphin-cn-dialect-small/-base packs cover per-dialect prompting; this
checkpoint does not). This OpenASR repo repackages the weights as .oasr packs that run natively
in the OpenASR runtime -- no Python at inference, all decoding local. It ships in fp16
(maximum fidelity, recommended), q8_0, and q4_k builds.
Note: this model does not emit punctuation. Its upstream training corpus is transcribed without punctuation marks, so the decoder never predicts a punctuation token -- there is no setting to enable it. Transcripts are plain, unpunctuated text by design.
Verification status: this pack is staged in a private repo, not yet publicly listed. Local
verification so far covers Mandarin (zh) sanity-checked against the upstream architecture and
bit-stable across fp16/q8_0/q4_k quants; Japanese (ja), one of the 40 advertised languages, has
not yet had a native-speaker listening review and must get one before this model is made public.
⚙️ How these packs were made
Converted from DataoceanAI/dolphin-small with the OpenASR importer:
openasr model-pack import dolphin <src> <out>.oasr \
--package-id dolphin-small --quantization {fp16,q8-0,q4-k}
The .oasr container is GGUF-backed; packs use zero-copy mmap weight binding and graph
buffer reuse to keep peak memory low.
⚖️ License
These packs inherit the upstream model's license: Apache-2.0 (source). OpenASR packaging retains the upstream copyright and NOTICE; the only modifications are format conversion and quantization.
🙏 Acknowledgements
This pack is a redistribution of Dolphin Small, created and open-sourced by DataoceanAI (DataoceanAI/dolphin-small). All credit for the original architecture, training, and weights belongs to the authors; the license is inherited from and identical to the upstream model (Apache-2.0). The model builds on the Dolphin multilingual ASR project and the ESPnet E-Branchformer / joint CTC-attention recipe -- thank you to the Dolphin and ESPnet teams and to DataoceanAI for releasing their work openly. OpenASR only performs format conversion, quantization, runtime verification, and local-inference adaptation.
🔗 Links
- 🦀 OpenASR — https://github.com/QuintinShaw/openasr
- 🌐 Website — https://openasr.org
- 🤗 Upstream model — DataoceanAI/dolphin-small