Qwen3-ASR 实时流式语音识别

OpenAI 兼容接口 · WebSocket 实时会话 + SSE 流式转写 · 后端 Qwen3-ASR-1.7B (q8_0 GGUF / audiocpp)

🎙 实时麦克风识别 WS /v1/realtime

点击「开始录音」后对着麦克风说话,识别结果将实时流式显示…
状态: 未连接 · 会话: -
服务端能量 VAD 自动断句;说话过程中每 ~1.6 秒推送一次增量(partial),停顿后输出整句(final)。

📁 文件流式转写 POST /v1/audio/transcriptions

点击或拖入音频文件 (wav / mp3 / m4a / pcm)

📖 API 说明(OpenAI 兼容)

基础地址 · 模型 qwen3-asr-1.7b · 支持 30 种语言 + 22 种方言

# 1. 非流式转写(OpenAI 兼容)
curl -X POST /v1/audio/transcriptions \
  -F file=@test.wav -F model=qwen3-asr-1.7b
# => {"text":"识别结果","duration_ms":2000,"model":"qwen3-asr-1.7b"}

# 2. SSE 流式转写(分段增量推送)
curl -N -X POST /v1/audio/transcriptions \
  -F file=@test.wav -F model=qwen3-asr-1.7b -F stream=true
# data: {"object":"transcription.chunk","text":"你好","start_ms":0,"end_ms":1800}
# data: {"object":"transcription.done","text":"你好 世界","segments":2,"wall_ms":890}
# data: [DONE]

# 3. WebSocket 实时会话(浏览器麦克风)
ws = new WebSocket("/v1/realtime")
ws.binaryType = "arraybuffer"
ws.send(JSON.stringify({type:"session.update", language:"Chinese"}))
ws.send(arrayBufferPCM16Mono16k)      // 二进制音频帧
// {"type":"transcript.partial","text":"..."}  增量结果
// {"type":"transcript.final","text":"..."}     整句结果