sub-title 实时字幕
监听系统声音,本地 GPU 跑语音识别,实时显示中文字幕——完全本地、开源可改。
Date
2026.07
Technologies
PythonPySide6PyTorchFunASRQwen3-ASRsoundcardPyInstaller

Design Philosophy
“本地优先、隐私第一:默认零网络,音频不出本机。几款工作方式完全不同的引擎(同步流式、段式、异步回调)通过事件驱动接口共用同一条 pipeline,新增引擎只需实现接口并在工厂注册,pipeline 和 UI 都不用动。”
Process & Workflow
01
音频采集
soundcard WASAPI loopback 抓取整个系统声音(16k mono),采集线程经 queue 喂入推理线程
02
ASR 引擎
事件驱动接口 feed(chunk) → on_result 回调,6 种引擎共用一条 pipeline,设置里随时切换无需改代码
03
沉浸式字幕窗
无边框半透明置顶字幕条,工具栏随窗口宽度渐进式精简,且与字幕区完全分离——显隐工具栏不会让字幕跳动
04
桌宠皮肤编辑器
图层 + 逐属性关键帧 + 序列帧动画的可视化编辑器,让字幕条变成带关节动画的桌宠;ZIP 皮肤包导入导出
05
引擎管理
按需安装:三态状态徽标、扫描系统已有 conda 环境、给出一键复制的安装命令
06
凭证安全
阿里云 AccessKey 存进系统钥匙串(Credential Manager / Keychain),永不写入 config.yaml
Impact
代码规模
约 12,800 行 Python
识别引擎
6 种 ASR 引擎热切换
授权协议
MIT(PySide6 LGPLv3)
Core Highlights
- 完全本地零网络:监听系统音频用本地 GPU 跑 ASR,音频不上传任何服务器
- 6 引擎热切换:FunASR / SenseVoice / Fun-ASR-Nano / Qwen3-ASR / faster-whisper / 阿里云 NLS,设置里随时换
- 桌宠皮肤动画系统:逐属性关键帧、关节旋转中心、序列帧、多种播放与触发方式,配套可视化编辑器
- 凭证不入文件:API 密钥存进操作系统钥匙串,防 git 误提交、截图泄露、同步盘外泄
- Pure API 模式打包:PyInstaller 产出约 200MB 的轻量 exe,本地引擎按需安装、装完不用重新打包
- License 严谨取舍:选 PySide6(LGPL) 而非 PyQt5(GPLv3)、手写 Fluent QSS,让 MIT 项目可安全链接