A project for generate Chinese subtitles for Japanese videos in real-time. 实时为日语视频生成中文字幕。
- 输入:本地音频文件(后续可扩展到 Windows 系统输出设备回环)
- 输出:实时生成 WebVTT 字幕(中文字幕)
- 默认档:faster-whisper(small)+ 日语VAD分段 + NLLB(日→中)
- Python 3.10+
- 内置解码依赖 miniaudio(可解码 wav/flac/mp3/ogg 等)
- 支持自动解密并解码网易云 .ncm(容器内通常为 mp3 或 flac)
- Python 依赖见 requirements.txt
python -m quick_trans.cli --input .\demo.wav --output .\out.vtt1)先启动 Ollama 服务:
ollama serve2)确认 Sakura 模型可用:
ollama list3)运行 quality 模式(不使用 CPU、不使用 NLLB):
python -m quick_trans.cli --input ".\your_audio.wav" --output ".\out-quality-sakura.vtt" --mode quality --mt-backend sakura-ollama --mt-model sakura-1.5b --asr-device cuda4)本仓库内可直接复现的测试命令(使用已生成的临时音频):
python -m quick_trans.cli --input ".\tmp\quality_sakura_test.wav" --output ".\tmp\quality_sakura_test.vtt" --mode quality --mt-backend sakura-ollama --mt-model sakura-1.5b --asr-device cuda5)若输出仍是日文原文或空白,重建 Sakura 模型后再测:
python .\scripts\ollama_create_sakura.py --name sakura-1.5b --gguf ".\llm\SakuraLLM\Sakura-1.5B-Qwen2.5-v1.0-GGUF\sakura-1.5b-qwen2.5-v1.0-fp16.gguf"启动服务:
python -m quick_trans.webui --host 127.0.0.1 --port 8000浏览器打开:
- http://127.0.0.1:8000/ 在页面里选择音频/视频文件并点击开始,字幕会随着播放时间显示(ASR+中文)。
python .\scripts\download_modelscope_models.py --dir f:\proj-audio\quick-trans\llm
python -m quick_trans.cli --input "1.ncm" --output out-s.vtt --asr-model ".\llm\gpustack\faster-whisper-small" --mt-model ".\llm\facebook\nllb-200-distilled-600M" --asr-compute-type int8 --asr-text
python -m quick_trans.cli --input "2.mp3" --output out-m.vtt --asr-model ".\llm\gpustack\faster-whisper-medium" --mt-model ".\llm\facebook\nllb-200-distilled-600M" --asr-compute-type int8 --asr-text
python .\scripts\test_mt_ja2zh.py
python -m quick_trans.cli --input "1.ncm" --output out-s.vtt --asr-model ".\llm\gpustack\faster-whisper-small"
python -m quick_trans.cli --input "1.ncm" --output out-m.vtt --asr-model ".\llm\gpustack\faster-whisper-medium"
离线/国内网络推荐:先用 ModelScope 预下载模型到项目的 llm 目录:
python .\scripts\download_modelscope_models.py --dir .\llm如提示缺少 modelscope,请先安装:
pip install -U modelscope输入格式:
- 直接支持:wav / flac / mp3 / ogg(由 miniaudio 解码并自动转为 16k 单声道)
- 支持:ncm(自动解密并解码,无需手动转换)
- 其他格式(如 m4a/aac):需要额外解码后再输入
常用参数:
- --asr-model:可用 .\llm\gpustack\faster-whisper-small 或 .\llm\gpustack\faster-whisper-medium;默认优先 medium
- --asr-device:cuda / cpu
- --cpu:强制 ASR 与翻译都在 CPU 上跑
- --asr-text:把 ASR 原文落盘为 txt(不给值则自动生成为 output 同名的 .asr.txt)
- --mt-backend:nllb / sakura-ollama
- --mt-model:mt-backend=nllb 时为模型目录/模型名;mt-backend=sakura-ollama 时为 Ollama 模型名(默认 sakura-1.5b)
- --mt-device:仅对 mt-backend=nllb 生效(cuda / cpu)
- --ollama-host:Ollama 地址(默认 http://127.0.0.1:11434)
- --realtime:按音频时长节奏实时推进(默认会尽快处理)
1)准备 Ollama 并启动服务:
ollama serve2)把已下载的 Sakura GGUF 导入到 Ollama(选择一个 gguf 量化文件路径):
python .\scripts\ollama_create_sakura.py --name sakura-1.5b --gguf ".\llm\SakuraLLM\Sakura-1.5B-Qwen2.5-v1.0-GGUF\sakura-1.5b-qwen2.5-v1.0-fp16.gguf"3)运行 quick-trans 使用 Sakura 翻译:
python -m quick_trans.cli --input "2.mp3" --output out.vtt --mt-backend sakura-ollama --mt-model sakura-1.5b- out.vtt:WebVTT 格式,可直接被播放器/浏览器/OBS 浏览器源使用