Model reference · open weights

moonshine-streaming-small

Audio moonshine-ai Speech→text 1 build Open weights 6k dl/mo

moonshine-streaming-small is an open-weight audio or speech model from moonshine-ai. moonshine-streaming-small (FP32) weighs 280 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • moonshine-streaming-small is a 140M parameter automatic speech recognition model developed by moonshine-ai for low-latency English transcription on edge devices.
  • It features a 4096 token context length and is distributed under the MIT license.
  • The model uses a sliding-window Transformer encoder to support real-time applications like live captioning and voice commands.

Summary of the moonshine-ai/moonshine-streaming-small model card, 2026-10-01

What it is

Released bymoonshine-ai
Released2026-01-06
Parameters140M
VRAM280 MB for the weights

What it runs on

Memory and cards for moonshine-streaming-small (FP32)

280 MBweights, file size
1.6 GBruntime overhead
CardOne streamMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What moonshine-ai says about moonshine-streaming-small

Read the model card

[Paper]

This is the model card for the Moonshine Streaming automatic speech recognition (ASR) models trained and released by Useful Sensors. Moonshine Streaming pairs a lightweight 50~Hz audio frontend with a sliding-window Transformer encoder to deliver low-latency streaming ASR on edge-class hardware. The encoder uses bounded local attention and no positional embeddings (an "ergodic" encoder), while an adapter injects positional information before a standard autoregressive decoder.

This model card follows the recommendations from Model Cards for Model Reporting (Mitchell et al.). See the paper draft in this repository for full details.

Usage

Moonshine Streaming is supported in Hugging Face Transformers. The following example matches the standard seq2seq ASR API and uses the streaming model checkpoint:

pip install --upgrade pip
pip install --upgrade git+https://github.com/huggingface/transformers.git#egg=transformers datasets[audio]
from transformers import MoonshineStreamingForConditionalGeneration, AutoProcessor
from datasets import load_dataset, Audio
import torch

device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

model = MoonshineStreamingForConditionalGeneration.from_pretrained(
    "usefulsensors/moonshine-streaming-small"
).to(device).to(torch_dtype)
processor = AutoProcessor.from_pretrained("usefulsensors/moonshine-streaming-small")

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(processor.feature_extractor.sampling_rate))
sample = dataset[0]["audio"]

inputs = processor(
    sample["array"],
    return_tensors="pt",
    sampling_rate=processor.feature_extractor.sampling_rate,
)
inputs = inputs.to(device, torch_dtype)

# Limit max output length to avoid hallucination loops.
token_limit_factor = 6.5 / processor.feature_extractor.sampling_rate
seq_lens = inputs.attention_mask.sum(dim=-1)
max_length = int((seq_lens * token_limit_factor).max().item())

generated_ids = model.generate(**inputs, max_length=max_length)
print(processor.decode(generated_ids[0], skip_special_tokens=True))

Note: the current Transformers code path does not yet implement fully efficient streaming for these models. It uses the flash-attention backend's sliding-window attention when available.

Model Details

Model type

Sequence-to-sequence ASR model with a streaming, sliding-window Transformer encoder and an autoregressive Transformer decoder.

Supported languages

English (trained and evaluated on English datasets).

Model sizes

SizeParametersEncoder / Decoder layersEncoder dimDecoder dim
Tiny34M6 / 6320320
Small123M10 / 10620512
Medium245M14 / 14768640

Architecture summary

  • Audio frontend: 50~Hz features using simple time-domain operations, CMVN, and two causal stride-2 convolutions.
  • Encoder: sliding-window self-attention with no positional embeddings (ergodic encoder). Windowing uses $(16,4)$ for the first two and last two layers and $(16,0)$ for intermediate layers, giving an 80~ms lookahead in the lookahead layers.
  • Adapter: adds learned positional embeddings and aligns dimensions before the decoder.
  • Decoder: causal Transformer with RoPE, autoregressively generating text.

Model Use

Intended use

These models are intended for low-latency, on-device English speech transcription on memory- and compute-constrained platforms (roughly 0.1--1~TOPS and sub-1~GB memory budgets). Typical applications include live captioning, voice commands, and real-time transcription.

Out-of-scope use

These models are not intended for non-consensual surveillance, speaker identification, or high-stakes decision-making contexts. They have not been robustly evaluated for tasks outside English ASR.

Training Data

Moonshine Streaming was trained on roughly 300K hours of speech data. This includes the original Moonshine training sources (about 200K hours of public web data and open datasets) plus an additional 100K hours of internally prepared speech data. See the paper for details and dataset sources.

Performance and Limitations

Open ASR benchmark results (WER %)

DatasetTiny (34M)Small (123M)Medium (245M)
AMI19.0312.5410.68
Earnings-2220.2713.5311.90
GigaSpeech13.9010.419.46
LibriSpeech (clean)4.492.492.08
LibriSpeech (other)12.096.785.00
SPGISpeech6.163.192.58
TED-LIUM6.123.772.99
VoxPopuli14.029.988.54
Average12.017.846.65

Known limitations

  • The decoder is autoregressive, so full-output latency grows with transcript length even when TTFT is low.
  • The Transformers implementation does not yet perform fully efficient streaming; it relies on the flash-attention backend for sliding-window attention.
  • Like other seq2seq ASR models, Moonshine Streaming can hallucinate words that are not present in the audio, and may repeat phrases, especially on short or noisy segments.

Broader Implications

Moonshine Streaming enables low-cost, low-latency transcription, which benefits accessibility and user interaction on edge devices. At the sam

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms