VoxCPM2: 2B 파라미터로 30개 언어를 지원하는 토크나이저 없는 고품질 AI 음성 합성 모델

VoxCPM2 모델 소개

텍스트-음성 변환(TTS, Text-to-Speech) 분야는 최근 몇 년간 빠르게 발전했지만, 기존 시스템은 대부분 텍스트를 먼저 음소(Phoneme) 또는 이산 토큰(Discrete Token)으로 변환한 뒤 음성을 생성하는 방식을 사용했습니다. 이러한 토크나이저 기반 접근법은 각 언어별로 별도의 전처리 파이프라인이 필요하고, 이산화 과정에서 미묘한 억양과 감정 표현이 손실되는 문제가 있었습니다. OpenBMB 연구팀이 공개한 VoxCPM2는 이러한 한계를 극복하기 위해 토크나이저 없이 연속적인 음성 잠재 공간(Latent Space)에서 직접 확산(Diffusion) 기반으로 음성을 생성하는 새로운 패러다임을 제시합니다.

VoxCPM22B 파라미터 규모로, 200만 시간 이상의 다국어 데이터로 학습되었습니다. 한국어를 포함한 30개 언어와 다수의 중국어 방언을 지원하며, 48kHz 스튜디오급 음질로 음성을 출력합니다. 2024년 공개된 VoxCPM 0.5B가 영어·중국어만 지원하고 16kHz 출력이었다면, VoxCPM2는 언어 지원 범위와 품질 모두에서 대폭 향상되었습니다. NVIDIA RTX 4090 기준 실시간 팩터(RTF)는 약 0.30으로, Nano-vLLM 가속을 적용하면 0.13까지 낮출 수 있어 실시간 서비스에서도 충분히 활용 가능합니다.

VoxCPM2의 4단계 파이프라인 아키텍처

VoxCPM2의 핵심은 LocEnc → TSLM → RALM → LocDiT로 이어지는 4단계 파이프라인입니다. 토크나이저 없는 확산 오토리그레시브(Diffusion Autoregressive) 방식으로, AudioVAE V2의 잠재 공간에서 직접 음성을 생성합니다. 비대칭 인코딩·디코딩 설계를 통해 16kHz 참조 오디오를 입력받아 48kHz 고품질 오디오를 출력하며, 외부 업샘플링 없이 스튜디오급 음질을 구현합니다. 기존 이산 보코더(Vocoder) 방식의 병목을 제거했기 때문에 풍부한 감정 표현과 자연스러운 억양을 유지할 수 있는 것이 특징입니다.

VoxCPM2는 세 가지 핵심 기능을 제공합니다. 첫째, **보이스 디자인(Voice Design)**으로 참조 오디오 없이 자연어 설명만으로 새로운 목소리를 생성할 수 있습니다. 텍스트 입력 안에 괄호로 음성 특성을 지정하면 됩니다. 둘째, **컨트롤러블 보이스 클로닝(Controllable Voice Cloning)**으로 짧은 참조 클립에서 목소리를 복제하면서 감정, 속도, 표현을 조절할 수 있습니다. 셋째, **얼티밋 클로닝(Ultimate Cloning)**으로 참조 오디오와 해당 텍스트를 함께 제공하면 음색, 리듬, 감정 전달 방식까지 완벽히 재현하는 오디오 연속을 생성합니다.

VoxCPM2 설치 및 사용법

pip install voxcpm

요구사항: Python ≥3.10 (<3.13), PyTorch ≥2.5.0, CUDA ≥12.0

기본 텍스트-음성 변환 (TTS)

from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained("openbmb/VoxCPM2", load_denoiser=False)
wav = model.generate(
    text="VoxCPM2는 자연스러운 다국어 음성 합성을 제공합니다.",
    cfg_value=2.0,
    inference_timesteps=10,
)
sf.write("output.wav", wav, model.tts_model.sample_rate)

보이스 디자인 — 자연어로 목소리 특성 지정

# 텍스트 안의 괄호로 목소리 특성을 지정
wav = model.generate(
    text="(젊은 여성, 부드럽고 따뜻한 목소리)안녕하세요, VoxCPM2입니다!",
    cfg_value=2.0,
    inference_timesteps=10,
)

보이스 클로닝

# 기본 클로닝
wav = model.generate(
    text="VoxCPM2로 생성한 음성 복제 예시입니다.",
    reference_wav_path="reference.wav",
)

# 감정/속도 제어 포함 클로닝
wav = model.generate(
    text="(조금 더 빠르게, 밝은 톤으로)VoxCPM2 스타일 제어 예시입니다.",
    reference_wav_path="reference.wav",
    cfg_value=2.0,
    inference_timesteps=10,
)

모델 버전 비교

기능 VoxCPM2 VoxCPM1.5 VoxCPM-0.5B
파라미터 2B 0.6B 0.5B
출력 샘플레이트 48kHz 44.1kHz 16kHz
지원 언어 30개 2개 (zh, en) 2개 (zh, en)
보이스 디자인 :white_check_mark:
RTF (RTX 4090) ~0.30 ~0.15 ~0.17
Nano-VLLM RTF ~0.13 ~0.08 ~0.10

Seed-TTS-eval 벤치마크 결과

모델 파라미터 test-EN WER(%) ↓ test-EN SIM(%) ↑ test-ZH CER(%) ↓ test-ZH SIM(%) ↑
VoxCPM2 2B 1.84 75.3 0.97 79.5
LongCat-Audio-DiT 3.5B 1.50 78.6 1.09 81.8
Seed-TTS 2.25 76.2 1.12 79.6
VoxCPM1.5 0.8B 2.12 71.4 1.18 77.0

라이선스

VoxCPM2 프로젝트는 Apache-2.0 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

:framed_picture: VoxCPM2 데모

:books: VoxCPM2 문서 사이트

:github: VoxCPM2 프로젝트 GitHub 저장소

:hugs: VoxCPM2 모델 다운로드

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: