내 영상. 내 언어. 내 컴퓨터.
클라우드 없이, 구독 없이, 타협 없이 — 온전히 로컬에서 돌아가는 AI 자막 도구.
영상을 던지면 자막이 나옵니다. 번역까지. 전부 내 PC에서.
자막 만드느라 영상을 어딘가에 업로드하고, 분당 얼마씩 과금되고, 내 데이터가 어디로 가는지 모르는 경험 — 이제 그만.
| 기존 서비스 | SubText | |
|---|---|---|
| 데이터 | ☁️ 클라우드 업로드 | 🔒 내 PC에서 끝 |
| 비용 | 💳 월 구독 / 분당 과금 | 🆓 무료, 영원히 |
| 인터넷 | 📡 필수 | |
| GPU | ❌ 서버 의존 | ⚡ 내 GPU 직접 활용 |
📂 파일 드롭 → 🎙️ 음성 인식 → 🗣️ 화자 검출 → 🌐 AI 번역 → ✏️ 편집 → 💾 내보내기
Drop it. 영상이든 음성이든 끌어다 놓으세요.
Transcribe it. Whisper가 음성을 텍스트로 바꿉니다. 실시간으로요.
Diarize it. 누가 말했는지 자동으로 구분합니다. 선택 사항이라 필요할 때만 켜세요.
Translate it. 로컬 LLM이 세그먼트별로 번역합니다. 격식체, 구어체, 직역 — 원하는 톤을 고르세요.
Edit it. 파형 위에서 자막을 다듬고, 자르고, 붙이세요.
Export it. SRT · VTT · ASS · TXT. 화자 라벨 포함. 끝.
|
파일 던지고, 프리셋 고르면 끝. 복잡한 설정 없이 바로 시작. 언어 쌍 + 스타일 + 용어사전을 한 번 세팅하고 계속 재사용. "이건 이렇게 번역해" 를 정의. CSV로 한 번에 밀어넣기 가능. "누가 말했지?" 를 AI가 자동 구분. ONNX 모델 기반, 완전 로컬. 파일 여러 개? 큐에 넣고 자동 처리. 하나씩 기다릴 필요 없음. |
Lite · Balanced · Power 중 자동 추천. 내 PC 사양에 딱 맞는 세팅. 앱 안에서 AI 모델 탐색, 다운로드, 교체. HuggingFace 직결. 파형 시각화 + 분할/병합 + 키보드 내비게이션. 전문 편집기 부럽지 않은 수준. 다크 / 라이트 자동 전환. 한국어 · English 지원. |
| 최소 | 권장 | |
|---|---|---|
| OS | Windows 10 (64-bit) | Windows 11 |
| RAM | 8 GB | 16 GB+ |
| 디스크 | 4 GB 여유 | 10 GB+ |
| GPU | 없어도 됨 | NVIDIA 4 GB+ VRAM |
💡 GPU가 없어도 CPU만으로 충분히 동작합니다. 다만 있으면 확실히 빠릅니다.
다운로드 → 설치 → 마법사 따라가기 → 끝.
설치 마법사가 하드웨어를 감지하고, 프로필을 추천하고, 모델까지 받아줍니다.
Python? 커맨드 라인? 필요 없습니다.
SubText는 세 개의 레이어로 구성됩니다.
┌─────────────────────────────────────────────┐
│ 🖥️ React + TypeScript + Tailwind │ ← UI
├─────────────────────────────────────────────┤
│ ⚙️ Tauri 2 (Rust) │ ← 데스크톱 셸, IPC, 파일 I/O
├─────────────────────────────────────────────┤
│ 🐍 Python FastAPI (localhost:9111) │ ← AI 엔진
│ ├ faster-whisper → 음성 인식 │
│ ├ ONNX Runtime → 화자 검출 │
│ └ llama-cpp-python → 번역 │
└─────────────────────────────────────────────┘
모든 통신은 localhost. 외부로 나가는 트래픽은 제로.
# 준비물: Node.js 18+, Rust 1.70+
npm install
npm run tauri dev # 개발 서버
npm run tauri build # 프로덕션 빌드 (.exe)
npm run test # 테스트
npm run test:watch # 감시 모드📁 프로젝트 구조
src/ React 프론트엔드
├── components/
│ ├── ui/ shadcn/ui 컴포넌트
│ ├── editor/ 파형 · 자막 목록 · 편집 패널
│ ├── dashboard/ 작업 테이블 · 새 작업 다이얼로그
│ ├── presets/ 프리셋 · 용어사전 관리
│ ├── settings/ 설정 패널 (6개 섹션)
│ └── setup/ 설치 마법사
├── hooks/ useConfig · useRuntime · usePipeline …
├── i18n/locales/ en.json · ko.json
└── types.ts 공유 타입 정의
src-tauri/src/ Rust 백엔드
├── commands*.rs IPC 명령 핸들러 (15개)
├── model_downloader.rs HuggingFace 다운로드 (이어받기 + SHA256)
├── hw_detector.rs CPU · GPU · RAM · CUDA 감지
├── config_manager.rs 설정 CRUD
├── preset_manager.rs 프리셋 관리
├── python_manager.rs Python 프로세스 생명주기
└── sse_client.rs Server-Sent Events 스트리밍
python-server/ FastAPI 백엔드
├── stt_engine.py faster-whisper 래퍼
├── diarization_engine.py ONNX 화자 검출 엔진
├── llm_engine.py llama-cpp-python 래퍼
├── prompt_builder.py 컨텍스트 윈도우 · 용어사전 주입
├── subtitle_formatter.py SRT · VTT · ASS 변환
└── runtime_router.py 모델 로드/언로드 · 리소스 모니터링
Private — All rights reserved.