k2-fsa/OmniVoice

High-Quality Voice Cloning TTS for 600+ Languages

OmniVoice – 대규모, 제로샷 텍스트-음성 합성

무엇인가요 – OmniVoice는 언어별 미세조정 없이 600개 이상의 언어에서 음성을 합성할 수 있는 다국어 텍스트-음성(TTS) 시스템입니다. 확산형 언어모델 아키텍처를 사용하여 매우 낮은 실시간 계수(RTF ≈ 0.025, 즉 실시간의 40배 빠름)로 고품질 오디오를 생성합니다. 이 모델은 세 가지 주요 사용 사례를 지원합니다:

  1. 보이스 클로닝 – 짧은 참조 녹음 파일의 음성과 유사한 음성을 생성.
  2. 보이스 디자인 – 참조 오디오를 제공하지 않고 성별, 나이, 음높이, 억양, 방언, 속삭임 등과 같은 화자 속성을 지정.
  3. 자동 보이스 – 모델이 자동으로 보이스를 선택하도록 합니다.

또한 비언어적 기호([laughter])와 명시적인 발음 힌트(중국어의 핀인, 영어의 CMU 파fone)와 같은 세부 제어도 가능합니다.


빠른 시작

  • 웹 UIomnivoice-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 가이드라인을 준수해야 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트