faster-whisper-small / Framework.md
tianyaogavin's picture
update doc
401b3f7

【伪流式音频转写 + 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)

  • 职责:接收所有来自即时输出模块的句子(原始或优化后),将其翻译为目标语言。
  • 特点:单一翻译模块,适配不同质量文本;可以并行多语种或缓存优化后重译。
  • 实时性保障:即转即译 + 回填更新可分离,支持伪流式体验。

🔧 模块功能说明

(说明内容略,与上述保持一致,可在后续按需同步更新)