LiveCaptions Translator 技术分析
一、概述
1. 项目简介
A. 是什么
LiveCaptions Translator 是一个基于 Windows LiveCaptions 的轻量级实时语音翻译工具,通过无缝集成翻译 API 与 Windows 系统自带的实时字幕功能,实现实时音频/语音翻译。
B. 为什么值得关注
- 利用 Windows 内置的高精度语音识别引擎
- 无需 Copilot+ PC 即可使用
- 支持多种翻译引擎,包括 LLM 和传统翻译服务
- 开源免费,Apache-2.0 许可证
C. 应用场景
- 跨语言会议实时翻译
- 外语讲座学习辅助
- 游戏、视频、直播的字幕翻译
- 国际交流中的语言障碍消除
2. 项目背景
A. Windows LiveCaptions
Windows 11 22H2 版本引入的实时字幕功能,具有资源占用低、识别精度高的特点。
B. 项目定位
将系统级语音识别能力与先进的翻译技术结合,打造无需额外硬件的实时翻译解决方案。
二、系统架构
1. 工作原理
graph LR
A[音频输入] --> B[Windows LiveCaptions]
B --> C[文本捕获]
C --> D[LiveCaptions Translator]
D --> E[翻译引擎]
E -->|LLM/传统API| F[翻译结果]
F --> G[悬浮窗口显示]
F --> H[历史记录]2. 核心组件
A. 文本捕获模块
通过 Windows UI Automation API 捕获 LiveCaptions 的文本输出。
B. 翻译引擎接口
统一抽象层,支持多种翻译服务:
- LLM 类:Ollama、OpenAI 兼容 API、OpenRouter
- 传统类:Google Translate、DeepL、有道、百度
C. 界面展示模块
- 主窗口:Fluent UI 设计,支持深色/浅色主题
- 悬浮窗口:无边框透明窗口,可嵌入屏幕
D. 历史记录模块
记录原文和译文,支持 CSV 导出。
三、功能特性
1. 无缝集成
自动调用 Windows LiveCaptions,无需单独打开窗口。首次使用后,LiveCaptions 默认隐藏,可在设置中重新显示。
重要配置:
- 必须在 Windows LiveCaptions 中更改源语言
- 位置设置为「覆盖在屏幕上」,否则隐藏后会出现显示错误
2. 现代化界面
- Fluent UI 设计风格
- 自动跟随系统主题切换
- 窗口置顶功能
- 一键复制文本
3. 多翻译引擎支持
| 翻译引擎 | 类型 | 托管方式 |
|---|---|---|
| Ollama | LLM | 自托管 |
| OpenAI 兼容 API | LLM | 在线 |
| OpenRouter | LLM | 在线 |
| Google Translate | 传统 | 在线 |
| DeepL | 传统 | 在线 |
| 有道翻译 | 传统 | 在线 |
| 百度翻译 | 传统 | 在线 |
| MTranServer | 传统 | 自托管 |
| LibreTranslate | 传统 | 自托管 |
推荐使用 LLM 类引擎,原因:擅长处理不完整句子,能更好地理解上下文。
4. 悬浮窗口
- 无边框透明窗口
- 可完全嵌入屏幕,不影响操作
- 高度可配置:背景、字体、大小、透明度
- 可设置同时显示的句子数量
5. 日志卡片
- 以卡片形式展示最近的转录记录
- 帮助用户把握上下文
- 可在任务栏和设置页面启用
6. 历史记录
- 记录原文和译文
- 适用于会议、讲座等场景
- 支持导出为 CSV 文件
四、技术实现
1. 技术栈
- 开发语言:C#
- 运行时:.NET 8.0
- UI 框架:WinUI 3(Fluent UI)
- 目标平台:Windows 11 22H2+
2. 关键技术点
A. UI Automation
使用 Windows UI Automation API 捕获 LiveCaptions 文本。
B. 窗口管理
- 悬浮窗口:无边框、透明背景
- 窗口嵌入:完全融入屏幕,不接受用户输入
C. API 集成
- RESTful API 调用
- 异步处理避免阻塞
- 错误重试机制
3. 架构设计
classDiagram
class MainWindow {
+StartTranslation()
+StopTranslation()
+ShowOverlay()
}
class TextCapture {
+StartCapture()
+OnTextCaptured
}
class TranslationEngine {
+Translate(text)
+GetSupportedEngines()
}
class LLMEngine {
+Translate(text)
}
class TraditionalEngine {
+Translate(text)
}
class OverlayWindow {
+Show()
+Hide()
+UpdateSettings()
}
class HistoryManager {
+AddRecord()
+ExportCSV()
}
MainWindow --> TextCapture
MainWindow --> TranslationEngine
MainWindow --> OverlayWindow
MainWindow --> HistoryManager
TranslationEngine <|-- LLMEngine
TranslationEngine <|-- TraditionalEngine五、使用指南
1. 系统要求
- 操作系统:Windows 11 22H2 或更高版本
- 运行时:.NET 8.0 或更高版本(推荐)
- 功能:Windows LiveCaptions 可用
2. 首次配置
步骤 1:验证 LiveCaptions 可用性
通过以下任一方式打开:
- 快速设置中切换「实时字幕」
- 按下 Win + Ctrl + L
- 设置 > 辅助功能 > 字幕 > 启用实时字幕
步骤 2:配置 LiveCaptions
- 首次启动时同意语音数据处理
- 下载所需的语言包
- 点击齿轮图标打开设置
- 选择「位置」>「覆盖在屏幕上」
- 关闭 LiveCaptions
步骤 3:启动 LiveCaptions Translator
从 GitHub Releases 下载最新版本,解压后运行即可。
3. 语音翻译配置
在 Windows LiveCaptions 设置中启用「包含麦克风音频」,即可实现实时语音翻译。
六、项目数据
1. GitHub 统计
- Stars:2.2k
- Forks:152
- Contributors:14
- License:Apache-2.0
- 语言:C# 100%
2. 发布版本
- 最新版本:v1.7.1300.1822
- 发布日期:2026 年 1 月 18 日
- 历史版本:16 个
七、技术优势分析
1. 相比传统翻译工具
- 利用系统级语音识别,无需额外模型
- 资源占用低,不影响其他应用
- 识别精度高,支持多种语言
2. 相比云端解决方案
- 隐私保护:语音识别在本地进行
- 响应快速:无需上传音频流
- 成本低廉:仅需翻译 API 调用
3. 创新点
- 首个将 Windows LiveCaptions 与 LLM 结合的开源工具
- 无缝集成体验,无需切换窗口
- 高度可配置的悬浮窗口设计
八、局限性
1. 平台限制
- 仅支持 Windows 11 22H2+
- 依赖 Windows LiveCaptions 功能
2. 配置复杂度
- 首次使用需要多个配置步骤
- 需要理解 LiveCaptions 的工作机制
3. 翻译质量
- 依赖所选翻译引擎的质量
- 实时翻译可能存在延迟
九、未来展望
1. 可能的改进方向
- 支持更多翻译引擎
- 优化翻译延迟
- 增强上下文理解能力
- 支持更多语言对
2. 社区贡献
项目已有 14 名贡献者,活跃的社区正在推动功能迭代和 bug 修复。