| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| admin | ||
| agent | ||
| ai | ||
| assistant | ||
| auth | ||
| clinical-gap | ||
| facts | ||
| mcp | ||
| patient | ||
| persona | ||
| plan | ||
| plan-aggregate | ||
| realtime-coach | ||
| sync |
交互(用户要求):点🎤 开始 → 说话时文字实时滚动进输入框 → 再点 = 纯退出(已上屏文字保留)。 实现(复用 realtime-coach 成熟模式,ASR 容器零改动): - 前端:PCM16 16k 采音 + RMS 静音门控(无声不发帧)→ socket.io 推帧; dictation:partial(当前句滚动覆盖)/ dictation:final(句定稿累加)→ setInput 实时渲染; base 保留输入框已有文字,听写追加其后。 - 后端 DictationGateway(socket.io,JWT 握手鉴权同 coach):按"帧到达间隙"断句 —— 说话中每 700ms 把当前句 PCM 包 44 字节 WAV 头调 TranscribeService 出 partial; 停顿 ≥800ms / 超 30s 整句 final 并清缓冲。inFlight 防解码重叠;先清缓冲再 final 解码(下一句帧不混入)。SenseVoice 离线模型 RTF~0.1 → 句级重解码远快于实时。 实测(模拟浏览器推帧):开口 1.3s 首个 partial,~0.7s/次滚动更新,停顿 1.3s 出整句 final, 文本与一次性识别完全一致。两端 tsc 0。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| admin | Loading commit data... | |
| agent | Loading commit data... | |
| ai | Loading commit data... | |
| assistant | Loading commit data... | |
| auth | Loading commit data... | |
| clinical-gap | Loading commit data... | |
| facts | Loading commit data... | |
| mcp | Loading commit data... | |
| patient | Loading commit data... | |
| persona | Loading commit data... | |
| plan | Loading commit data... | |
| plan-aggregate | Loading commit data... | |
| realtime-coach | Loading commit data... | |
| sync | Loading commit data... |