Desktop WPF tool for working with .SRT and .ASS subtitles, bilingual merge workflows, karaoke prep, timing cleanup, and ASS effect authoring.
Công cụ desktop WPF để xử lý phụ đề .SRT và .ASS, workflow ghép song ngữ, chuẩn bị karaoke, chỉnh lại timing, và tạo ASS effect.
Subtitle draft GMTPC is a Windows desktop application built for practical subtitle and karaoke workflows. It combines multiple daily-use utilities into one UI so users can translate, merge, draft, retime, format, and prepare karaoke subtitles without switching across several tools.
Subtitle draft GMTPC là ứng dụng desktop Windows được xây dựng cho workflow làm subtitle và karaoke thực tế. Ứng dụng gom nhiều công cụ thường dùng vào một giao diện duy nhất để người dùng có thể dịch, ghép, tạo bản nháp, canh lại timing, định dạng, và chuẩn bị karaoke mà không cần chuyển qua nhiều phần mềm.
- Detect and parse
SRTandASSsubtitle formats
Nhận diện và parse định dạng phụ đềSRTvàASS - Sanitize pasted subtitle content before processing
Làm sạch nội dung phụ đề được dán vào trước khi xử lý - Merge bilingual subtitles
Ghép phụ đề song ngữ - Generate merged output with or without line breaks
Tạo kết quả merge có giữ dòng hoặc bỏ xuống dòng - Translate subtitle content through a Qwen-based workflow
Dịch nội dung subtitle thông qua workflow dựa trên Qwen - Save and reuse multiple translation prompts
Lưu và tái sử dụng nhiều prompt dịch - Convert plain text into timed subtitle output
Chuyển văn bản thường thành phụ đề có mốc thời gian - Prepare karaoke text for Vietnamese and English workflows
Chuẩn bị nội dung karaoke cho cả workflow tiếng Việt và tiếng Anh - Apply and build ASS tags such as
\pos,\move,\fad,\k, color, and alpha
Tạo và áp dụng các ASS tag như\pos,\move,\fad,\k, màu, và alpha - Inspect local hardware information relevant to encoding workflows
Xem thông tin phần cứng liên quan đến workflow encode
| Tab | English | Tiếng Việt |
|---|---|---|
Hardware Info |
View GPU, CPU, RAM, mainboard, and hardware encoder hints | Xem GPU, CPU, RAM, mainboard, và gợi ý encoder phần cứng |
Dialogue |
Extract or isolate dialogue content for editing | Tách hoặc tách riêng phần hội thoại để chỉnh sửa |
Translate |
Translate subtitle content with reusable prompts | Dịch subtitle bằng các prompt có thể tái sử dụng |
Search Fonts |
Help search fonts used in subtitle and karaoke workflows | Hỗ trợ tìm font dùng trong workflow subtitle và karaoke |
ASS Font Adjust |
Adjust font-related settings in ASS subtitles | Điều chỉnh các thiết lập font trong ASS subtitle |
Subtitle Merge |
Merge two subtitle sources, commonly English and Vietnamese | Ghép hai nguồn subtitle, thường là tiếng Anh và tiếng Việt |
Subtitle Draft |
Build or refine subtitle draft output | Tạo hoặc tinh chỉnh bản nháp subtitle |
Text to Subtitle |
Convert plain text into timed subtitle content | Chuyển văn bản thường thành subtitle có timecode |
Karaoke |
General karaoke workflow entry point | Điểm bắt đầu tổng quan cho workflow karaoke |
Zero Time |
Reset subtitle timing to start from zero | Đưa mốc thời gian subtitle về 0 |
Karaoke Vietnamese |
Prepare Vietnamese karaoke text | Xử lý lời karaoke tiếng Việt |
Karaoke English |
Split English karaoke text using word rules | Tách từ hoặc âm tiết karaoke tiếng Anh bằng word rules |
Karaoke Merge |
Merge karaoke-related data from multiple sources | Ghép dữ liệu karaoke từ nhiều nguồn |
Karaoke Sync |
Synchronize karaoke timing | Đồng bộ timing karaoke |
Effect |
Build and edit ASS effects and tags | Tạo và chỉnh sửa ASS effect và tags |
For a new contributor or user, this is the easiest order to understand the product.
Nếu là người mới, đây là thứ tự để hiểu sản phẩm dễ nhất.
TranslateSubtitle MergeText to SubtitleASS Font AdjustEffectKaraoke EnglishKaraoke VietnameseKaraoke SyncKaraoke MergeZero TimeDialogueSearch FontsHardware Info
- Paste source subtitle content into
Translate
Dán nội dung phụ đề gốc vàoTranslate - Load or edit a prompt
Tải prompt có sẵn hoặc sửa prompt - Run the translation workflow
Chạy workflow dịch - Copy the translated result back into the rest of the pipeline
Copy kết quả đã dịch để đưa vào các bước tiếp theo
- Paste subtitle source A into
Subtitle Merge
Dán subtitle nguồn A vàoSubtitle Merge - Paste subtitle source B into
Subtitle Merge
Dán subtitle nguồn B vàoSubtitle Merge - Copy either merged output or the unbroken-line output
Copy bản đã ghép hoặc bản bỏ xuống dòng
- Paste transcript or lyrics into
Text to Subtitle
Dán transcript hoặc lời bài hát vàoText to Subtitle - Tune max characters, CPS, and gap settings
Điều chỉnh số ký tự tối đa, CPS, và khoảng gap - Copy the generated subtitle output
Copy kết quả subtitle đã tạo
- Prepare lyrics in
Karaoke VietnameseorKaraoke English
Chuẩn bị lời bài hát trongKaraoke VietnamesehoặcKaraoke English - Adjust split rules when needed
Điều chỉnh split rules khi cần - Use
Karaoke SyncandKaraoke Mergefor timing and consolidation
DùngKaraoke SyncvàKaraoke Mergeđể đồng bộ và ghép kết quả - Finish styling in
Effect
Hoàn thiện phần hiệu ứng ởEffect
- C#
- WPF
- .NET Framework 4.8
- Windows Forms interoperability
Tích hợp Windows Forms - WMI for hardware inspection
WMI để đọc thông tin phần cứng HttpClientfor translation workflow calls
HttpClientđể gọi workflow dịch
.
|-- Application.xaml
|-- MainWindow.xaml
|-- MainWindow.xaml.cs
|-- MainWindowSystemGlobalEvents.cs
|-- MainWindowTab*.cs
|-- AppSettings.cs
|-- Services/
|-- Models/
|-- Helpers/
|-- english word rules karaoke/
|-- build.cmd
`-- Subtitle draft GMTPC.csproj
Services/: core business logic such as parsing, merge, translation, karaoke processing, timing, and ASS effects
Chứa logic nghiệp vụ chính như parse, merge, dịch, xử lý karaoke, timing, và ASS effectsModels/: subtitle line models and related data types
Chứa model dòng subtitle và các kiểu dữ liệu liên quanHelpers/: shared helper utilities such as search support
Chứa các tiện ích dùng chung như tìm kiếmenglish word rules karaoke/: rule files used by the English karaoke workflow
Chứa các file rule được dùng bởi workflow karaoke tiếng Anh
- MainWindow.xaml: main UI layout and tab definitions
Giao diện chính và định nghĩa các tab - MainWindowSystemGlobalEvents.cs: startup logic, global events, search, shared behaviors
Logic khởi động, sự kiện toàn cục, tìm kiếm, và hành vi dùng chung - MainWindowTabTranslate.cs: translation tab logic
Logic cho tab dịch - MainWindowTabSubtitleMerge.cs: subtitle merge logic
Logic ghép subtitle - MainWindowTabTextToSubtitle.cs: plain-text to subtitle logic
Logic chuyển text thường thành subtitle - MainWindowTabKaraokeEnglish.cs: English karaoke rule-based splitting
Logic tách karaoke tiếng Anh dựa trên rules - Services/SubtitleParser.cs: subtitle detection, parsing, and serialization
Nhận diện, parse, và xuất subtitle - Services/MergeService.cs: subtitle merge operations
Các thao tác merge subtitle - Services/QwenTranslateService.cs: Qwen translation workflow integration
Tích hợp workflow dịch Qwen - Services/AssEffectBuilder.cs: ASS tag and effect helpers
Tiện ích tạo và xử lý ASS tag/effect
Run:
Chạy lệnh:
build.cmdThe script attempts to:
Script sẽ cố gắng:
- locate
MSBuild.exe
tìmMSBuild.exe - build the project in
Debug
build project ở chế độDebug - copy the built executable to the repository root
copy file.exeđã build ra thư mục gốc - launch the application
mở ứng dụng
Requirements:
Yêu cầu:
- Windows
- Visual Studio 2019 or 2022, or Build Tools with MSBuild
Visual Studio 2019/2022 hoặc Build Tools có MSBuild - .NET Framework 4.8 targeting pack
Build command:
Lệnh build:
MSBuild "Subtitle draft GMTPC.csproj" /p:Configuration=Debug /t:BuildExpected output:
File output thường nằm ở:
bin\Debug\net48\Subtitle draft GMTPC.exe
- The application targets
net48
Ứng dụng targetnet48 - The main window is intentionally split into multiple partial classes by tab
Cửa sổ chính được tách thành nhiều partial class theo tab - The repository contains custom dark-theme WPF styling in the main window
Repo có dark theme WPF tự tùy biến trong cửa sổ chính TranslateWindow.xamlis excluded from build inputs
TranslateWindow.xamlđang bị loại khỏi build- Some source comments and strings currently show encoding issues and could be normalized later
Một số comment và chuỗi hiện đang có dấu hiệu lỗi encoding và nên được chuẩn hóa sau
- Add screenshots for each major tab
Thêm ảnh chụp cho mỗi tab chính - Split user documentation and developer documentation into separate files
Tách tài liệu người dùng và tài liệu developer thành hai file riêng - Add a
Known Issuessection
Thêm mụcKnown Issues - Add release packaging instructions
Thêm hướng dẫn đóng gói bản release - Document prompt management and cookie setup for translation in more detail
Tài liệu hóa kỹ hơn phần quản lý prompt và thiết lập cookies cho tab dịch