debpalash/OmniVoice-Studio
요약
OmniVoice-Studio는 클라우드나 API 키 없이 로컬 기기에서 실행되는 오픈 소스 음성 AI 도구입니다. 646개 언어를 지원하며 실시간 받아쓰기, 제로샷 음성 복제, 비디오 더빙 기능을 제공합니다.
핵심 포인트
- 계정 및 API 키 없이 로컬 하드웨어에서 모든 작업 수행
- 3초 클립만으로 가능한 제로샷 음성 복제 및 646개 언어 지원
- 보컬 격리, 화자 분할, AI 워터마킹 등 고급 오디오 기능 포함
- GPU 자동 감지 및 다양한 엔진 확장이 가능한 구조

실시간 받아쓰기 (dictation), 제로샷 음성 복제 (zero-shot voice cloning), 그리고 영화 같은 비디오 더빙 — 이 모든 것을 당신의 데스크톱에서 수행하세요. 계정 불필요. API 키 불필요. 클라우드 불필요. 모든 것이 당신의 기기에서 실행됩니다. 오픈 소스이며, 646개 언어를 지원합니다.
빠른 시작 (Quickstart) ·
기능 (Features) ·
왜 OVS인가 (Why OVS) ·
엔진 (Engines) ·
API ·
기부 (Donate) ·
기여하기 (Contributing) ·
Discord ·
简体中文 (간체 중국어)
당신의 목소리는 당신이 가진 가장 개인적인 데이터입니다. 그런데 왜 그것을 클라우드로부터 다시 빌려 쓰나요? 모든 주류 음성 도구들은 당신의 오디오를 다른 누군가의 서버로 전송하고, 그 특권에 대해 매달 비용을 청구합니다. OmniVoice Studio는 이를 뒤집습니다: 당신의 하드웨어에서 복제, 설계, 더빙, 그리고 받아쓰기를 수행하세요 — 646개 언어 지원, 사용량 측정 없음, 당신의 기기를 벗어나는 데이터 없음.
경고 (Warning)
활성 베타 (Active beta). 릴리스 사이에 기능이 작동하지 않을 수 있습니다 — 최신 수정 사항을 적용하려면 소스에서 실행하세요. 버그 보고 및 PR(Pull Request)은 언제나 환영합니다: 이슈(issue)를 생성하거나 Discord에 참여하세요.
8가지 주요 기능 — 그리고 아래에 숨겨진 12가지 더.
| 3초 분량의 클립 → 어떤 목소리든 복제. |
| 성별, 연령, 억양, 피치, 속도 |
| YouTube URL 또는 파일 → 전사 (transcribe) |
| 텍스트, EPUB 또는 PDF 가져오기. 자동 챕터 구분, |
| 멀티 보이스 에디터. 목소리 할당 |
| 키 없음, 클라우드 없음, 계정 없음. |
| OmniVoice를 사용하여 |
…그리고 12가지 더 — 격리 (isolation), 화자 분할 (diarization), 배치 (batch), 워터마킹 (watermarking), 진단 (diagnostics) 등
- 🔊
보컬 격리 (Vocal Isolation)— Demucs 기반: 음악에서 음성을 분리하고 배경음을 유지합니다. - 👥
화자 분할 (Speaker Diarization)— Pyannote + WhisperX를 통해 누가 무엇을 말했는지 자동으로 식별합니다. - 📦
배치 큐 (Batch Queue)— 50개의 비디오를 넣고 자리를 비우세요; 작업별 진행률 표시줄 제공. - 🛡️
AI 워터마크 (AI Watermark)— AudioSeal (Meta): 보이지 않으며, 압축 후에도 유지됩니다. - 🔬
진단 (Diagnostics)— 자체 점검 스위트, 오류 저널, 정제된 진단 번들. - ⚡
GPU 자동 감지 (GPU Auto-Detect)— CUDA · MPS · ROCm (Linux, 선택 사항) · CPU; 8GB 이하의 VRAM은 자동으로 오프로드합니다. - 🧭
엔진 라우팅 (Engine routing)— 엔진별 사전 GPU 점검; 조용한 CPU 폴백(fallback) 없음. - 🧩
확장 가능 (Extensible)—TTSBackend를 상속받아 약 50줄 내외로 어떤 엔진이든 추가할 수 있습니다. - 🎒
휴대용 페르소나 (Portable personas)— 목소리를.ovsvoice로 내보내기
번들: 신원(identity) + 워터마크(watermark). - ♾️
무제한 TTS (Unlimited TTS)— 문장 청크 단위 생성 (sentence-chunked generation), 길이 제한 없음, WebSocket을 통한 스트리밍. - 🌐
원격 백엔드 (Remote backend)— UI를 원격 서버로 지정 가능; Tailscale 친화적, Bearer 인증 사용. - 🧠
받아쓰기 + LLM (Dictation + LLM)— 전사(transcripts)의 로컬 LLM 정제, 선택적 에코 캔슬링 (echo cancellation).
macOS: 첫 실행 시 일회성 승인이 필요합니다 — 우클릭 → 열기 (또는 시스템 설정 → 개인정보 보호 및 보안 → macOS 15의 경우 "확인 없이 열기"). 터미널(Terminal)은 필요하지 않습니다. 이유: ·Intel Mac: 로컬 백엔드 미지원 (#889) — 상세 내용.
사용 중인 OS를 선택하고 가이드를 처음부터 끝까지 따라가세요:
- 🍎
macOS— docs/install/macos.md - 🪟
Windows— docs/install/windows.md - 🐧
Linux— docs/install/linux.md - 🐳
Docker— docs/install/docker.md · Docker Hub:palashdeb/omnivoice-studio
느리게 느껴지나요? docs/performance.md에서 생성 시간이 실제로 어디에 소요되는지, 튜닝 노브(tuning knobs), 그리고 "느려졌다"고 느끼게 만드는 세 가지 전형적인 원인을 다룹니다.
출력물에 호흡, 웃음, 일시 정지, 속삭임 또는 감정을 넣고 싶으신가요? docs/expressive-speech.md에서 현재 각 엔진이 할 수 있는 기능과, 사양에는 포함되어 있으나 아직 출시되지 않은 기능들을 정확히 확인할 수 있습니다.
CorentinJ/Real-Time-Voice-Cloning(현재 아카이브됨)에서 넘어오셨나요? 전용 마이그레이션(migration) 가이드가 있습니다: docs/migration/real-time-voice-cloning.md.
🧰 문제가 발생했나요? 자체 점검, 토큰 및 제한된 네트워크
먼저 내장된 자체 점검을 실행하세요 — 앱 내에서 **Settings → About → "Run self-check"**를 클릭하거나, uv run python backend/main.py --diagnose를 실행하세요.
체크아웃(--deep 옵션은 활성화된 엔진도 테스트 로드함) 상태에서 실행하십시오. 그 다음, 상위 10가지 설치 오류에 대해 docs/install/troubleshooting.md를 참조하세요. 런타임 중에 문제가 발생하면 앱 내 에러 UI가 해당 항목으로 딥링크(deeplinks)를 제공하며, **Settings → About → "Save diagnostic bundle"**을 통해 개인정보가 제거된 로그와 자체 점검 보고서를 패키징하여 버그 보고용으로 사용할 수 있습니다.
Hugging Face 토큰 설정을 보려면 docs/setup/huggingface-token.md를 참조하세요. 화자 분리 (Diarization) 전용 게이팅 (Gating)에 대해서는 docs/features/diarization.md를 참조하세요. 다운로드 속도, ⚡ fast-download (Xet) 상태, 그리고 제한된 네트워크 (Restricted-network) / 미러 (Mirror) 옵션에 대해서는 docs/downloading-models.md를 참조하세요.
ElevenLabs는 월 $5–$330의 비용을 부과하며 귀하의 오디오를 그들의 서버에서 처리합니다. OmniVoice Studio는 사용 제한 없이 귀하의 하드웨어에서 실행됩니다.
| ElevenLabs | OmniVoice Studio | |
|---|---|---|
| 가격 (Pricing) | $5–$330/mo, 글자 수 기반 과금 | 무료 및 오픈 소스 (AGPL-3.0) · 독점적 사용을 위한 상업용 라이선스 |
| 음성 복제 (Voice Cloning) | ✅ 3초 클립 | ✅ 3초 클립, 제로샷 (Zero-shot) |
| 음성 설계 (Voice Design) | ✅ 성별, 연령 | ✅ 성별, 연령, 악센트, 피치 (Pitch), 스타일, 방언 |
| 오디오북 / 스토리 (Audiobook / Stories) | ❌ | ✅ 전체 오디오북 에디터 + 다중 화자 스토리 (EPUB/PDF 가져오기, .m4b 내보내기) |
| 언어 (Languages) | 32 | 646 |
| 비디오 더빙 (Video Dubbing) | ✅ 클라우드 전용 | ✅ 완전 로컬 |
| 데이터 프라이버시 (Data Privacy) | 오디오가 클라우드로 전송됨 | 아무것도 기기를 떠나지 않음 |
| API 키 (API Keys) | 필요함 | 필요하지 않음 |
| GPU 지원 (GPU Support) | 해당 없음 (클라우드) | CUDA · Apple Silicon · ROCm (Linux) · CPU |
| 데스크톱 앱 (Desktop App) | ❌ | ✅ macOS · Windows · Linux |
| TTS 엔진 (TTS Engines) | 1 | 14 — 전체 매트릭스 |
| ASR 엔진 (ASR Engines) | 1 | 10 — 전체 라인업 |
| MCP 서버 (MCP Server) | ❌ | ✅ Claude, Cursor, 모든 MCP 클라이언트에서 사용 가능 |
| 자체 점검 (Self-check) | ❌ | ✅ 진단 스위트 (Diagnostics suite), 에러 저널, 개인정보가 제거된 디버그 번들 |
| 커스터마이징 가능 여부 (Customizable) | ❌ 폐쇄형 | ✅ 포크(Fork)하고, 확장하고, 배포하세요 |
구독과 클라우드 없이 즐기는 전문가급 음성 AI.
| 최소 사양 (Minimum) | 권장 사양 (Recommended) | |
|---|---|---|
| OS | Windows 10, macOS 12+ (Apple Silicon), Ubuntu 24.04+ (glibc 2.39+) | 모든 최신 64비트 OS |
| RAM | 8 GB | 16 GB 이상 |
| VRAM (GPU) | 4 GB (TTS를 CPU로 자동 오프로드) | 8 GB 이상 (NVIDIA RTX 3060+) |
| 디스크 (Disk) | 10 GB 여유 공간 (모델 + 캐시) | 20 GB 이상 SSD |
| Python | 3.10+ (uv 로 관리됨) | 3.11–3.12 |
| GPU | 선택 사항 — CPU로 작동 가능 | NVIDIA CUDA · Apple Silicon MPS · AMD ROCm (Linux 전용) |
팁 (Tip)
VRAM이 8 GB 이하인 GPU를 사용하는 경우, OmniVoice는 전사 (transcription) 과정 중 TTS를 자동으로 CPU로 오프로드 (offload) 합니다. 별도의 설정은 필요하지 않습니다. 전용 GPU가 반드시 필요한 것은 아니며, 전체 파이프라인이 CPU에서 실행됩니다 (속도만 더 느려질 뿐입니다).
참고 (Note)
AMD GPU: ROCm 가속은 **Linux 전용이며 선택 사항 (opt-in)**입니다. 첫 실행 설정 화면에서 **"AMD GPU (ROCm)"**를 선택하거나 OMNIVOICE_TORCH_VARIANT=rocm을 설정하세요 (docs/install/linux.md). Docker/Podman에서는 전용 ROCm 이미지를 대신 가져오세요(pull): ghcr.io/debpalash/omnivoice-studio:rocm (docs/install/docker.md). Windows에서는 AMD GPU (Ryzen AI iGPU 포함)가 CPU 전용으로 작동합니다: PyTorch는 Windows용 ROCm 휠 (wheels)을 제공하지 않으므로, Windows GPU 가속은 NVIDIA/CUDA 전용입니다 (docs/install/windows.md).
중요 (Important)
macOS Intel (x86_64)은 로컬 백엔드 (local backend)를 지원하지 않습니다: 앱 UI는 설치되지만, PyTorch가 더 이상 Intel-Mac용 휠을 제공하지 않기 때문에 Python 백엔드를 실행할 수 없습니다 (#889). Intel-Mac 사용자는 UI를 다른 기기에 있는 원격 백엔드 (remote backend)로 연결하여 사용할 수 있습니다 — docs/install/macos.md를 참조하세요.
14개의 엔진, 하나의 선택기. OmniVoice (기본값, 600개 이상의 언어)는 항상 사용 가능합니다. 7개의 추가 엔진은 선택 사항 (opt-in)이며 자동 감지됩니다 (CosyVoice 3, GPT-SoVITS, VoxCPM2, MOSS-TTS-Nano, KittenTTS, MLX-Audio, Sherpa-ONNX). 여기에 6개의 무거운 엔진들이 지연 설치 (lazy-installed) 방식으로 제공됩니다 (IndexTTS 2, OmniVoice GGUF, Supertonic 3, MOSS-TTS-v1.5, dots.tts, Confucius4-TTS). Settings → TTS Engine에서 전환할 수 있으며, 선택 사항은 합성이 발생하는 모든 곳에 적용됩니다.
📊 전체 매트릭스 (The full matrix) — 14개 엔진 × 플랫폼 × 클론/지시 (clone/instruct) × 라이선스
| 엔진 | 언어 | 클론(Clone) | 지시(Instruct) | Linux | macOS ARM | Windows | 라이선스 |
|---|---|---|---|---|---|---|---|
| OmniVoice (기본값) | 600+ | ✅ | ✅ | ✅ CUDA/CPU | ✅ MPS | ✅ CUDA/CPU | 내장(Built-in) |
| CosyVoice 3 | 9 + 18 방언 | ✅ | ✅ | ✅ CUDA/CPU | ✅ MPS | ✅ CUDA/CPU | Apache-2.0 |
| GPT-SoVITS | 5 | ✅ | — | ✅ CUDA/CPU | — | ✅ CUDA/CPU | MIT |
| VoxCPM2 | 30 | ✅ | ✅ | ✅ CUDA/CPU | ✅ MPS | ✅ CUDA/CPU | Apache-2.0 |
| MOSS-TTS-Nano | 20 | ✅ | — | ✅ CUDA/CPU | ✅ CPU | ✅ CUDA/CPU | Apache-2.0 |
| KittenTTS | 영어 | — | — | ✅ CPU | ✅ CPU | ✅ CPU | MIT |
| MLX-Audio (Kokoro, Qwen3-TTS, CSM, Dia, …) | 다중(Multi) | 다양함(Varies) | 다양함(Varies) | ❌ | ✅ Native | ❌ | 다양함(Varies) |
| Sherpa-ONNX | 20+ | — | — | ✅ CUDA/CPU | ✅ CPU | ✅ CUDA/CPU | Apache-2.0 |
| IndexTTS 2 ⚡ | 다중(Multi) | ✅ | — | ✅ CUDA | — | ✅ CUDA | Apache-2.0 |
| OmniVoice GGUF ⚡ | 600+ | ✅ | ✅ | ✅ CPU | ✅ CPU | ✅ CPU | 내장(Built-in) |
| Supertonic 3 ⚡ | 31 | — | — | ✅ CPU | ✅ CPU | ✅ CPU | OpenRAIL-M |
| MOSS-TTS-v1.5 ⚡ (8B) | 31 | ✅ | — | ✅ CUDA/CPU | ✅ CPU | ✅ CUDA/CPU | Apache-2.0 |
| dots.tts ⚡ (2B) | 24 | ✅ | — | ✅ CUDA/CPU | ✅ CPU | ❌ | Apache-2.0 |
| Confucius4-TTS ⚡ | 14 | ✅ | — | ✅ CUDA/CPU | ✅ CPU | ✅ CUDA/CPU | Apache-2.0 |
CUDA= GPU 가속 · MPS= Apple Silicon Metal · CPU= 모든 곳에서 실행 가능, 대규모 모델의 경우 느림 · KittenTTS 및 MOSS-TTS-Nano는 CPU에서 실시간 구동 · MLX-Audio는 Apple Silicon 전용 · ⚡ = 지연 등록(lazy-registered) (최초 사용 시 설치)
단일 클립 생성 이상의 복제(Clonematters beyond single-clip generation): 비디오 더빙(Video Dubbing) 및 음성 고정 배치 작업(Batch job with a pinned voice)은 화자 신원 보존을 위해 참조 오디오 클론이 필요하므로, 클론 기능이 없는 엔진(KittenTTS, Sherpa-ONNX, Supertonic 3)을 활성 엔진으로 선택하면 해당 작업을 사전에 실행 가능한 메시지와 함께 실패시키고 OmniVoice로 조용히 대체하는 것을 방지합니다.
MOSS-TTS-v1.5(8B, ~16 GB), dots.tts(2B, ~9 GB), 그리고 Confucius4-TTS는 로컬 클론으로부터 분리된 자체 가상 환경 (venv)에서 실행되는 무거운 선택 사항 (opt-ins)입니다. 어떤 모델도 Apple Silicon MPS (Mac의 CPU)를 지원한다고 주장하지 않습니다; dots.tts는 Windows 경로가 없으며; Confucius4는 CUDA를 요구합니다 (CPU로 작동 시, 실시간 대비 약 17배 느림). 상세 정보: MOSS-TTS-v1.5 · dots.tts · Confucius4-TTS.
11개의 엔진 — 이 엔진들은 받아쓰기 (dictation), 비디오 더빙 (video dubbing), 그리고 자막 (subtitles) 기능을 구동합니다. WhisperX는 크로스 플랫폼 기본 엔진입니다 (~100개 언어, 단어 단위 타이밍 지원); 나머지는 선택 사항 (opt-in)이며 자동 감지됩니다. Settings → Engines에서 전환할 수 있습니다. 10개는 완전히 온디바이스 (on-device)로 실행되며; 11번째 엔진 (OpenAI 호환)은 Qwen3-ASR 또는 기타 호환 가능한 서버를 위한 선택적 원격 클라이언트 (remote client)입니다.
📊 전체 라인업 — 11개의 엔진, 각 엔진의 강점, 그리고 연산 유형 (compute-type) 참고 사항
| 엔진 | OMNIVOICE_ASR_BACKEND | 언어 | 최적 용도 |
|---|---|---|---|
| WhisperX (기본값) | whisperx | ~100 | 더빙 및 자막 — wav2vec2 강제 정렬 (forced alignment)을 통한 단어 단위 타이밍 |
| Faster-Whisper | faster-whisper | ~100 | Linux / macOS / Windows에서의 빠른 전사 (transcription) (CTranslate2) |
| Faster-Whisper (격리형) | faster-whisper-isolated | ~100 | Faster-Whisper와 동일하지만 서브프로세스 (subprocess) 내에서 충돌이 격리됨 — ASR 충돌이 앱 전체를 중단시키지 않음 |
| MLX Whisper | mlx-whisper | ~100 | 네이티브 Apple Silicon 속도 (Apple MLX / Metal) |
| PyTorch Whisper | pytorch-whisper | ~100 | 🤗 Transformers를 통한 CUDA / CPU 폴백 (fallback) (cuDNN 8 불필요) |
| Parakeet TDT | nemo-parakeet | 영어 + 유럽 25개국 | CPU에서도 실시간 대비 약 10배 속도의 SOTA 정확도, 자동 언어 감지 (NVIDIA NeMo, CUDA/CPU) |
| Parakeet TDT v3 (MLX) | parakeet-mlx | 유럽 25개국 | Apple Silicon을 위한 Parakeet 계층 — TDT 단어 타임스탬프, 약 2 GB 통합 메모리 (unified memory), MLX를 통한 GPU 기반의 받아쓰기급 속도. Settings → Models에서 모델을 설치하며, 시스템 언어가 해당 25개 유럽 언어 중 하나인 경우 받아쓰기 기능이 자동으로 이를 선호합니다; 다른 언어 (CJK, 아랍어 등)는 다국어 Whisper 엔진을 유지하여 받아쓰기 커버리지가 퇴보하지 않도록 합니다. |
| Moonshine |
moonshine |
영어 | Edge / 저지연 (low-latency), ONNX |
| FunASR |
funasr |
50개 이상 | 올인원 다국어 (All-in-one multilingual) — 내장된 VAD + 인라인 화자 분리 (speaker diarization) (SenseVoice) |
| sherpa-onnx (실시간 받아쓰기) |
sherpa-onnx-asr |
25 EU + 90개 이상 | 실시간, 실시간보다 빠른 (faster-than-real-time) 받아쓰기 — 소형 스트리밍/오프라인 ONNX 모델 (Parakeet TDT v3/v2, streaming Zipformer & Paraformer, Whisper Tiny), CPU, macOS / Windows / Linux에서 동일하게 작동. 설정(Settings) → 음성(Voice)에서 모델별로 선택 가능. |
| OpenAI 호환 (OpenAI-compatible) |
openai-compat-asr |
서버에 따라 다름 | 현재 Qwen3-ASR로 가는 경로 (자체 호스팅 서버, transformers 대기 없음), 모든 OpenAI 호환 전사 (transcription) 엔드포인트, 또는 OpenAI 자체 API — 설치 불필요, 설정(Settings) → 엔진(Engines) (ASR 탭)에서 연결 구성 및 테스트. 오디오는 사용자가 지정한 서버로 기기를 떠납니다; docs/engines/openai-compatible-asr.md 참조. |
Whisper 계열 엔진은 약 100개의 언어를 지원합니다.
FunASR / SenseVoice는 내장된 음성 활동 감지 (voice-activity detection) 및 인라인 화자 분리 (speaker diarization)를 갖춘 올인원 다국어 경로를 추가합니다. sherpa-onnx는 실시간 받아쓰기 모델 선택기를 구동합니다 — 말하면 말하는 대로 텍스트가 나타납니다. 모든 엔진은 온디바이스 (on-device)로 실행됩니다 — API 키도, 클라우드도 필요 없습니다.
효율적인 float16을 지원하지 않는 GPU라면? 오래된 NVIDIA GPU (Maxwell/Pascal, GTX 16xx) 또는 CTranslate2/cuDNN 불일치 발생 시, CTranslate2 ASR 엔진 (WhisperX, Faster-Whisper)은 float16을 실행할 수 없습니다.
이 경우 OmniVoice는 자동으로 int8로 재시도합니다 — 별도의 설정은 필요하지 않습니다. 만약 전사가 여전히 실패한다면, ASR_COMPUTE_TYPE 환경 변수(escape hatch)를 통해 연산 유형 (compute type)을 고정하세요: ASR_COMPUTE_TYPE=int8 (또는 CPU의 경우 float32). 이를 int8로 설정하고 백엔드를 재시작하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기