로컬 음성 인식·합성

최종 업데이트

OmniVoice로 한국어 음성 만들기: 600개 이상 언어·방언 지원

0.6B 모델이 텍스트를 음성으로 만들며, 가중치에는 비상업 조건이 있어요.

OmniVoice는 0.6B 다국어 TTS1로, 모델 카드가 600개 이상 언어와 방언을 다룬다고 설명해요. 코드 라이선스는 Apache 2.0이지만 사전학습 가중치는 CC-BY-NC로 배포되어 상업적 사용은 허용되지 않아요. 먼저 카드의 언어와 발화 예제를 확인하고, 실제 발음을 직접 평가하세요.

실행 조건과 핵심 내용
  • 한국어를 포함한 여러 언어로 텍스트 음성을 생성해요.
  • 코드와 사전학습 가중치의 라이선스가 달라요.
  • 가중치 CC-BY-NC 조건은 상업 사용을 제한해요.

텍스트에서 여러 언어 음성을 만들어요

OmniVoice는 K2-FSA의 0.6B TTS 모델이에요. 모델 카드는 600개가 넘는 언어와 방언을 다룬다고 설명하고, 참조 음성과 전사를 주면 그 목소리로 문장을 읽는 zero-shot 예제를 제공해요. 한국어 문장에서 이름과 숫자 발음을 확인해 보세요. OmniVoice 모델 카드 · 공식 저장소

펼쳐진 책과 작은 컴퓨터, 스피커가 놓인 책상
합성할 문장과 출력 언어를 먼저 정해요.

설치 전에 저장소 예제와 장비 조건을 확인해요

모델 카드는 NVIDIA GPU2용 CUDA3별 PyTorch4 설치와 Apple Silicon용 표준 PyTorch 설치를 안내해요. 아래 예제는 CUDA 경로예요. 가상환경5에 패키지를 설치하고 짧은 한국어 참조 음성과 그 전사를 ref.wav, ref.txt로 준비하세요.

OmniVoice와 WAV 저장 패키지 설치
python -m pip install torch==2.8.0+cu128 torchaudio==2.8.0+cu128 --extra-index-url https://download.pytorch.org/whl/cu128
python -m pip install omnivoice soundfile

한국어 문장을 넣고 발음을 직접 점검해요

아래 코드를 generate.py로 저장해 실행하면 korean.wav가 현재 폴더에 생겨요. 예제는 지정한 한국어 문장을 ref.wav의 목소리와 발화 스타일로 합성합니다. 본인 음성이나 명시적으로 허락받은 참조 음성을 사용하세요.

참조 음성으로 한국어 WAV 생성
from omnivoice import OmniVoice
import soundfile as sf
import torch

model = OmniVoice.from_pretrained("k2-fsa/OmniVoice", device_map="cuda:0", dtype=torch.float16)
with open("ref.txt", encoding="utf-8") as f:
    ref_text = f.read().strip()
audio = model.generate(text="오늘 회의는 오후 두 시에 시작합니다.", ref_audio="ref.wav", ref_text=ref_text)
sf.write("korean.wav", audio[0], 24000)
generate.py 실행
python generate.py
마이크와 헤드폰, 파형이 표시된 모니터가 있는 작업대
완성된 음성을 듣고 이름과 억양을 점검해요.

코드와 가중치 라이선스를 혼동하지 않아요

OmniVoice 코드에는 Apache 2.0, 사전학습 가중치에는 CC-BY-NC가 적용돼요. CC-BY-NC는 비상업 조건이므로 상업용 앱이나 서비스에 사전학습 가중치를 넣지 마세요. 오픈소스 코드 라이선스만 보고 모델 전체가 상업적으로 자유롭다고 판단하면 안 돼요. 가중치 라이선스와 모델 카드

실제 쓸 문장으로 최종 샘플을 만들어요

짧은 테스트가 끝나면 실제 배포할 문장 길이로 새 오디오를 생성하고 전체 파일을 들어보세요. 숫자 읽기와 발음은 물론, 배경음에 섞을 때 음량이나 문장 간 간격이 맞는지도 확인합니다. 로컬에서 만든 음성이라도 사용자의 개인정보, 합성 음성 고지, 음성 권리와 서비스 규정은 별도로 지켜야 해요.

코드 라이선스만 보고 상업적으로 배포하지 마세요. 사전학습 가중치의 조건이 코드와 다르므로, 제품에 포함하기 전에 가중치 사용 범위를 따로 확인해요.

헤드폰과 오디오 플레이어, 펼쳐진 노트가 놓인 책상
용도에 앞서 코드와 가중치 라이선스를 따로 봐요.

용어 각주

  1. 음성 합성 — 텍스트를 발음과 운율을 가진 음성 신호로 변환하는 기술입니다.

    본문으로 돌아가기
  2. GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.

    본문으로 돌아가기
  3. CUDA — NVIDIA GPU에서 범용 계산을 실행하기 위한 소프트웨어 플랫폼입니다.

    본문으로 돌아가기
  4. PyTorch — AI 모델을 만들고 실행하는 소프트웨어 프레임워크입니다. 모델과 함께 호환되는 PyTorch 버전 및 하드웨어 지원도 확인해야 합니다.

    본문으로 돌아가기
  5. Python 가상환경 — 프로젝트별로 Python 패키지를 분리해 설치하는 공간입니다. 패키지 버전 충돌을 줄이는 데 쓰입니다.

    본문으로 돌아가기

자주 묻는 질문

이 글에서 가장 먼저 확인할 것은 무엇인가요?
OmniVoice는 0.6B 다국어 TTS로, 모델 카드가 600개 이상 언어와 방언을 다룬다고 설명해요. 코드 라이선스는 Apache 2.0이지만 사전학습 가중치는 CC-BY-NC로 배포되어 상업적 사용은 허용되지 않아요. 먼저 카드의 언어와 발화 예제를 확인하고, 실제 발음을 직접 평가하세요.
선택하지 않는 편이 좋은 경우는 언제인가요?
코드 라이선스만 보고 상업적으로 배포하지 마세요. 사전학습 가중치의 조건이 코드와 다르므로, 제품에 포함하기 전에 가중치 사용 범위를 따로 확인해요.
조건과 출처는 어디서 확인하나요?
OmniVoice는 K2-FSA의 0.6B TTS 모델이에요. 모델 카드는 600개가 넘는 언어와 방언을 다룬다고 설명하고, 참조 음성과 전사를 주면 그 목소리로 문장을 읽는 zero-shot 예제를 제공해요. 한국어 문장에서 이름과 숫자 발음을 확인해 보세요. [OmniVoice 모델 카드](https://huggingface.co/k2-fsa/OmniVoice) · [공식 저장소](https://github.com/k2-fsa/OmniVoice)