k2-fsa/OmniVoice
High-Quality Voice Cloning TTS for 600+ Languages
OmniVoice – 대규모, 제로샷 텍스트-음성 합성
무엇인가요 – OmniVoice는 언어별 미세조정 없이 600개 이상의 언어에서 음성을 합성할 수 있는 다국어 텍스트-음성(TTS) 시스템입니다. 확산형 언어모델 아키텍처를 사용하여 매우 낮은 실시간 계수(RTF ≈ 0.025, 즉 실시간의 40배 빠름)로 고품질 오디오를 생성합니다. 이 모델은 세 가지 주요 사용 사례를 지원합니다:
- 보이스 클로닝 – 짧은 참조 녹음 파일의 음성과 유사한 음성을 생성.
- 보이스 디자인 – 참조 오디오를 제공하지 않고 성별, 나이, 음높이, 억양, 방언, 속삭임 등과 같은 화자 속성을 지정.
- 자동 보이스 – 모델이 자동으로 보이스를 선택하도록 합니다.
또한 비언어적 기호([laughter])와 명시적인 발음 힌트(중국어의 핀인, 영어의 CMU 파fone)와 같은 세부 제어도 가능합니다.
빠른 시작
- 웹 UI –
omnivoice-demo --ip 0.0.0.0 --port 8001로 Gradio 데모를 실행합니다. - 허깅페이스 스페이스 – https://huggingface.co/spaces/k2-fsa/OmniVoice 에서 온라인으로 모델을 시험해보세요.
- Colab 노트북 – README에 링크된 실행 가능한 노트북이 있습니다.
설치 (pip)
# 하드웨어에 맞는 PyTorch 설치 (CUDA, Apple Silicon, Intel XPU)
# 최신 NVIDIA GPU 예시:
pip install torch==2.8.0+cu128 torchaudio==2.8.0+cu128 \
--extra-index-url https://download.pytorch.org/whl/cu128
# 라이브러리 설치 (PyPI에서 안정 버전)
pip install omnivoice
또는 리포지토리에서 직접 설치 (pip install git+https://github.com/k2-fsa/OmniVoice.git) 또는 uv 도구를 사용해 종속성 동기화.
파이썬 API (핵심 패턴)
from omnivoice import OmniVoice
import soundfile as sf, torch
model = OmniVoice.from_pretrained(
"k2-fsa/OmniVoice",
device_map="cuda:0", # Apple Silicon은 "mps", Intel Arc는 "xpu"
dtype=torch.float16)
# 1️⃣ 보이스 클로닝
audio = model.generate(
text="Hello, this is a test of zero-shot voice cloning.",
ref_audio="ref.wav",
ref_text="Transcription of the reference audio.")
sf.write("out.wav", audio[0], 24000)
# 2️⃣ 보이스 디자인
audio = model.generate(
text="Hello, this is a test of voice design.",
instruct="female, low pitch, british accent")
# 3️⃣ 자동 보이스
audio = model.generate(text="Just speak in a random voice.")
동일한 model.generate 호출은 확산 단계(num_step), 속도 계수, 고정 길이, 기타 많은 옵션을 지원하며, docs/generation-parameters.md에 자세히 설명되어 있습니다.
명령줄 도구
| 명령어 | 일반적인 용도 |
|---|---|
omnivoice-demo |
인터랙티브 Gradio 데모 실행 |
omnivoice-infer |
단일 발화 추론 (보이스 클로닝, 디자인, 자동) |
omnivoice-infer-batch |
고처리량 배치 추론, GPU 간 분산 가능 |
모든 CLI 옵션은 파이썬 API 인수와 일치합니다 (예: --ref_audio, --instruct, --num_step).
속도 최적화 기법
- FlashInfer 카ーネル은 품질 손실 없이 2–2.9배의 속도 향상을 제공합니다. 제공된 CUDA 버전용 웨일을 설치하고
--enable_flashinfer true(CLI) 또는apply_flashinfer(model)(파이썬)로 활성화합니다. CUDA 그래프는 배치 크기 1일 때 지연 시간을 추가로 개선합니다.
학습 및 평가
리포지토리에는 examples/ 폴더가 포함되어 있으며, 데이터 준비, 모델 학습, 평가, 파인튜닝 절차를 안내합니다. 사용자는 자신의 데이터에 맞게 파이프라인을 조정할 수 있습니다.
커뮤니티 및 지원
- 이슈는 GitHub에서 처리됩니다.
- 중국어 커뮤니티 논의를 위해 WeChat 그룹과 공식 계정이 안내됩니다.
- 커뮤니티 프로젝트 목록은
docs/community-projects.md에 유지됩니다.
인용
연구에서 OmniVoice를 사용할 경우, arXiv 논문을 인용해 주세요:
@article{zhu2026omnivoice,
title={OmniVoice: Towards Omnilingual Zero‑Shot Text‑to‑Speech with Diffusion Language Models},
author={Zhu, Han and Ye, Lingxuan and Kang, Wei and Yao, Zengwei and Guo, Liyong and Kuang, Fangjun and Han, Zhifeng and Zhuang, Weiji and Lin, Long and Povey, Daniel},
journal={arXiv preprint arXiv:2604.00688},
year={2026}
}
윤리적 주의사항
저자들은 불법적인 보이스 클로닝, 위장, 사기, 또는 기타 불법/비윤리적 사용을 명확히 금지합니다. 사용자는 지역 규제 및 책임 있는 AI 가이드라인을 준수해야 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트