Commit
·
5b39f9e
1
Parent(s):
f62e484
framework
Browse files- Framework.md +71 -0
Framework.md
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## 【伪流式音频转写 + LLM优化系统架构图】
|
2 |
+
|
3 |
+
### 🌊 总体流程图
|
4 |
+
|
5 |
+
```mermaid
|
6 |
+
graph TD
|
7 |
+
A[音频流输入] --> B[VAD]
|
8 |
+
B --> C[Transcribe]
|
9 |
+
C --> D[语义聚合控制器]
|
10 |
+
|
11 |
+
D --> E[即时输出模块]
|
12 |
+
D --> F[LLM 优化调度器]
|
13 |
+
|
14 |
+
F --> G[优化后回填模块]
|
15 |
+
G --> E
|
16 |
+
E --> H[翻译模块]
|
17 |
+
```
|
18 |
+
|
19 |
+
---
|
20 |
+
|
21 |
+
### 🧱 模块划分(以伪流式为核心)
|
22 |
+
|
23 |
+
#### **模块 A:音频流输入**
|
24 |
+
- **职责**:接收用户麦克风或远程语音流(如 WebRTC, WebSocket),将连续音频切分为帧(如每帧 20ms)。
|
25 |
+
- **特点**:持续运行的监听器,向下游推送 PCM 帧 / numpy array。
|
26 |
+
- **实时性保障**:限帧缓冲长度(防止阻塞);异步 IO(web/本地都适用)。
|
27 |
+
|
28 |
+
#### **模块 B:VAD 分段器**
|
29 |
+
- **职责**:根据能量、静音、说话边界等信号判断语音段落。
|
30 |
+
- **输出**:segment 音频块 + 时间戳。
|
31 |
+
- **特点**:滑动窗口方式收集帧,支持重叠帧(方便 whisper 特征提取)。
|
32 |
+
- **实时性保障**:分段逻辑低延迟计算,每完成一个 segment 即可推送。
|
33 |
+
|
34 |
+
#### **模块 C:Whisper 转录模块**
|
35 |
+
- **职责**:对每段 VAD 输出进行 whisper 转写,输出文本 + 时间戳。
|
36 |
+
- **特点**:segment 级别调用 whisper,天然可并行;可 GPU 推理加速。
|
37 |
+
- **实时性保障**:控制 segment 长度在 1~5s,支持多个转录 worker 异步执行。
|
38 |
+
|
39 |
+
#### **模块 D:语义聚合控制器**(⚠️核心控制器)
|
40 |
+
- **职责**:维护 segment 缓冲池(N 个),判断 segment 是否“组成完整语义单元”,推送两个下游:
|
41 |
+
- 即时展示模块(原始或优化转写)
|
42 |
+
- fine-tune 队列(异步 LLM 优化)
|
43 |
+
- **判断逻辑**:基于标点、停顿、时间间隔、小模型或规则判断。
|
44 |
+
- **实时性保障**:设置最大延迟窗口,防止句子粘连。
|
45 |
+
|
46 |
+
#### **模块 E:即时输出模块**
|
47 |
+
- **职责**:将聚合后的转写结果立即显示给用户,无论是原始还是优化后的内容。
|
48 |
+
- **特点**:无等待、无依赖,低延迟输出,支持句子更新。
|
49 |
+
- **实时性保障**:最短路径,展示为第一响应版本。
|
50 |
+
|
51 |
+
#### **模块 F:LLM 优化调度器**
|
52 |
+
- **职责**:接收待优化句子,加入优化任务队列。
|
53 |
+
- **特点**:任务调度、并行执行、负载均衡;支持多模型、可控超时。
|
54 |
+
- **实时性保障**:异步非阻塞,不影响主流程。
|
55 |
+
|
56 |
+
#### **模块 G:优化后回填模块**
|
57 |
+
- **职责**:对照原句编号,将 LLM 优化结果回填替换,并推送给即时输出模块。
|
58 |
+
- **特点**:非强覆盖,可差分更新;UI 区分原始/优化版本。
|
59 |
+
- **实时性保障**:回填异步进行,不干扰主字幕。
|
60 |
+
|
61 |
+
#### **模块 H:翻译模块**
|
62 |
+
- **职责**:接收所有来自即时输出模块的句子(原始或优化后),将其翻译为目标语言。
|
63 |
+
- **特点**:单一翻译模块,适配不同质量文本;可以并行多语种或缓存优化后重译。
|
64 |
+
- **实时性保障**:即转即译 + 回填更新可分离,支持伪流式体验。
|
65 |
+
|
66 |
+
---
|
67 |
+
|
68 |
+
### 🔧 模块功能说明
|
69 |
+
|
70 |
+
(说明内容略,与上述保持一致,可在后续按需同步更新)
|
71 |
+
|