MCPcopy
hub / github.com/buxuku/SmartSub

github.com/buxuku/SmartSub @v3.2.0 sqlite

repository ↗ · DeepWiki ↗ · release v3.2.0 ↗
2,005 symbols 5,383 edges 347 files 252 documented · 13%
README

🚀 妙幕 / SmartSub

buxuku%2FSmartSub | Trendshift buxuku%2FSmartSub | Trendshift

Build Status Release License Platform i18n

ASR Engines Translation CUDA Vulkan CoreML

Electron Next.js TypeScript React TailwindCSS

Downloads Stars Forks Issues Last Commit

🇨🇳 中文 | 🌏 English | 🇯🇵 日本語

Make every frame speak beautifully

SmartSub is a local-first desktop app that takes you all the way from media → subtitles → translation → proofreading → burn-in. All transcription runs locally — your files never leave your machine. It supports batch processing and GPU acceleration on Windows, macOS, and Linux.

preview

✨ What's New in 3.0

3.0 is a near-complete rewrite. The headline changes:

  • 🧠 Multiple ASR engines: from a single whisper.cpp to 6 engines you can switch per task — built-in whisper.cpp, faster-whisper, FunASR, Qwen3-ASR, FireRedASR, and your local Whisper CLI. For Chinese, reach straight for FunASR / FireRedASR.
  • ⚡ GPU acceleration overhaul: a new Vulkan backend brings AMD / Intel GPU acceleration to Windows/Linux (previously NVIDIA CUDA only); new Auto / GPU-only / CPU-only modes auto-detect your GPU, download the right acceleration pack on demand, and fall back to CPU on failure.
  • 🎬 Video synthesis (burn-in): hardcode subtitles into the picture, or soft-mux them as a switchable track; WYSIWYG preview with control over font, size, color, outline, shadow, 9-grid position, and style presets.
  • 📝 Subtitle proofreading + AI polish: a built-in editor to review line by line against the video, with undo/redo and one-click AI polish.
  • 🌐 17 translation services: mainstream machine-translation and LLM APIs, plus any OpenAI-style endpoint and per-service custom parameters.
  • 🖥️ Redesigned, task-oriented UI: a launchpad that starts from "What would you like to do?", with clear sections for Tasks, Proofread, Burn to Video, Engines & Models, and Translation Services — plus an onboarding guide, command palette (⌘K / Ctrl+K), keyboard shortcuts, and a download/task activity center.

💥 Features

🧠 Subtitle Generation (Transcription)

  • Batch subtitle generation for many video/audio formats
  • 6 transcription engines, selectable per task (see ASR Engines)
  • Fully local processing — no uploads, better privacy and speed
  • Simplified/Traditional Chinese conversion and custom subtitle file naming (for player compatibility)
  • Optional Chinese punctuation removal for cleaner burned-in subtitles
  • Configurable number of concurrent tasks for efficient batch runs

🌐 Subtitle Translation

  • Translate generated subtitles or imported subtitle files
  • 17 translation services: Baidu, Google, Aliyun, Volcano Engine, Doubao, NiuTrans, Tencent, Xunfei, DeepLX, Azure, Ollama (local), DeepSeek, Azure OpenAI, DeerAPI, Gemini, SiliconFlow, Qwen
  • Compatible with any OpenAI-style API (deepseek / azure, etc.)
  • Output as translation only, or bilingual "original + translation"
  • 🎯 Custom Parameter Configuration: configure request headers/body for each AI service right in the UI — no code changes — with export/import

📝 Subtitle Proofreading

  • Built-in editor to review and edit line by line
  • Side-by-side video preview for accurate positioning
  • Undo/redo and one-click AI polish

🎬 Video Synthesis

  • Hardcode: burn subtitles permanently into the picture — visible in any player
  • Soft-mux: losslessly embed a switchable subtitle track via stream copy
  • Rich styling: font, size, color, outline, shadow, 9-grid position, and presets
  • Real-time WYSIWYG preview

⚡ Privacy & Acceleration

  • Local processing — files never leave your machine
  • GPU acceleration: NVIDIA CUDA, AMD/Intel Vulkan, Apple Core ML / Metal (see GPU Acceleration)
  • Built-in acceleration-pack manager — no manual CUDA Toolkit install

📸 Screenshots

Video Synthesis (Burn-in) Subtitle Proofreading
merge proofread

🧩 ASR Engines

3.0 turns the transcription engine into a per-task choice. Manage runtimes and models from the "Engines & Models" page:

Engine Notes How it runs
whisper.cpp (built-in) Default engine; supports ggml quantized models and GPU acceleration Bundled, works out of the box
faster-whisper Based on CTranslate2, faster; models downloaded on demand from HuggingFace Self-contained Python runtime (in-app download)
FunASR SenseVoice (zh/en/ja/ko/yue) and Paraformer-zh; great for Chinese Bundled sherpa-onnx native lib
Qwen3-ASR Qwen speech recognition (qwen3-asr-0.6b) Bundled sherpa-onnx native lib
FireRedASR FireRedASR-AED large (zh-en); great for Chinese Bundled sherpa-onnx native lib
Local Whisper CLI Calls a whisper-compatible command you installed yourself Uses your system command

Note: FunASR / Qwen3-ASR / FireRedASR all run on the bundled sherpa-onnx native library with no extra setup; faster-whisper downloads a self-contained runtime inside the app.

How to choose a whisper model

whisper.cpp / faster-whisper use the whisper family of models. Bigger models are more accurate but slower and need more VRAM:

  • Low-end devices or integrated GPUs: use tiny / base — fast and lightweight
  • Typical computers: start with small / base to balance accuracy and resources
  • High-performance GPUs/workstations: use the large series for top accuracy
  • English-only media: pick a model with en for English-optimized results
  • Care about size: use q5 / q8 quantized variants for a smaller footprint at a slight accuracy cost

⚡ GPU Acceleration

SmartSub ships with a built-in acceleration-pack manager — no need to install the CUDA Toolkit manually. After installing, open "Settings → GPU Acceleration"; the app detects your GPU and recommends a suitable option.

Platform Backend Notes
Windows / Linux + NVIDIA CUDA Supports CUDA 11.8.0 / 12.2.0 / 12.4.0 / 13.0.2; download the matching pack in-app
Windows / Linux + AMD / Intel Vulkan New in 3.0 — built-in Vulkan acceleration pack
macOS (Apple Silicon) Core ML / Metal Enabled automatically with the mac arm64 build
Any platform CPU Automatic fallback when no GPU is available
  • Acceleration modes: Auto / GPU-only / CPU-only; on load failure it automatically falls back to CPU and explains why in the diagnostics panel
  • If the app crashes after enabling acceleration, try a different pack version or switch to CPU-only mode

Translation Services

This project supports 17 translation services, including Baidu, Volcano Engine, Aliyun, Tencent, Xunfei, NiuTrans, Google, DeepLX, plus LLM/aggregation platforms such as Ollama, DeepSeek, Gemini, Qwen, SiliconFlow, Azure OpenAI, and DeerAPI. Using these services requires the appropriate API keys or configuration.

For information on obtaining API keys for services like Baidu Translation and Volcano Engine, please refer to https://bobtranslate.com/service/. We appreciate the information provided by Bob, an excellent software tool.

For AI translation, results are heavily influenced by the model and prompt, so try different combinations to find what works for you. We recommend the AI aggregation platform DeerAPI, which supports nearly 500 models across multiple platforms.

Custom Parameter Configuration

SmartSub lets you configure custom parameters for each AI translation service to precisely control model behavior:

  • Flexible setup: add and manage parameters directly in the UI, no code changes
  • Type support: String, Float, Boolean, Array, Object, Integer
  • Real-time validation: validates as you edit to prevent invalid configurations
  • Import/Export: easy team sharing and backup
  • Auto-save: every change is saved automatically, in line with the rest of the app

🔦 Usage (For End Users)

Download the package for your system and chip. GPU acceleration packs are not chosen at download time — get them in-app after installing.

System Chip Download Package Notes
Windows x64 windows-x64 NVIDIA → CUDA, AMD/Intel → Vulkan, downloaded in-app
Mac Apple mac-arm64 Core ML / Metal acceleration enabled automatically
Mac Intel mac-x64 CPU only, no GPU acceleration
Linux x64 linux-x64 NVIDIA → CUDA, AMD/Intel → Vulkan, downloaded in-app

Install via

Extension points exported contracts — how you extend this code

SearchMatch (Interface)
匹配位置:第 index 条的某个字段(替换粒度为条+字段)
renderer/components/subtitle/SubtitleEditToolbar.tsx
MsFileEntry (Interface)
ModelScope 文件树条目(仅取所需字段)。
main/helpers/fireRedModelDownloader.ts
Window (Interface)
* 测试专用全局声明(仅供 scripts/test-engine-units.ts 的 tsc 编译使用)。 * * 纯逻辑测试现在会通过 renderer/lib/engineModels → renderer/lib/utils
scripts/test-globals.d.ts
GpuInfo (Interface)
(no doc)
types/addon.ts
DownloadEndpointConfig (Interface)
(no doc)
types/downloadConfig.ts
Window (Interface)
(no doc)
types/window.d.ts
CustomParameterConfig (Interface)
(no doc)
types/provider.ts
ParameterRegistry (Interface)
(no doc)
types/parameterSystem.ts

Core symbols most depended-on inside this repo

logMessage
called by 406
main/helpers/logger.ts
eq
called by 215
scripts/test-engine-units.ts
cn
called by 152
renderer/lib/utils.ts
send
called by 113
main/helpers/qwenModelDownloader.ts
T
called by 85
scripts/test-engine-units.ts
throwIfSignalCancelled
called by 68
main/helpers/taskContext.ts
getNumericSetting
called by 37
main/helpers/engines/transcribeShared.ts
isProviderConfigured
called by 23
renderer/lib/providerUtils.ts

Shape

Function 1,461
Interface 289
Method 213
Class 40
Enum 2

Languages

TypeScript100%
Python1%

Modules by API surface

main/service/configurationManager.ts36 symbols
main/helpers/subtitleFormats.ts32 symbols
main/service/migrationManager.ts30 symbols
main/helpers/pythonRuntime/downloader.ts27 symbols
main/helpers/fasterWhisperModelDownloader.ts27 symbols
renderer/pages/[locale]/settings.tsx25 symbols
main/helpers/pythonRuntime/manager.ts25 symbols
scripts/longgap/run-outcomes.ts24 symbols
renderer/components/resources/ModelLibrarySection.tsx23 symbols
renderer/components/resources/EngineModelTab.tsx23 symbols
main/helpers/addonManager.ts23 symbols
main/helpers/subtitleSegmentation.ts22 symbols

Dependencies from manifests, versioned

@alicloud/alimt201810121.3.0 · 1×
@alicloud/credentials2.4.3 · 1×
@alicloud/openapi-client0.4.14 · 1×
@alicloud/tea-typescript1.8.0 · 1×
@alicloud/tea-util1.4.10 · 1×
@docusaurus/core3.7.0 · 1×
@docusaurus/module-type-aliases3.7.0 · 1×
@docusaurus/preset-classic3.7.0 · 1×
@docusaurus/tsconfig3.7.0 · 1×
@docusaurus/types3.7.0 · 1×
@ffmpeg-installer/ffmpeg1.1.0 · 1×
@hookform/resolvers3.4.0 · 1×

For agents

$ claude mcp add SmartSub \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact