Skip to content

superLin006/LiveBabel

Repository files navigation

LiveBabel

LiveBabel

实时字幕 · 离线字幕 · 会议纪要 · 语音输入 · 文本朗读

release license platform python pyside6

本地优先的语音工具箱:语音识别与 ChatTTS 朗读全部运行在本地模型(sherpa-onnx / faster-whisper),只有翻译与纪要调用 DeepSeek API。当前推荐的 Windows CPU 发布版无需 NVIDIA 显卡;GPU 完整版可使用 N 卡加速识别。

主页

四种模式

🔊 实时字幕

抓电脑正在播放的声音,实时识别 + 翻译,悬浮窗双语字幕。看直播 / 网课 / 外语视频。

实时双语字幕效果

📄 会议纪要 & ▶️ 离线字幕

会议纪要:录制转录、声纹区分说话人、LLM 起名纠错,一键生成结构化纪要;生成后可用本地 ChatTTS 直接朗读全文。 离线字幕:本地视频生成双语 SRT/ASS,可烧录进视频,支持多文件批量。

会议纪要 · 离线字幕

🔈 文本朗读

会议纪要生成后可直接朗读全文。ChatTTS 会按语义分段并分块播放,长文本无需等整篇合成完成;固定说话人参数可减少逐句音色和语气跳变。朗读默认使用 CPU,首次使用时会单独询问是否下载约 470 MB 的可选模型。

🎙 语音输入

按住键盘右侧 Ctrl 说话,松开后整理并把最终文字输入到任意软件的光标处。目前仅支持 Windows。

语音输入:任意软件光标处直接出字

快速开始

下载即用(推荐):

下载后解压并运行程序。首次启动会下载必要的语音识别模型(约 570 MB,国内镜像加速);首次使用朗读时才会另行询问是否下载约 470 MB 的 ChatTTS 模型。模型、个人设置和历史记录均不包含在发布压缩包中。

源码运行:

conda create -y -n livebabel python=3.11 && conda activate livebabel
pip install -r requirements.txt
python livebabel_gui.py

进主页后选模式即可;底部设置一次 DeepSeek API Key(存本地 settings.json,各模式共用)。

macOS(macos 分支,纯 CPU)
brew install ffmpeg blackhole-2ch      # 抓系统声需 BlackHole 虚拟声卡
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python livebabel_gui.py

抓系统声音:在「音频 MIDI 设置」建一个多输出设备(含扬声器 + BlackHole),系统输出切到它。

命令行入口(进阶)
python app.py                          # 直接启动实时悬浮窗(无主页)
python app.py --input 视频.mp4          # 用文件代替系统声音
python tools/offline_subtitle.py 视频.mp4 --lang 中文 --burn    # 命令行离线字幕

离线常用参数:--lang 译文语种、--source-lang 源语言(默认自动检测)、--burn 硬压进视频、--no-translate 只出原文、--device cuda 用 GPU。

特点

  • 字幕不抖:volatile / provisional / committed 三态机,只翻译已定稿句,从根上消除流式 ASR 的反复改写。
  • 低延迟 + 高精度:两遍识别 —— 流式 zipformer 先出草稿抢延迟,句末 SenseVoice 整段高精度替换。
  • 说话人区分:线上会议按物理双流(我/远端)天然分开;线下单麦克风靠声纹聚类分出发言人,LLM 起名纠错,声纹库下次自动认人。
  • 历史回看:实时/会议自动存 .srt / .txt,主页「历史记录」可回看、删除。
  • 多语种:中 ⇄ 英 / 日 / 韩,运行中可切换。
  • 本地自然朗读:会议纪要可用 ChatTTS 语义分段、分块播放,固定说话人音色;模型按需下载,默认 CPU 推理。

分支与打包

分支 说明
main 主开发分支;支持 GPU 完整版构建,正式主 Release 当前提供 Windows CPU 版
cpu-edition Windows 纯 CPU 打包分支,不包含 CUDA/cuDNN/TensorRT 等 GPU 运行库
macos macOS Apple Silicon 版(BlackHole 采集 + py2app,纯 CPU)
packaging\build_exe.bat        # Windows GPU 版 → dist\LiveBabel\
packaging\build_exe_cpu.bat    # Windows CPU 版(cpu-edition 分支)
packaging/build_mac.sh         # macOS .app(或推 v*-mac tag 触发 GitHub Actions 云端打包)
工作原理(实时消抖 / 会议流水线)
状态 说明
volatile(未定稿) 正在说的句子,会变。只显示原文,不翻译
provisional(临时) 段未结束先按子句翻一版,琥珀色,降低长句延迟
committed(最终) 句子结束,SenseVoice 整段重识+重译,青色锁定
flowchart LR
    A[系统声音] --> B[silero-VAD 分段]
    B --> C[流式 zipformer·低延迟]
    B --> D[SenseVoice·高精度]
    C & D --> E[CommitManager 三态消抖]
    E -->|只译已定稿| F[DeepSeek 翻译]
    E & F --> G[悬浮窗双语字幕] -.-> H[历史 srt/txt]
Loading
flowchart LR
    M[麦克风] & S[系统声音] --> P[双流采集] --> R[两路两遍 ASR] --> T[实时转录气泡]
    T -.会后.-> D2[声纹聚类分发言人] --> L[LLM 起名/纠错 + 声纹库认人] --> N[DeepSeek 纪要] --> X[导出 MD/TXT]
Loading

会后声纹分离:VAD 门控定长窗 + 球面 K-means 聚类,按 token 时间戳精确拆分、标点吸附避免句中劈断,不依赖 torch。

模型清单

必要的识别模型放在 models/(不入库、不进入发布包),首次运行自动弹窗下载,也可手动运行 packaging\download_models.bat:

  • silero_vad.onnx — 语音活动检测
  • sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20 — 流式 ASR(中英)
  • sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17 — 非流式高精度 ASR
  • 3D-Speaker campplus / eres2net — 会议声纹区分

离线模式的 Whisper 模型首次使用时自动下载;放到 models/faster-whisper-large-v3-turbo/ 可固定使用本地模型。

ChatTTS 是独立的可选模型,不随首次启动的必要模型一起下载。首次点击朗读时会提示是否下载约 470 MB 到 models/chattts-int8/

路线图

  • 实时 / 离线 / 会议 / 语音输入四种工作模式,GPU 加速与纯 CPU 分支,macOS 适配
  • 声纹区分说话人(线上双流 + 线下单麦)、声纹库自动认人
  • TTS 朗读(本地 ChatTTS、语义分段、分块播放、固定说话人音色)
  • 翻译流式输出、设置面板(字体/颜色/热键)

许可

MIT

About

1 实时双语字幕:抓系统声音,本地 ASR + LLM 翻译,桌面歌词式悬浮窗 2 离线双语字幕:给离线视频添加双语字幕,支持99+语言; 3 会议纪要:实时记录会议内容,自动标记每个人说的话,生成纪要,支持导出MarkDown 格式

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors