| 한눈에 보기 | |
|---|---|
| 저장소 | k2-fsa/OmniVoice |
| 개발 | k2-fsa (조직) |
| GitHub 스타 | 14,720 (오늘 +55) |
| GitHub 트렌딩 | 일간 Python 14위 |
| 포크 | 2,196 |
| 주 언어 | Python |
| 라이선스 | Apache-2.0 |
| 공개일 | 2026-03-31 |
| 최신 릴리스 | 0.2.1 (2026-07-16) |

옴니보이스(OmniVoice)는 짧은 참조 음성만으로 목소리를 복제해 읽어 주는 다국어 TTS(텍스트 음성 변환) 프로젝트다. 만든 곳은 오픈소스 음성 도구를 개발해 온 k2-fsa 조직이다. 언어마다 별도 모델을 학습하기 어려운 저자원 언어까지 한 모델로 다루겠다는 목표가 개발자들의 관심을 끌며 최근 트렌딩에 올랐다.
무엇을 하나: 음성 복제와 음성 설계
k2-fsa/OmniVoice는 세 가지 생성 모드를 제공한다.
- 음성 복제: 3~10초 분량의 참조 오디오와 그 대본을 넣으면 같은 목소리로 새 문장을 읽는다. 대본을 생략하면 위스퍼(Whisper) 음성 인식으로 자동 전사한다.
- 음성 설계: 참조 음성 없이 성별, 나이, 음높이, 속삭임, 영어 억양, 중국어 방언 같은 속성을 쉼표로 조합해 목소리를 지정한다.
- 자동 음성: 아무 조건 없이 텍스트만 넣으면 모델이 목소리를 고른다.
문장 안에 [laughter], [sigh] 같은 비언어 태그를 넣어 웃음이나 한숨을 표현할 수 있고, 중국어 병음이나 영어 CMU 발음 표기로 발음을 직접 교정할 수도 있다. README는 지원 언어가 제로샷 TTS 모델 가운데 가장 넓다고 밝혔다.
작동 방식·구조
README는 이 모델이 '확산 언어모델 방식'의 단순한 구조를 따른다고 설명한다. 한 글자씩 순차 생성하는 자기회귀 방식과 달리, 정해진 확산 단계(num_step, 기본 32, 빠른 추론은 16) 동안 음성을 다듬어 가는 방식이다. 출력은 24kHz 오디오 배열이다. 속도(speed)나 총 길이(duration)를 직접 지정할 수 있다. 개발진은 실시간 대비 40배 빠른 RTF 0.025까지 나온다고 주장하며, 플래시인퍼(FlashInfer) 커널을 쓰면 품질 손실 없이 약 2~2.9배 더 빨라진다고 밝혔다. 이 수치는 README 기준이며 환경별 검증이 필요하다.
써보면
PyTorch를 먼저 설치한 뒤 pip install omnivoice로 설치한다. NVIDIA GPU뿐 아니라 애플 실리콘(MPS)과 인텔 아크(XPU)도 지원한다. 코드 없이 써 보려면 omnivoice-demo --ip 0.0.0.0 --port 8001로 웹 UI를 띄우거나 허깅페이스 스페이스, 구글 코랩을 이용하면 된다.
from omnivoice import OmniVoice
import torch
model = OmniVoice.from_pretrained(
"k2-fsa/OmniVoice", device_map="cuda:0", dtype=torch.float16)
audio = model.generate(
text="Hello, this is a test.",
ref_audio="ref.wav",
ref_text="Transcription of the reference audio.")
참조 없이 목소리를 설계하려면 instruct="female, low pitch, british accent"처럼 속성만 넘기면 된다. 대량 처리용으로는 JSONL 목록을 여러 GPU에 분산하는 omnivoice-infer-batch 명령이 있다.
최근 업데이트
최신 릴리스 0.2.1(2026년 7월 16일)의 주요 변경점은 다음과 같다.
- 복제한 음성 프롬프트를 파일로 저장·불러오는
VoiceClonePrompt.save()/load()추가 generate(normalize_text=True)로 숫자·날짜·통화를 단어로 바꿔 읽는 텍스트 정규화(선택 기능) 도입- 자동 전사용 ASR 모델이 항상 GPU 0에 올라가던 문제를 고치고
asr_device옵션 추가 flex_attention이 autocast를 따르지 않아 조용히 fp32로 돌며 학습이 약 4배 느려지던 문제 수정
누구에게 유용한가
오디오북·더빙·접근성 도구처럼 여러 언어 음성이 필요한 서비스, 소수 언어 음성 합성을 실험하는 연구자, 게임·영상 제작자가 대상이다. 한 번 인코딩한 목소리를 저장해 재사용할 수 있어 같은 화자로 긴 콘텐츠를 만들 때 편하다. 배치 추론 CLI와 학습·평가 스크립트도 있어 직접 미세조정하려는 팀도 쓸 수 있다.
의의와 한계
라이선스는 Apache-2.0으로 상업적 활용 부담이 적다. 저장소는 2026년 3월 말 만들어져 반년 남짓이고 릴리스도 0.2.x대여서 API가 바뀔 여지가 있다. README는 이 모델이 주로 음성 복제로 학습돼 복제 모드가 가장 안정적이라고 밝혔다. 음성 설계는 중국어·영어 데이터로만 학습돼 저자원 언어에서는 불안정할 수 있다. 참조 음성과 다른 언어로 합성하면 참조 언어의 억양이 섞이고, 아라비아 숫자는 정규화해야 정확히 읽는다. 텍스트 정규화는 별도 extra(omnivoice[tn]) 설치가 필요하다. 음성 복제 기술인 만큼 타인 목소리를 쓸 때는 동의와 악용 방지에 유의해야 한다.


