从本地语音识别到可发布双语字幕的一体化工作台
本地语音识别 · 双语字幕编辑 · 对话感知翻译 · macOS Liquid Glass
macOS Apple Silicon · DMG · Windows x64 · EXE · 最新版本与更新日志 · 使用文档 · 问题反馈
macOS 26 上的 v1.3.0 实际应用截图,使用演示字幕,只展示操作界面。
SubForge 将素材导入、语音转录、断句翻译、字幕编辑与导出放在同一个工作区,面向视频创作者和字幕本地化工作。选择本地语音识别时,音频处理在设备上完成;使用云端翻译服务时,所需字幕文本会发送给所选服务商。
| 精准转录 | 可控翻译 | 可恢复工作流 |
|---|---|---|
| Apple Silicon 使用 MLX,Windows 使用 CTranslate2;WhisperX forced alignment 与 TEN-VAD 保守校准词级边界 | 按上下文和说话人轮次翻译,校验漏译、错位、重复、占位语和思考内容泄漏 | 实时进度、中间结果增量保存、失败条目局部重试、恢复字幕和聚合 LLM 日志 |
- 结构断裂修复:增加修饰语、被插入语打断的谓语和重复起句等检测;修复需满足分句依据、词数、时长和说话人约束。
- 清理后时间对齐:将可安全对应的清理文本映射到原始词时间,保留原词与元数据;无法可靠对齐时保守跳过。
- 历史字幕修复工具:提供可选的 GLM 窗口重译与整片复核,源文、时间和译文一起提交,失败整窗回退。
- 减少校验误报:支持中文顿号数字列表,以及有明确车辆语境的 EV 中文译法,仍拦截改数和车型标识漏译。
- 验证与边界:2913 项 Python、62 项前端测试通过;开发样本 17 个窗口通过校验,3 个回退。GLM 覆盖全部 706 条修复稿,复杂断点仍需复核;不是重新转录或准确率保证。
详情见 v1.3.3 发布说明 · 完整更新日志。
| 素材导入 | 分类设置 |
|---|---|
![]() |
![]() |
截图展示 macOS 26 的实际界面。Windows 使用网页工具栏;旧版 macOS 的原生回退样式尚未在旧版实机完成视觉验证。
查看转录、对齐与翻译流程
flowchart LR
A["导入与预检"] --> B{"音频策略"}
B -->|单人固定语言| C["可选 DeepFilterNet3"]
B -->|多人或自动语言| D["保留原始音轨"]
C --> E["WhisperX ASR"]
D --> E
E --> F["混合语言区间复听"]
F --> G["逐语言 forced alignment"]
G --> H["TEN-VAD 保守边界校验"]
H --> I["可选 Community-1 说话人分离"]
I --> J["智能断句与保守纠错"]
J --> K["上下文 / 对话感知翻译"]
K --> L["质量检查与导出"]
| 能力 | 实现与边界 |
|---|---|
| 本地语音识别 | WhisperX:Apple Silicon 使用 MLX Whisper;Windows 使用 Faster-Whisper/CTranslate2,可选 CUDA 或 CPU |
| 词级时间轴 | 对齐前展开数字、单位和符号;按语言选择 forced alignment 模型;TEN-VAD 只修正可疑边界 |
| 混合语言 | 自动语言探测、高置信度外语区间局部复听、逐语言对齐与缺失模型提示;手动选择源语言时不改变原有固定语言流程 |
| 多人语音 | pyannote Community-1,支持双人、自动 1–10 人或指定 2–10 人;标签只用于内部轮次,不写入最终字幕 |
| 智能断句 | 语义重组后校验原文覆盖、字幕长度、键完整性和时间轴,不允许吞词或自由改写 |
| 对话感知翻译 | 将可靠的说话人标签匿名化为临时轮次,结合前后文处理指代、问答和省略;单人任务不增加该开销 |
| 结果质量门 | 检查空译文、跨条错位、相邻重复、编辑占位语、思考内容、数字和专有名词异常,仅重试失败条目 |
| 编辑与外观 | 字幕编辑、删除、合并与最多 30 步撤销;系统/浅色/深色外观,尊重减少动态效果等偏好 |
| 导出 | SRT、VTT、ASS、TXT、JSON;中英双语默认中文在上、原文在下 |
查看转录和翻译的技术细节
- 单人且源语言固定时可启用 DeepFilterNet3;多人和自动语言模式会跳过增强,保护弱声纹与短外语片段。
- MLX Whisper 为 Apple Silicon 提供本地加速;Faster-Whisper 为 Windows 提供 CTranslate2 路径。
- WhisperX 按检测语言选择独立对齐模型。设置页可搜索、下载和检查 41 种语言模型。
- TEN-VAD 只校验可疑句首和句尾;不可用时回退 Silero VAD,不全局覆盖正确的 WhisperX 时间戳。
- pyannote Community-1 只负责稳定的声纹聚类,不推断人物姓名或身份。
语义断句 -> 保守纠错 -> 全局上下文 -> 批量翻译
-> 可选反思 -> 漏译/错位/重复/泄漏检查
-> 失败键局部恢复 -> 中文逗号和句号本地清理
- MiniMax 使用官方 Anthropic 兼容协议,原生区分
thinking与最终text;M3 遇到 HTTP 429 时保持任务存活并等待恢复。 - 智谱 GLM、NVIDIA NIM、小米 MiMo、DeepSeek、OpenAI、通义千问及本地服务使用 OpenAI 兼容协议;Base URL、API Key 和模型按服务商独立保存。
- NVIDIA 模型目录按开发公司折叠,并支持搜索;免费模型页面可以检查服务可用性,可用性不代表翻译质量或额度保证。
- NVIDIA API 与 MiniMax M3 一样在 HTTP 429 后保持任务存活,优先遵循
Retry-After,并持续等待服务恢复;认证错误等非限流故障仍会立即返回。 - 反思模式再次检查语气、称谓、指代和问答关系,但仍必须保持字幕键和内容所有权。
- 中间结果持续写入恢复文件,最终质量检查失败不会清空已经完成的字幕。
当前发布版本为 v1.3.3。安装包已包含应用、前端、Python 运行时和媒体工具,不需要先安装 Python 或 Node.js。
| 平台 | 下载 | 安装 |
|---|---|---|
| macOS Apple Silicon | SubForge-1.3.3-macos-arm64.dmg | 打开 DMG,将 SubForge 拖入 Applications |
| Windows x64 | SubForge-1.3.3-windows-x64-setup.exe | 运行 EXE 安装程序,按向导完成安装 |
- SHA-256 校验文件 · 最新 Release。
- Whisper、强制对齐和说话人模型按需单独下载;已有模型目录可继续使用。云端翻译需配置所选服务商和相应凭据。
- macOS 安装包使用 ad-hoc 签名,未经 Apple 公证;当前未上架 App Store。原生 Liquid Glass 效果需要 macOS 26。
- 当前公开安装包面向 Apple Silicon Mac 与 Windows x64;没有单独 CUDA 安装包。Linux 以 Web/CLI 源码运行和开发验证为主。
从源码运行 Web 与 CLI
需要 Python 3.10–3.12、uv 和 Node.js 20+。
git clone https://github.com/henry1786580051-lang/SubForge.git
cd SubForge
uv sync --extra whisperx --extra denoise
PYTHONPATH=backend uv run uvicorn app.main:app --host 127.0.0.1 --port 8000另开一个终端:
cd SubForge/frontend
npm ci
npm run dev打开 http://localhost:3000。Windows 如需 WhisperX、forced alignment 或 Community-1,同样安装 whisperx 可选依赖;只使用 Whisper.cpp 或云端 API 时可执行 uv sync。
uv run subforge doctor
uv run subforge transcribe input.mp4 --asr whisperx --language auto --word-timestamps
uv run subforge subtitle input.srt更多命令请运行 uv run subforge --help。桌面应用入口为 launcher.py,界面采用 Next.js、FastAPI 与 pywebview。
以下为旧版开发阶段保存的样本结果,未在 v1.3.0 重新跑测。结构检查、原文相似度及 token 用量不代表完整语义准确率,也不是当前版本的成本承诺。
展开 Audi Q3 与五人访谈案例、字幕和阶段用量
| 项目 | 实测值 |
|---|---|
| 视频 | 2026 Audi Q3 - New Turbo Compact SUV Real World City Commute,34:47 |
| 输入 / 输出 | 5,803 条词级片段 → 629 条中英双语字幕 |
| 模型 | MiniMax-M3,Anthropic 协议,批量 / 并发 10 / 10 |
| 质量 | 原文规范化相似度 99.72%;空译文、占位语、思考泄漏、时间轴重叠均为 0 |
| Token | 输入 515,779;输出 121,710;服务端缓存读取占输入 34.07% |
查看 Audi Q3 分阶段 Token 数据
| 阶段 | 请求尝试 | 成功 | 限流/重试 | 输入 Token | 缓存读取 | 输出 Token |
|---|---|---|---|---|---|---|
| 智能断句 | 38 | 38 | 0 | 44,120 | 18,546 | 12,168 |
| 保守纠错 | 102 | 64 | 38 | 73,334 | 15,402 | 9,921 |
| 上下文生成 | 1 | 1 | 0 | 3,014 | 128 | 1,372 |
| 翻译与反思 | 117 | 114 | 3 | 395,311 | 141,647 | 98,249 |
| 合计 | 258 | 217 | 41 | 515,779 | 175,723 | 121,710 |
“限流/重试”是 HTTP 尝试次数,不是字幕失败数。缓存比例来自服务端 cache_read_input_tokens,不等同于固定计费折扣。
| 项目 | 实测值 |
|---|---|
| 视频 | Matt Damon、Anne Hathaway、Tom Holland、Christopher Nolan 与主持人访谈,18:03 |
| ASR | MLX Large V3 FP16 + WhisperX forced alignment + Community-1 指定 5 人 |
| 输入 / 输出 | 3,777 条词级片段 → 443 条中英双语字幕 |
| 翻译 | MiniMax-M3,Anthropic 协议,批量 / 并发 10 / 10 |
| 质量 | 原文规范化相似度 98.58%;空译文、占位语、思考泄漏、相邻重复和时间轴重叠均为 0 |
| Token | 输入 301,951;输出 91,285;服务端缓存读取占输入 64.52% |
查看五人访谈分阶段 Token 数据
| 阶段 | 请求尝试 | 成功 | 限流/重试 | 输入 Token | 缓存读取 | 输出 Token |
|---|---|---|---|---|---|---|
| 智能断句 | 149 | 130 | 19 | 49,356 | 37,779 | 10,091 |
| 保守纠错 | 77 | 47 | 30 | 43,455 | 15,877 | 6,705 |
| 翻译、反思与定向复核 | 182 | 147 | 35 | 209,140 | 141,158 | 74,489 |
| 合计 | 408 | 324 | 84 | 301,951 | 194,814 | 91,285 |
片中包含电影原片段。“指定 5 人”约束访谈参与者聚类数量,不代表人物身份识别;最终字幕不会输出说话人标签。
SubForge/
├── frontend/ # Next.js 界面
├── backend/ # FastAPI 服务
├── subforge/ # Python 核心库与 CLI
├── docs/ # VitePress 文档
├── resource/ # 字体、图标、翻译和样式资源
├── tests/ # 自动化测试
└── examples/ # 可复核的字幕案例
uv sync --group dev
uv run pytest
uv run ruff check subforge backend launcher.py scripts
cd frontend
npm ci
npm run lint
npm run buildSubForge 基于 GPL-3.0 License 发布。


