Resonant-Light
Speech recognition model in the Qwen3-ASR format (Qwen3ASRForConditionalGeneration, safetensors). It loads in vLLM without custom code, and in transformers through the qwen-asr package.
Usage (transformers)
pip install qwen-asr
import torch
from qwen_asr import Qwen3ASRModel
model = Qwen3ASRModel.from_pretrained("Reson8Labs/Resonant-Light", dtype=torch.bfloat16, device_map="cuda")
print(model.transcribe(audio="audio.wav", language="English")[0].text)
Usage (vLLM)
pip install "vllm[audio]"
vllm serve Reson8Labs/Resonant-Light --max-model-len 4096
import base64
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
audio = base64.b64encode(open("audio.wav", "rb").read()).decode()
r = client.chat.completions.create(
model="Reson8Labs/Resonant-Light",
messages=[{"role": "user", "content": [{"type": "audio_url", "audio_url": {"url": f"data:audio/wav;base64,{audio}"}}]}],
temperature=0,
extra_body={"chat_template_kwargs": {"language": "English"}},
)
print(r.choices[0].message.content)
Options (chat_template_kwargs, all optional):
| Option | Default | Effect |
|---|---|---|
language |
unset | Forces the language (English name, e.g. "Dutch"). If unset, the output starts with language <Name><asr_text>. |
digits |
true |
Numbers as digits; false writes them as words. |
filler |
false |
true keeps fillers such as "um" and "uh". |
verbatim |
true |
false collapses repeated words. |
- Downloads last month
- 49