Commit
·
401b3f7
1
Parent(s):
526f2ef
update doc
Browse files
Framework.md
CHANGED
@@ -25,13 +25,13 @@ graph TD
|
|
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 异步执行。
|
@@ -43,12 +43,12 @@ graph TD
|
|
43 |
- **判断逻辑**:基于标点、停顿、时间间隔、小模型或规则判断。
|
44 |
- **实时性保障**:设置最大延迟窗口,防止句子粘连。
|
45 |
|
46 |
-
#### **模块 E
|
47 |
- **职责**:将聚合后的转写结果立即显示给用户,无论是原始还是优化后的内容。
|
48 |
- **特点**:无等待、无依赖,低延迟输出,支持句子更新。
|
49 |
- **实时性保障**:最短路径,展示为第一响应版本。
|
50 |
|
51 |
-
#### **模块 F:LLM
|
52 |
- **职责**:接收待优化句子,加入优化任务队列。
|
53 |
- **特点**:任务调度、并行执行、负载均衡;支持多模型、可控超时。
|
54 |
- **实时性保障**:异步非阻塞,不影响主流程。
|
@@ -58,7 +58,7 @@ graph TD
|
|
58 |
- **特点**:非强覆盖,可差分更新;UI 区分原始/优化版本。
|
59 |
- **实时性保障**:回填异步进行,不干扰主字幕。
|
60 |
|
61 |
-
#### **模块 H
|
62 |
- **职责**:接收所有来自即时输出模块的句子(原始或优化后),将其翻译为目标语言。
|
63 |
- **特点**:单一翻译模块,适配不同质量文本;可以并行多语种或缓存优化后重译。
|
64 |
- **实时性保障**:即转即译 + 回填更新可分离,支持伪流式体验。
|
|
|
25 |
- **特点**:持续运行的监听器,向下游推送 PCM 帧 / numpy array。
|
26 |
- **实时性保障**:限帧缓冲长度(防止阻塞);异步 IO(web/本地都适用)。
|
27 |
|
28 |
+
#### **模块 B:VAD 分段器(vad)**
|
29 |
- **职责**:根据能量、静音、说话边界等信号判断语音段落。
|
30 |
- **输出**:segment 音频块 + 时间戳。
|
31 |
- **特点**:滑动窗口方式收集帧,支持重叠帧(方便 whisper 特征提取)。
|
32 |
- **实时性保障**:分段逻辑低延迟计算,每完成一个 segment 即可推送。
|
33 |
|
34 |
+
#### **模块 C:Whisper 转录模块(transcribe)**
|
35 |
- **职责**:对每段 VAD 输出进行 whisper 转写,输出文本 + 时间戳。
|
36 |
- **特点**:segment 级别调用 whisper,天然可并行;可 GPU 推理加速。
|
37 |
- **实时性保障**:控制 segment 长度在 1~5s,支持多个转录 worker 异步执行。
|
|
|
43 |
- **判断逻辑**:基于标点、停顿、时间间隔、小模型或规则判断。
|
44 |
- **实时性保障**:设置最大延迟窗口,防止句子粘连。
|
45 |
|
46 |
+
#### **模块 E:即时输出模块(display)**
|
47 |
- **职责**:将聚合后的转写结果立即显示给用户,无论是原始还是优化后的内容。
|
48 |
- **特点**:无等待、无依赖,低延迟输出,支持句子更新。
|
49 |
- **实时性保障**:最短路径,展示为第一响应版本。
|
50 |
|
51 |
+
#### **模块 F:LLM 优化调度器(optimizer)**
|
52 |
- **职责**:接收待优化句子,加入优化任务队列。
|
53 |
- **特点**:任务调度、并行执行、负载均衡;支持多模型、可控超时。
|
54 |
- **实时性保障**:异步非阻塞,不影响主流程。
|
|
|
58 |
- **特点**:非强覆盖,可差分更新;UI 区分原始/优化版本。
|
59 |
- **实时性保障**:回填异步进行,不干扰主字幕。
|
60 |
|
61 |
+
#### **模块 H:翻译模块(translator)**
|
62 |
- **职责**:接收所有来自即时输出模块的句子(原始或优化后),将其翻译为目标语言。
|
63 |
- **特点**:单一翻译模块,适配不同质量文本;可以并行多语种或缓存优化后重译。
|
64 |
- **实时性保障**:即转即译 + 回填更新可分离,支持伪流式体验。
|
dataset/audio/metadata/test1_segments_20250425_165446.json
ADDED
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"audio_file": "dataset/audio/test1.wav",
|
3 |
+
"timestamp": "20250425_165446",
|
4 |
+
"total_segments": 17,
|
5 |
+
"segments": [
|
6 |
+
{
|
7 |
+
"index": 0,
|
8 |
+
"start_time": 3.26,
|
9 |
+
"end_time": 3.92,
|
10 |
+
"duration": 0.6600000000000001,
|
11 |
+
"is_speech": true
|
12 |
+
},
|
13 |
+
{
|
14 |
+
"index": 1,
|
15 |
+
"start_time": 4.34,
|
16 |
+
"end_time": 5.56,
|
17 |
+
"duration": 1.2199999999999998,
|
18 |
+
"is_speech": true
|
19 |
+
},
|
20 |
+
{
|
21 |
+
"index": 2,
|
22 |
+
"start_time": 7.1,
|
23 |
+
"end_time": 7.8,
|
24 |
+
"duration": 0.7000000000000002,
|
25 |
+
"is_speech": true
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"index": 3,
|
29 |
+
"start_time": 8.8,
|
30 |
+
"end_time": 12.44,
|
31 |
+
"duration": 3.639999999999999,
|
32 |
+
"is_speech": true
|
33 |
+
},
|
34 |
+
{
|
35 |
+
"index": 4,
|
36 |
+
"start_time": 12.8,
|
37 |
+
"end_time": 16.74,
|
38 |
+
"duration": 3.9399999999999977,
|
39 |
+
"is_speech": true
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"index": 5,
|
43 |
+
"start_time": 17.32,
|
44 |
+
"end_time": 18.76,
|
45 |
+
"duration": 1.4400000000000013,
|
46 |
+
"is_speech": true
|
47 |
+
},
|
48 |
+
{
|
49 |
+
"index": 6,
|
50 |
+
"start_time": 19.76,
|
51 |
+
"end_time": 21.1,
|
52 |
+
"duration": 1.3399999999999999,
|
53 |
+
"is_speech": true
|
54 |
+
},
|
55 |
+
{
|
56 |
+
"index": 7,
|
57 |
+
"start_time": 21.62,
|
58 |
+
"end_time": 25.68,
|
59 |
+
"duration": 4.059999999999999,
|
60 |
+
"is_speech": true
|
61 |
+
},
|
62 |
+
{
|
63 |
+
"index": 8,
|
64 |
+
"start_time": 26.28,
|
65 |
+
"end_time": 28.2,
|
66 |
+
"duration": 1.9199999999999982,
|
67 |
+
"is_speech": true
|
68 |
+
},
|
69 |
+
{
|
70 |
+
"index": 9,
|
71 |
+
"start_time": 28.56,
|
72 |
+
"end_time": 31.6,
|
73 |
+
"duration": 3.0400000000000027,
|
74 |
+
"is_speech": true
|
75 |
+
},
|
76 |
+
{
|
77 |
+
"index": 10,
|
78 |
+
"start_time": 31.98,
|
79 |
+
"end_time": 33.2,
|
80 |
+
"duration": 1.2200000000000024,
|
81 |
+
"is_speech": true
|
82 |
+
},
|
83 |
+
{
|
84 |
+
"index": 11,
|
85 |
+
"start_time": 33.54,
|
86 |
+
"end_time": 36.52,
|
87 |
+
"duration": 2.980000000000004,
|
88 |
+
"is_speech": true
|
89 |
+
},
|
90 |
+
{
|
91 |
+
"index": 12,
|
92 |
+
"start_time": 37.82,
|
93 |
+
"end_time": 38.94,
|
94 |
+
"duration": 1.1199999999999974,
|
95 |
+
"is_speech": true
|
96 |
+
},
|
97 |
+
{
|
98 |
+
"index": 13,
|
99 |
+
"start_time": 39.34,
|
100 |
+
"end_time": 40.34,
|
101 |
+
"duration": 1.0,
|
102 |
+
"is_speech": true
|
103 |
+
},
|
104 |
+
{
|
105 |
+
"index": 14,
|
106 |
+
"start_time": 40.86,
|
107 |
+
"end_time": 42.4,
|
108 |
+
"duration": 1.5399999999999991,
|
109 |
+
"is_speech": true
|
110 |
+
},
|
111 |
+
{
|
112 |
+
"index": 15,
|
113 |
+
"start_time": 43.04,
|
114 |
+
"end_time": 46.6,
|
115 |
+
"duration": 3.5600000000000023,
|
116 |
+
"is_speech": true
|
117 |
+
},
|
118 |
+
{
|
119 |
+
"index": 16,
|
120 |
+
"start_time": 47.5,
|
121 |
+
"end_time": 49.8,
|
122 |
+
"duration": 2.299999999999997,
|
123 |
+
"is_speech": true
|
124 |
+
}
|
125 |
+
]
|
126 |
+
}
|