48 kHz 스테레오와 제로샷 클로닝을 지원하는 로컬 Transformer TTS v1.5
48 kHz 스테레오를 네이티브로 지원하는 Transformer 기반 로컬 TTS로, 제로샷 보이스 클로닝·토큰 단위 지속시간 제어·인라인 일시정지·다국어 합성을 제공한다.
TL;DR
MOSS-TTS-Local-Transformer v1.5는 Transformer 기반 로컬 TTS 계열의 최신 릴리스로, 제로샷 보이스 클로닝·장문 생성·토큰 단위 지속시간 제어·다국어 합성을 주요 기능으로 유지하면서 품질과 제어성을 개선했다. v1.5는 특히 MOSS-Audio-Tokenizer-v2를 도입해 네이티브 48 kHz 스테레오 인코딩·디코딩을 지원하므로 출력에서 좌우 채널 정보를 보존해 공간감과 음질을 향상시킨다. 샘플링 기반 오디오 생성 파이프라인은 고정 12-코드북 RVQ를 사용하고 audio_temperature(권장 1.7), audio_top_p(0.8), audio_top_k(25) 등 하이퍼파라미터로 RVQ 레이어별 출력을 제어한다. 또한 언어 태그를 명시하면 다국어 합성 품질이 개선되고, 참조 오디오를 통한 보이스 클로닝 안정성 및 반복 생성 변동성이 v1.0 대비 낮아졌다. 실시간·스트리밍 사용을 위해 SGLang-Omni와 호환되며 48 kHz PCM 스트리밍·서빙을 지원한다. 트레이드오프로는 언어 태그를 생략하면 일부 언어에서 성능이 소폭 후퇴할 가능성이 README에 명시되어 있고, 런타임 의존성으로 Transformers 5.0.0 및 torch==2.9.1+cu128 같은 특정 버전이 요구된다. FlashAttention 2가 있으면 성능·메모리 이점이 있으나 선택적이며, n_vq는 config와 동일한 값(12)으로 고정되어 있어 토큰화 파라미터 변경에 제한이 있다.
핵심 역량
- 제로샷 보이스 클로닝: 참조 오디오로 화자 유사성 반영한 음성 합성
- 다국어 합성 및 코드스위칭: 31개 언어 지원 및 언어 태그로 성능 제어
- 장문(롱폼) 음성 생성 및 스트리밍 출력(48 kHz PCM 스트리밍 지원)
- 토큰 수준 지속시간 제어 및 inline [pause X.Ys]로 명시적 일시정지 삽입
- 스테레오 48 kHz 출력(프로세서·코덱이 네이티브 스테레오 반환)
- 생성 하이퍼파라미터(temperature, top_p, top_k, repetition_penalty)로 오디오 샘플링 품질 조정
강점
- 네이티브 48 kHz 스테레오 지원: MOSS-Audio-Tokenizer-v2 채용으로 공간감·음질 측면에서 로컬 TTS 출력 품질이 향상됐다.
- 풍부한 제어 인터페이스: 토큰 단위 지속시간 제어, inline [pause X.Ys], 언어 태그로 합성 품질을 세밀히 조절할 수 있다.
- 제로샷 보이스 클로닝 안정성 개선: v1.5는 화자 유사도 향상과 반복 생성 시 변동성 감소를 목표로 했다.
- 스트리밍·서빙 호환성: SGLang-Omni와의 통합으로 OpenAI 호환 API와 48 kHz PCM 스트리밍을 지원한다.
훈련 방식
MOSS-TTS-Local-Transformer-v1.5는 v1.0을 이어서 계속 학습(continued training)했으며, MOSS-Audio-Tokenizer-v2와 다국어 추가 학습을 통해 48 kHz 스테레오 품질과 보이스 클로닝 안정성을 개선했다.
알아두면 좋은 것
- v1.5는 MOSS-Audio-Tokenizer-v2를 채택해 네이티브 48 kHz 스테레오 인코딩·디코딩을 지원하므로 출력 텐서를 [channels, samples] 형식으로 저장해야 한다.
- 모델은 고정 12-코드북 RVQ 깊이(n_vq=12)를 사용하며, release는 config.n_vq와 다른 값을 입력하면 거부한다.
- 권장 런타임은 Transformers 5.0.0 이상이며, pyproject.toml은 torch==2.9.1+cu128 및 torchaudio==2.9.1+cu128으로 고정되어 있다.
- 추론 시 FlashAttention 2가 사용 가능하면 우선 선택하고, 없을 경우 CUDA SDPA 또는 CPU eager 어텐션으로 폴백하는 로직을 제공한다.
기술적 특징
- 네이티브 48 kHz 스테레오 코덱 채택: MOSS-Audio-Tokenizer-v2를 오디오 토크나이저로 사용해 입력·출력 모두 네이티브 48 kHz 스테레오를 유지한다. 이로 인해 디코딩된 오디오가 [channels, samples] 텐서로 반환되며 공간적 세부(좌우 채널)를 보존해 더 자연스러운 스테레오 재생이 가능해졌다.
- 고정 12-코드북 RVQ 구성: 모델은 RVQ(depth=12) 기반 오디오 토큰을 사용하며, release는 config.n_vq와 일치하지 않는 값은 거부한다. 코드북 수를 고정함으로써 디코더·토크나이저 파이프라인의 일관성을 유지하고 학습·추론 시 재현성을 확보한다.
- 샘플링 기반 오디오 생성 제어: 오디오 생성에서 temperature(권장 1.7), top_p(0.8), top_k(25), repetition_penalty(1.0) 같은 하이퍼파라미터를 노출해 RVQ 레이어별 샘플링 분포를 조정한다. 이 접근은 음색 다양성과 반복 패턴 제어 사이의 균형을 제공한다.
- 연산 백엔드 가변화로 효율성 확보: FlashAttention 2가 사용 가능하면 이를 우선 적용하고, 지원되지 않을 경우 CUDA SDPA나 CPU eager 어텐션으로 자동 폴백한다. 이 로직은 고성능 GPU에서 메모리 사용량을 줄이고 추론 속도를 개선하도록 설계됐다.
- 명시적 및 토큰 단위 지속시간 제어 인터페이스: ${token:N}과 token_count/duration_tokens로 지속시간을 직접 제어할 수 있으며, 인라인 마커([pause X.Ys])로 문장 내 정확한 일시정지를 삽입한다. 이 인터페이스는 장문 합성·타이밍 민감한 합성에 실용적이다.
차별점
- MOSS-Audio-Tokenizer-v2 기반 네이티브 48 kHz 스테레오 지원으로 스테레오 공간 정보 보존
- 고정 12-코드북 RVQ 파이프라인(n_vq=12)으로 토큰·디코더 일관성 보장
- 언어 태그 기반 다국어 성능 조정(명시된 언어에서 v1.5가 v1.0 대비 전반적 우위)
- 인라인 [pause X.Ys] 및 토큰 단위 지속시간 제어 같은 세밀한 생성 제어 인터페이스
53
Likes
8.5k
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.