Skip to content

FlyDre/quick-trans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quick-trans

A project for generate Chinese subtitles for Japanese videos in real-time. 实时为日语视频生成中文字幕。

quick-trans(主干流程:日语音频→中文字幕)

目标

  • 输入:本地音频文件(后续可扩展到 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.vtt

Quality 模式 + Sakura + GPU 测试命令

1)先启动 Ollama 服务:

ollama serve

2)确认 Sakura 模型可用:

ollama list

3)运行 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 cuda

4)本仓库内可直接复现的测试命令(使用已生成的临时音频):

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 cuda

5)若输出仍是日文原文或空白,重建 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"

Web 实时字幕(本地)

启动服务:

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

small

python -m quick_trans.cli --input "1.ncm" --output out-s.vtt --asr-model ".\llm\gpustack\faster-whisper-small"

meduim

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:按音频时长节奏实时推进(默认会尽快处理)

Sakura 翻译(GGUF + Ollama)

1)准备 Ollama 并启动服务:

ollama serve

2)把已下载的 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 浏览器源使用

About

A project for generate Chinese subtitles for Japanese videos real-time. 实时为日语视频生成中文字幕。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors