【伪流式音频转写 + LLM优化系统架构图】
🌊 总体流程图
graph TD
A[音频流输入] --> B[VAD]
B --> C[Transcribe]
C --> D[语义聚合控制器]
D --> E[即时输出模块]
D --> F[LLM 优化调度器]
F --> G[优化后回填模块]
G --> E
E --> H[翻译模块]
🧱 模块划分(以伪流式为核心)
模块 A:音频流输入
- 职责:接收用户麦克风或远程语音流(如 WebRTC, WebSocket),将连续音频切分为帧(如每帧 20ms)。
- 特点:持续运行的监听器,向下游推送 PCM 帧 / numpy array。
- 实时性保障:限帧缓冲长度(防止阻塞);异步 IO(web/本地都适用)。
模块 B:VAD 分段器(vad)
- 职责:根据能量、静音、说话边界等信号判断语音段落。
- 输出:segment 音频块 + 时间戳。
- 特点:滑动窗口方式收集帧,支持重叠帧(方便 whisper 特征提取)。
- 实时性保障:分段逻辑低延迟计算,每完成一个 segment 即可推送。
模块 C:Whisper 转录模块(transcribe)
- 职责:对每段 VAD 输出进行 whisper 转写,输出文本 + 时间戳。
- 特点:segment 级别调用 whisper,天然可并行;可 GPU 推理加速。
- 实时性保障:控制 segment 长度在 1~5s,支持多个转录 worker 异步执行。
模块 D:语义聚合控制器(⚠️核心控制器)
- 职责:维护 segment 缓冲池(N 个),判断 segment 是否“组成完整语义单元”,推送两个下游:
- 即时展示模块(原始或优化转写)
- fine-tune 队列(异步 LLM 优化)
- 判断逻辑:基于标点、停顿、时间间隔、小模型或规则判断。
- 实时性保障:设置最大延迟窗口,防止句子粘连。
模块 E:即时输出模块(display)
- 职责:将聚合后的转写结果立即显示给用户,无论是原始还是优化后的内容。
- 特点:无等待、无依赖,低延迟输出,支持句子更新。
- 实时性保障:最短路径,展示为第一响应版本。
模块 F:LLM 优化调度器(optimizer)
- 职责:接收待优化句子,加入优化任务队列。
- 特点:任务调度、并行执行、负载均衡;支持多模型、可控超时。
- 实时性保障:异步非阻塞,不影响主流程。
模块 G:优化后回填模块
- 职责:对照原句编号,将 LLM 优化结果回填替换,并推送给即时输出模块。
- 特点:非强覆盖,可差分更新;UI 区分原始/优化版本。
- 实时性保障:回填异步进行,不干扰主字幕。
模块 H:翻译模块(translator)
- 职责:接收所有来自即时输出模块的句子(原始或优化后),将其翻译为目标语言。
- 特点:单一翻译模块,适配不同质量文本;可以并行多语种或缓存优化后重译。
- 实时性保障:即转即译 + 回填更新可分离,支持伪流式体验。
🔧 模块功能说明
(说明内容略,与上述保持一致,可在后续按需同步更新)