--- 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** [![License](https://img.shields.io/badge/license-Apache--2.0-2563eb.svg)](https://huggingface.co/DataoceanAI/dolphin-small/blob/main/README.md) [![Format](https://img.shields.io/badge/format-.oasr-7c3aed.svg)](https://github.com/QuintinShaw/openasr) [![Runtime](https://img.shields.io/badge/runtime-OpenASR-111827.svg)](https://openasr.org) [![Base model](https://img.shields.io/badge/base-dolphin--small-f59e0b.svg)](https://huggingface.co/DataoceanAI/dolphin-small) Native speech-to-text in the **[OpenASR](https://github.com/QuintinShaw/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 `` 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, `small` tier** β€” the larger of the two multilingual Dolphin sizes (paired with the more compact `dolphin-base`) - πŸ¦€ **Native in OpenASR** β€” `.oasr` packs run with no Python at inference, engineered for peak performance on CPU & GPU ## πŸš€ Quickstart ```bash # 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: ```bash 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 `` 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](https://huggingface.co/DataoceanAI/dolphin-small) with the OpenASR importer: ```bash openasr model-pack import dolphin .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](https://huggingface.co/DataoceanAI/dolphin-small/blob/main/README.md)). 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](https://huggingface.co/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** β€” - 🌐 **Website** β€” - πŸ€— **Upstream model** β€” [DataoceanAI/dolphin-small](https://huggingface.co/DataoceanAI/dolphin-small)