Offline real-time Russian-to-Chinese lecture subtitles using Sber ASR
Python
0
22 commits
updated Aug 2, 2026
一个面向 Windows 的本地离线俄语讲座字幕工具。程序从麦克风采集语音,使用 Silero VAD 分段,通过 GigaAM Multilingual Large CTC 识别俄语,再用 NLLB 翻译成中文,并在可置顶、可调整大小的字幕窗口中显示结果。
当前版本为 0.3.0,正式发布了面向 Windows x64 的 CPU-only 完全离线安装包:
102dd9d97d3ac72d1d5c3936da0fc5bc490aef96在 Release 页面下载以下 5 个附件:
ru-zh-live-subtitles-cpu-offline-0.3.0-setup.exe
ru-zh-live-subtitles-cpu-offline-0.3.0-setup-1.bin
ru-zh-live-subtitles-cpu-offline-0.3.0-setup-2.bin
README_INSTALL.txt
SHA256SUMS.txt
安装步骤:
setup.exe 和两个编号 .bin 文件放在同一目录,不要重命名。SHA256SUMS.txt 校验三个安装载荷。ru-zh-live-subtitles-cpu-offline-0.3.0-setup.exe。安装不需要管理员权限、Python、Hugging Face Token、联网下载模型或手动复制 模型。安装前至少预留 12 GiB 磁盘空间;最低支持 8 GiB 内存,建议 16 GiB。 GigaAM 和 NLLB 首次从磁盘加载会比后续会话慢。
PowerShell 校验示例:
Get-Content .\SHA256SUMS.txt
Get-FileHash .\ru-zh-live-subtitles-cpu-offline-0.3.0-setup.exe -Algorithm SHA256
Get-FileHash .\ru-zh-live-subtitles-cpu-offline-0.3.0-setup-1.bin -Algorithm SHA256
Get-FileHash .\ru-zh-live-subtitles-cpu-offline-0.3.0-setup-2.bin -Algorithm SHA256
默认安装位置:
程序:%LOCALAPPDATA%\Programs\RuZhLiveSubtitles
模型:%LOCALAPPDATA%\ru-zh-live-subtitles\models
卸载会删除程序、离线模型、日志、缓存、快捷方式及
%LOCALAPPDATA%\ru-zh-live-subtitles 下的其他应用自有数据。需要保留诊断材料时,
请在卸载前自行备份。
麦克风
→ 有界音频队列
→ Silero VAD 6.2.1
→ 完整语音分段
→ GigaAM Multilingual Large CTC(俄语识别)
→ NLLB-200 distilled 600M(俄中翻译)
→ 俄语/中文字幕窗口
这是“VAD 完成分段后识别整段短音频”的近实时字幕,不是原生逐词流式 ASR。 说话过程中会等待分段闭合,识别和翻译完成后一次显示该条最终结果。
Settings 可选择 System default 或明确的 PortAudio 输入设备编号。设备只能在
会话完全停止后修改,新选择会在下一次 Start 时生效。当前不支持运行中热切换,
也不跨应用重启保存设备选择。
项目同时保留录音、设备枚举、模型检查、单文件识别、VAD、终端字幕和翻译基准 等开发者命令。安装版开始菜单默认使用:
live-overlay --translation-device cpu --offline --no-auto-start
支持 Python 3.10–3.14,推荐 Python 3.11。依赖必须安装在项目虚拟环境中,不要 全局安装。
git clone https://github.com/seren7350-ux/ru-zh-live-subtitles.git
cd ru-zh-live-subtitles
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install torch==2.10.0 torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cpu
.\.venv\Scripts\python.exe -m pip install -e ".[asr-multilingual,dev,translation]"
上述 PowerShell 路径应为
.\.venv\Scripts\python.exe。如果激活脚本被执行策略 阻止,直接使用该解释器即可,无需修改全局 PowerShell 策略。
源码运行不会自动获得完整的 GigaAM 和 NLLB 缓存。模型身份、固定 revision、 目录结构和离线检查方法见模型资源设置。正式 0.3.0 安装包已经包含所有必需模型。
下面的命令均在项目根目录执行:
# 总帮助、运行环境和音频设备
.\.venv\Scripts\python.exe -m live_subtitles --help
.\.venv\Scripts\python.exe -m live_subtitles doctor
.\.venv\Scripts\python.exe -m live_subtitles devices
.\.venv\Scripts\python.exe -m live_subtitles model-doctor
.\.venv\Scripts\python.exe -m live_subtitles translation-doctor
# 录制 8 秒 PCM16/16 kHz/单声道 WAV
.\.venv\Scripts\python.exe -m live_subtitles record --seconds 8 --output data/sample.wav
# 单文件俄语识别和俄中翻译
.\.venv\Scripts\python.exe -m live_subtitles transcribe-file data/sample.wav
.\.venv\Scripts\python.exe -m live_subtitles translate-audio data/sample.wav --translation-engine nllb --device cpu --num-beams 1
# VAD 和实时终端字幕
.\.venv\Scripts\python.exe -m live_subtitles vad-prepare
.\.venv\Scripts\python.exe -m live_subtitles vad-doctor
.\.venv\Scripts\python.exe -m live_subtitles vad-file data/sample.wav
.\.venv\Scripts\python.exe -m live_subtitles live-vad --device 1 --duration 60
.\.venv\Scripts\python.exe -m live_subtitles live-terminal --device 1 --duration 60 --translation-engine nllb --translation-device cpu --num-beams 1
# GUI:无模型演示和真实离线字幕
.\.venv\Scripts\python.exe -m live_subtitles overlay-demo --duration 0
.\.venv\Scripts\python.exe -m live_subtitles live-overlay --device 1 --duration 0 --translation-engine nllb --translation-device cpu --num-beams 1 --offline
--device 1 只是示例;请先运行 devices,根据本机输出选择设备。duration 0
表示持续运行,直到通过 Stop、Exit 或 Ctrl+C 结束。
模型缓存完整后,可在当前 PowerShell 会话临时启用 Hugging Face 和 Transformers 离线模式:
$env:HF_HUB_OFFLINE = "1"
$env:TRANSFORMERS_OFFLINE = "1"
.\.venv\Scripts\python.exe -m live_subtitles model-doctor
.\.venv\Scripts\python.exe -m live_subtitles translate-audio data/sample.wav --translation-engine nllb --device cpu --num-beams 1
Remove-Item Env:HF_HUB_OFFLINE
Remove-Item Env:TRANSFORMERS_OFFLINE
音频和识别文本留在本机进程内。项目的 .venv、data、模型缓存、WAV、日志、
构建目录和生成制品均被 Git 忽略,不应强制提交。
.\.venv\Scripts\python.exe -m pip check
.\.venv\Scripts\python.exe -m pytest -v
.\.venv\Scripts\python.exe -m pytest --cov=live_subtitles --cov-report=term-missing
.\.venv\Scripts\python.exe -m compileall -q src tests packaging
git diff --check
最终 v0.3.0 修订的记录结果:
gui/overlay.py 为 75%;完整的时间线、失败记录和测量证据见开发记录。
CPU onedir 使用 .venv-packaging-cpu 和
packaging/combined_cpu.spec 构建,包含两个共享依赖的启动器,不包含模型权重。
离线安装器在构建阶段将经过校验的 Silero、GigaAM Large CTC 和 NLLB 模型载荷
与 onedir 合并,并用 Inno Setup 原生分片,保证每个 GitHub Release 附件小于
2,000,000,000 字节。
当前公开版本:
详细构建边界见打包说明、 CPU-only 分发策略和 完整离线安装器。
ai-sage/GigaAM-Multilingual large_ctc:MIT;facebook/nllb-200-distilled-600M:CC-BY-NC-4.0,仅限非商业使用;MODEL_LICENSES.txt。在重新分发、商业使用或更换模型前,请自行复核所有上游许可证。本仓库没有把 模型权重提交到 Git;权重只存在于本地缓存、忽略的 staging 或 Release 安装载荷中。
Offline real-time Russian-to-Chinese lecture subtitles using Sber ASR
Python
0
22 commits
updated Aug 2, 2026
一个面向 Windows 的本地离线俄语讲座字幕工具。程序从麦克风采集语音,使用 Silero VAD 分段,通过 GigaAM Multilingual Large CTC 识别俄语,再用 NLLB 翻译成中文,并在可置顶、可调整大小的字幕窗口中显示结果。
当前版本为 0.3.0,正式发布了面向 Windows x64 的 CPU-only 完全离线安装包:
102dd9d97d3ac72d1d5c3936da0fc5bc490aef96在 Release 页面下载以下 5 个附件:
ru-zh-live-subtitles-cpu-offline-0.3.0-setup.exe
ru-zh-live-subtitles-cpu-offline-0.3.0-setup-1.bin
ru-zh-live-subtitles-cpu-offline-0.3.0-setup-2.bin
README_INSTALL.txt
SHA256SUMS.txt
安装步骤:
setup.exe 和两个编号 .bin 文件放在同一目录,不要重命名。SHA256SUMS.txt 校验三个安装载荷。ru-zh-live-subtitles-cpu-offline-0.3.0-setup.exe。安装不需要管理员权限、Python、Hugging Face Token、联网下载模型或手动复制 模型。安装前至少预留 12 GiB 磁盘空间;最低支持 8 GiB 内存,建议 16 GiB。 GigaAM 和 NLLB 首次从磁盘加载会比后续会话慢。
PowerShell 校验示例:
Get-Content .\SHA256SUMS.txt
Get-FileHash .\ru-zh-live-subtitles-cpu-offline-0.3.0-setup.exe -Algorithm SHA256
Get-FileHash .\ru-zh-live-subtitles-cpu-offline-0.3.0-setup-1.bin -Algorithm SHA256
Get-FileHash .\ru-zh-live-subtitles-cpu-offline-0.3.0-setup-2.bin -Algorithm SHA256
默认安装位置:
程序:%LOCALAPPDATA%\Programs\RuZhLiveSubtitles
模型:%LOCALAPPDATA%\ru-zh-live-subtitles\models
卸载会删除程序、离线模型、日志、缓存、快捷方式及
%LOCALAPPDATA%\ru-zh-live-subtitles 下的其他应用自有数据。需要保留诊断材料时,
请在卸载前自行备份。
麦克风
→ 有界音频队列
→ Silero VAD 6.2.1
→ 完整语音分段
→ GigaAM Multilingual Large CTC(俄语识别)
→ NLLB-200 distilled 600M(俄中翻译)
→ 俄语/中文字幕窗口
这是“VAD 完成分段后识别整段短音频”的近实时字幕,不是原生逐词流式 ASR。 说话过程中会等待分段闭合,识别和翻译完成后一次显示该条最终结果。
Settings 可选择 System default 或明确的 PortAudio 输入设备编号。设备只能在
会话完全停止后修改,新选择会在下一次 Start 时生效。当前不支持运行中热切换,
也不跨应用重启保存设备选择。
项目同时保留录音、设备枚举、模型检查、单文件识别、VAD、终端字幕和翻译基准 等开发者命令。安装版开始菜单默认使用:
live-overlay --translation-device cpu --offline --no-auto-start
支持 Python 3.10–3.14,推荐 Python 3.11。依赖必须安装在项目虚拟环境中,不要 全局安装。
git clone https://github.com/seren7350-ux/ru-zh-live-subtitles.git
cd ru-zh-live-subtitles
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install torch==2.10.0 torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cpu
.\.venv\Scripts\python.exe -m pip install -e ".[asr-multilingual,dev,translation]"
上述 PowerShell 路径应为
.\.venv\Scripts\python.exe。如果激活脚本被执行策略 阻止,直接使用该解释器即可,无需修改全局 PowerShell 策略。
源码运行不会自动获得完整的 GigaAM 和 NLLB 缓存。模型身份、固定 revision、 目录结构和离线检查方法见模型资源设置。正式 0.3.0 安装包已经包含所有必需模型。
下面的命令均在项目根目录执行:
# 总帮助、运行环境和音频设备
.\.venv\Scripts\python.exe -m live_subtitles --help
.\.venv\Scripts\python.exe -m live_subtitles doctor
.\.venv\Scripts\python.exe -m live_subtitles devices
.\.venv\Scripts\python.exe -m live_subtitles model-doctor
.\.venv\Scripts\python.exe -m live_subtitles translation-doctor
# 录制 8 秒 PCM16/16 kHz/单声道 WAV
.\.venv\Scripts\python.exe -m live_subtitles record --seconds 8 --output data/sample.wav
# 单文件俄语识别和俄中翻译
.\.venv\Scripts\python.exe -m live_subtitles transcribe-file data/sample.wav
.\.venv\Scripts\python.exe -m live_subtitles translate-audio data/sample.wav --translation-engine nllb --device cpu --num-beams 1
# VAD 和实时终端字幕
.\.venv\Scripts\python.exe -m live_subtitles vad-prepare
.\.venv\Scripts\python.exe -m live_subtitles vad-doctor
.\.venv\Scripts\python.exe -m live_subtitles vad-file data/sample.wav
.\.venv\Scripts\python.exe -m live_subtitles live-vad --device 1 --duration 60
.\.venv\Scripts\python.exe -m live_subtitles live-terminal --device 1 --duration 60 --translation-engine nllb --translation-device cpu --num-beams 1
# GUI:无模型演示和真实离线字幕
.\.venv\Scripts\python.exe -m live_subtitles overlay-demo --duration 0
.\.venv\Scripts\python.exe -m live_subtitles live-overlay --device 1 --duration 0 --translation-engine nllb --translation-device cpu --num-beams 1 --offline
--device 1 只是示例;请先运行 devices,根据本机输出选择设备。duration 0
表示持续运行,直到通过 Stop、Exit 或 Ctrl+C 结束。
模型缓存完整后,可在当前 PowerShell 会话临时启用 Hugging Face 和 Transformers 离线模式:
$env:HF_HUB_OFFLINE = "1"
$env:TRANSFORMERS_OFFLINE = "1"
.\.venv\Scripts\python.exe -m live_subtitles model-doctor
.\.venv\Scripts\python.exe -m live_subtitles translate-audio data/sample.wav --translation-engine nllb --device cpu --num-beams 1
Remove-Item Env:HF_HUB_OFFLINE
Remove-Item Env:TRANSFORMERS_OFFLINE
音频和识别文本留在本机进程内。项目的 .venv、data、模型缓存、WAV、日志、
构建目录和生成制品均被 Git 忽略,不应强制提交。
.\.venv\Scripts\python.exe -m pip check
.\.venv\Scripts\python.exe -m pytest -v
.\.venv\Scripts\python.exe -m pytest --cov=live_subtitles --cov-report=term-missing
.\.venv\Scripts\python.exe -m compileall -q src tests packaging
git diff --check
最终 v0.3.0 修订的记录结果:
gui/overlay.py 为 75%;完整的时间线、失败记录和测量证据见开发记录。
CPU onedir 使用 .venv-packaging-cpu 和
packaging/combined_cpu.spec 构建,包含两个共享依赖的启动器,不包含模型权重。
离线安装器在构建阶段将经过校验的 Silero、GigaAM Large CTC 和 NLLB 模型载荷
与 onedir 合并,并用 Inno Setup 原生分片,保证每个 GitHub Release 附件小于
2,000,000,000 字节。
当前公开版本:
详细构建边界见打包说明、 CPU-only 分发策略和 完整离线安装器。
ai-sage/GigaAM-Multilingual large_ctc:MIT;facebook/nllb-200-distilled-600M:CC-BY-NC-4.0,仅限非商业使用;MODEL_LICENSES.txt。在重新分发、商业使用或更换模型前,请自行复核所有上游许可证。本仓库没有把 模型权重提交到 Git;权重只存在于本地缓存、忽略的 staging 或 Release 安装载荷中。