DEFINE이 화자 음색과 억양을 분리해 제로샷 TTS를 제어한다

DEFINE: Exemplar-Guided Accent Control for Zero-Shot TTS

HF Daily2609.32777

Ambuj Mehrish, Abhinaba Roy, Alex Ivanov2026-09-30조회 2

무엇인가

제로샷 TTS는 몇 초짜리 참조 음성만으로 처음 보는 화자의 목소리를 재현하지만, 그 참조에는 화자 정체성뿐 아니라 그 화자의 억양까지 함께 담겨 있다. 그래서 "이 화자의 목소리로 스코틀랜드 억양"처럼 화자와 억양을 따로 요청할 방법이 없다. 훈련 데이터에서도 화자마다 하나의 모국 억양만 관측되기 때문에, 훈련 목표 자체가 두 요소를 독립적으로 표현하도록 유도하지 않는다. 기존 접근은 억양 레이블이나 레이블된 음성에서 학습한 임베딩을 조건 변수로 넣거나, 합성 후 별도 억양·음성 변환 모델을 통과시키는 방식이었는데, 둘 다 참조 예시로 목소리와 억양을 각각 지정하면서 학습 후에도 억양 강도를 조절하는 통합된 메커니즘을 주지 못한다.

어떻게 동작하나

DEFINE(Disentangled Exemplar Framework for Identity and Novel-accent Expression)은 조건화의 두 출처를 명시적으로 분리한다. 기존 참조 오디오는 "누가 말할지"를 정하고, 별도의 짧은 억양 예시가 "어떤 억양으로 말할지"를 정한다. 백본은 F5-TTS이며 사전학습 가중치는 동결하고, 어텐션의 query·value 투영, 피드포워드, adaLN 변조에 rank-16 LoRA를 붙여 343M 파라미터 중 6.3M만 학습한다. 128차원 억양 임베딩 a는 두 곳으로 들어간다. 타임스텝 임베딩과 텍스트 임베딩에 각각 W_t·a, W_y·a를 더하는데, 이때 각 임베딩의 RMS로 크기를 맞춰 스케일링한다. 이 스케일링이 없으면 더해지는 항이 타임스텝 임베딩보다 약 100배 작아 훈련 중 무시된다. 타임스텝 임베딩이 adaLN을 제어하므로 억양 조건은 모든 트랜스포머 블록에 도달한다. W_t, W_y는 바이어스가 없고 LayerNorm은 affine이 아니라서 a=0이면 두 임베딩이 그대로 유지되며, 훈련 중에는 p_drop=0.15로 a를 0으로 만들어 억양 없는 추론 분기를 함께 학습한다.

무엇과 다른가

억양 예시는 동결된 XLS-R의 15번째 레이어에서 읽는다. 레이어별 억양 프로브로 고른 레이어다. 각 클립의 프레임 특징을 마스크 평균으로 풀링하고 MLP g_φ로 128차원에 사상한 뒤 L2 정규화하고, K개 클립 임베딩을 평균해 a_enc를 만든다. 문제는 플로우 매칭 손실만으로 g_φ를 학습하면 전역 조건화에 대한 감독이 약하고 간접적이어서 임베딩이 디코더를 제대로 이끌지 못한다는 점이다. 이를 프로토타입 앵커링으로 해결한다. 훈련 억양마다 한 행씩 갖는 프로토타입 테이블 P(23행)를 두고, 코사인 항과 대조 항으로 a_enc를 해당 프로토타입에 정렬한다(τ=0.1, stop-gradient). 디코더는 훈련 중 a_enc와 프로토타입 p_c를 Bernoulli(π=0.5)로 섞은 조건을 받는다. stop-gradient 덕분에 플로우 매칭 손실은 g_φ를 갱신하지 못하고, 프로토타입은 디코더 친화적 조건을, 인코더는 그 프로토타입을 따라가는 표현을 각각 학습한다. 여기에 같은 억양 레이블 클립을 모으는 지도 대조 손실과, 그래디언트 반전 레이어를 붙인 화자 분류기로 화자 정보를 억제하는 손실을 더한다. 추론 시에는 P를 버리고 예시 인코더 경로만 쓰기 때문에, 훈련에 없던 억양도 예시만으로 표현할 수 있다.

어떻게 쓰나

추론에서 억양 강도는 단일 가중치 w로 연속적으로 조절된다. 각 솔버 스텝에서 억양 없는 예측 v_∅, 무조건 예측 v_u, 억양 조건 예측 v_a를 두고 v_∅ + s(v_∅ − v_u) + w(v_a − v_∅)를 사용한다(s=2). w=0이면 LoRA는 살아 있지만 억양 조건 없이 모델을 쓰는 것이고, w를 키우면 억양 기여가 강해진다. 즉 재학습 없이 화자 유사도와 억양 강도 사이의 운용점을 사후에 고를 수 있다.

전제와 한계

데이터는 Common Voice 영어 서브셋에서 저자원 억양 하나를 제거한 15개를 쓰고, 호주·아일랜드·필리핀 억양은 미학습 평가용으로, 웨일스·서인도 억양은 도메인 밖 조건으로 남긴다. 평가에 쓰지 않는 13개 억양 클래스(주로 L2 영어)까지 더해 프로토타입 테이블은 23행이 된다. 화자 프롬프트는 상용 TTS로 합성한 스튜디오급 사내 녹음이고, Common Voice가 화자와 억양을 묶어버리기 때문에 Seed-VC로 Common Voice 발화를 다른 억양의 스튜디오 화자 음색으로 옮겨 94.7k개의 의도적으로 불일치하는 프롬프트–타깃 쌍을 만들고 실제 녹음 137k개와 함께 쓴다. 평가는 1,764개 항목(학습 1,134, 미학습 378, 도메인 밖 252)이며, 억양 정확도는 15번째 레이어 XLS-R 특징에 대한 15-way 로지스틱 회귀 프로브(우연 수준 0.067), 화자 유사도는 ECAPA-TDNN 임베딩 코사인, WER은 Whisper large-v3, 품질은 UTMOS로 측정하고 95% 부트스트랩 구간을 계산한다.

학습된 억양에서 DEFINE은 w=15일 때 억양 정확도를 0.065(가이던스 끔)에서 0.196까지 올려, Seed-VC 캐스케이드(0.188)와 맞먹으면서 화자 유사도는 0.024 높고 예측 품질은 동등하다. 파형 변환이 아니라 합성기 내부에서 억양을 변조하기 때문에 정체성이 더 잘 보존된다. 도메인 밖 억양에서는 캐스케이드와 통계적으로 구분되지 않으며(0.087 대 0.083), 같은 모델의 억양 끔 대비 +0.040(95% CI [+0.004, +0.079]), F5-TTS 대비 +0.064([+0.032, +0.099])를 얻는다. 다만 미학습(held-out) 억양에서는 캐스케이드가 여전히 강하다(0.175 대 0.127). w를 키우면 화자 유사도가 단조 감소하고, 예시 기반 억양 정확도는 학습·도메인 밖 모두 w=19에서 정점(0.214, 0.111)을 찍는 반면 프로토타입 조회는 w=23까지 0.385로 계속 오른다. 이는 높은 가이던스에서 병목이 조건화 경로가 아니라 예시로부터의 억양 추론임을 시사한다. 계산량은 솔버 스텝마다 융합 CFG 호출 1회와 억양 조건 호출 1회로 시퀀스 평가 3회이며, F5-TTS는 2회이고 캐스케이드는 여기에 파형 변환 패스를 통째로 더한다.

어블레이션은 방법의 핵심 전제를 드러낸다. 프로토타입 앵커링이 없으면 어떤 가이던스 가중치도 억양을 끈 것보다 나아지지 않는다(w*=0, ACC 0.079). 즉 플로우 매칭만으로 학습한 인코더는 디코더를 조향하지 못한다. 대조 프로토타입 항은 추가로 0.053을 더한다. 가산 주입 대신 4개 블록마다 zero-init 크로스어텐션을 넣는 변형은 w=23에서 ACC 0.175에 도달하지만 UTMOS 1.52, SPK 0.22로 붕괴한다. 알아들을 수 없는 오디오인데도 프로브는 반응한다는 뜻이다. 예시 3개를 평균 풀링하면 학습 억양 ACC 변화는 +0.000(CI ±0.058), 미학습 +0.003, 화자 유사도 +0.019다. 진짜 한계는 인코더 자체다. 프로토타입 조회는 학습 억양에서 0.354까지 가는데 예시 경로는 0.196이고, 최근접 프로토타입 정확도는 학습 화자 0.873에서 처음 보는 화자 0.540(우연 수준 1/23=0.043)으로 떨어진다. 디코더는 잘 놓인 억양 벡터를 따라가지만, 인코더의 화자 과적합이 조건화 용량이나 가이던스보다 큰 병목이라는 것이다. 11명 청취자 실험(각 파트 10개 시행, 110표, 우연 0.333)에서 w=11의 DEFINE은 77표(0.70, CI [0.61, 0.78])를 얻어 캐스케이드 23표(0.21), F5-TTS 10표(0.09)를 앞섰고 11명 중 9명이 가장 많이 선택했다(p=0.0014). w=0은 우연보다 훨씬 낮아(p<10⁻⁷) 들리는 억양이 LoRA 적응만이 아니라 가이던스 항에서 온다는 것을 확인해 준다.

개발자 관점에서 이 논문이 주는 실무적 신호는 세 가지다. 첫째, 화자와 억양을 별도 오디오 예시로 지정하는 인터페이스가 단일 모델에서 가능하며, 추론 시 억양 레이블이 필요 없다. 둘째, w 하나로 억양 강도와 화자 유사도의 트레이드오프를 사후에 조정할 수 있어, 서비스에서 "억양은 살짝만" 같은 운용점을 재배포 없이 바꿀 수 있다. 셋째, 성능을 기대할 때 무엇을 봐야 하는지가 분명하다. 학습에 포함된 억양과 도메인 밖 억양에서는 캐스케이드급이지만, 학습에서 완전히 배제된 억양에서는 캐스케이드보다 약하고, 병목은 조건화 주입이 아니라 예시 인코더의 화자 과적합이다. 또한 프로토타입 조회 오라클(0.354)과 예시 경로(0.196)의 격차가 크다는 점은, 억양 레이블을 쓸 수 있는 환경이라면 여전히 더 나은 상한이 있다는 뜻이다. 코드는 공개 저장소에서 확인할 수 있다.