YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

OmniSub — Dịch phụ đề ZH→VI bằng Qwen3-Omni (đa phương thức)

Dịch và hiệu đính phụ đề SRT Trung → Việt, trong đó mô hình nghe giọng nói thậtnhìn ngữ cảnh video để chọn xưng hô (anh/em, mẹ/con, tỷ/muội, ngài/ta…) cho đúng vai vế — thay vì suy đoán bằng luật regex như bản cũ.

Đây là bản viết lại, tối ưu từ dự án Gemma-4. Khác biệt chính: gom về một họ Qwen, dùng Qwen3-Omni nghe–nhìn–dịch trong cùng một mô hình, và bỏ toàn bộ regex khóa quan hệ/xưng hô.

Vì sao đổi từ Gemma sang Qwen3-Omni

  • Dịch ZH→VI tốt hơn: Qwen dẫn đầu benchmark tiếng Việt & tiếng Trung (SEA-HELM 2026).
  • Nghe hiểu giọng: Qwen3-Omni nhận text + ảnh + audio + video natively, SOTA audio, cho biết giới tính/tuổi/cảm xúc/vai vế của người đang nói → neo xưng hô vào ngữ cảnh thật.
  • Đơn giản hóa: một mô hình thay cho 3 stack rời (LLM + wav2vec2 + regex).

Kiến trúc — 5 bước (cloud-first, Colab L4)

Video + SRT(ZH)
  ├─ Bước 1  Chuẩn bị SRT          parse, gom cảnh, ghép cue  [OCR: mặc định tắt]
  ├─ Bước 2  Phân tích người nói   pyannote → ai nói lúc nào
  ├─ Bước 3  Hồ sơ giọng           Qwen3-Omni nghe → VoiceProfile từng nhân vật
  ├─ Bước 4  Dịch đa phương thức   Qwen3-Omni: audio + frame + cue + hồ sơ → VN
  └─ Bước 5  Hậu kiểm & xuất       glossary + fit thời lượng → phim.vi.srt

Qwen3-Omni-30B-A3B đảm nhiệm Bước 3 & 4 (nghe giọng, nhìn cảnh, dịch). pyannote dùng ở Bước 2 (gán nhãn người nói nhất quán — việc Omni chưa làm tốt natively).

Phần cứng — chạy trên Colab

Qwen3-Omni 4-bit/AWQ khá nặng nên toàn bộ pipeline chạy trên Colab, không có nhánh chạy local.

Nơi chạy Cấu hình Vai trò
Colab GPU A100 40GB Chạy Qwen3-Omni AWQ Int4 chỉ thinker (~17GB) + pyannote — toàn bộ pipeline, không offload nên nhanh

Có thể chạy trên L4 24GB vì chỉ nạp thinker; A100 nhanh hơn rõ rệt do không phải offload.

Trạng thái

🚧 Đang phát triển. Đã xong M1 — Chuẩn bị SRT (parse → ghép cue vụn → gom cảnh → xuất) và bộ khung đầy đủ Bước 2–5 (diarization, hồ sơ giọng, dịch đa phương thức, hậu kiểm) cùng backend Qwen3-Omni cho Colab. Chi tiết kiến trúc, module và lộ trình: xem PLAN.md.

Cách dùng (Colab)

Mở colab/OmniSub_Colab.ipynb trên Colab (Runtime → L4) và chạy lần lượt các cell. Cell cuối gọi pipeline tương đương:

python -m omnisub.cli run phim.srt --video phim.mp4 --backend qwen --config config.yaml

Kiểm tra nhanh Bước 1 (không nạp model) ngay trong Colab/môi trường có Python:

python -m omnisub.cli prepare samples/demo.zh.srt

Cấu trúc thư mục

Gemma/
├── README.md / PLAN.md
├── pyproject.toml / requirements-colab.txt / config.yaml
├── src/omnisub/{srt,scenes,diarize,correct,profiles,scene_context,translate,glossary,pipeline,cli,config}.py
│   └── backends/{base,transformers_qwen}.py
├── colab/OmniSub_Colab.ipynb
└── samples/demo.zh.srt
Downloads last month
22
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support