티스토리 뷰
Paper/Language Model
[Paper 리뷰] DisCo-Speech: Controllable Zero-Shot Speech Generation with a Disentangled Speech Codec
feVeRin 2026. 7. 13. 14:32반응형
DisCo-Speech: Controllable Zero-Shot Speech Generation with a Disentangled Speech Codec
- 기존 codec은 timbre, prosody의 entanglement로 인해 independent control이 어려움
- DisCo-Speech
- Parallel encoder와 hybrid loss를 사용하여 speech를 content, prosody, timbre의 tri-factor로 disentangle
- Unified content-prosody token을 구성해 disentanglement-reconstruction trade-off를 balance
- 논문 (ACL 2026) : Paper Link
1. Introduction
- Codec-based Language Model (LM) 기반의 Text-to-Speech (TTS) model은 우수한 성능을 보이고 있음
- BUT, 기존의 acoustic codec은 timbre, prosody coupling으로 인해 zero-shot controllable TTS가 어려움
- 이를 해결하기 위해 NaturalSpeech3와 같이 speech attribute token을 disentangle 하는 codec을 활용할 수 있지만, disentanglement-reconstruction trade-off와 information leakage의 문제가 존재함
-> 그래서 효과적인 codec-based zero-shot controllable LM TTS를 위한 DisCo-Speech를 제안
- DisCo-Speech
- Speech를 content, prosody, timbre로 disentangle하는 Tri-Factor Disentanglement architecture를 도입
- Disentangled content와 prosody를 unified timbre-agnostic token으로 fuse 하여 LM prediction을 지원
< Overall of DisCo-Speech >
- Tri-factor disentanglement와 fusion-and-reconstruction을 활용한 controllable codec-based TTS model
- 결과적으로 기존보다 우수한 성능을 달성
2. Method
- DisCo-Speech는 DisCodec과 Text-to-Codec LM으로 구성됨
- DisCodec은 speech를 content-prosody, global timbre token으로 tokenize 하고 waveform으로 reconstruct 함
- Text-to-Codec LM은 text, historical content-prosody token을 기반으로 content-prosody token을 autoregressively generate 함
- 추론 시 LM은 desired prosody를 가지는 speech prompt와 desired text를 prompt로 target text에 대한 prosodic continuation을 통해 content-prosody token을 생성함
- 이후 DisCodec decoder로 final speech를 생성함

- DisCodec: Disentangled Speech Codec
- DisCodec은 2-stage training paradigm을 활용함
- Tri-Factor Disentangelment
- Hybrid decoupling constraint하에서 speech를 content, prosody, timbre로 explicitly decouple 함 - Fusion and Reconstruction
- DisCodec decoder는 content, prosody를 fuse 하여 standard LM을 위한 unified token을 생성함
- Tri-Factor Disentangelment
- Stage 1: Tri-Factor Disentanglement
- Stage 1에서는 3개의 parallel encoder를 사용해 content $c$, timbre $t$, prosody $p$를 추출한 다음, FSQ-based quantizer를 사용해 discretize 함
- 각 attribute branch에는 서로 다른 decoupling constraint를 impose 하여 clear disentanglement를 보장함 - Speech $x$가 주어졌을 때 Stage 1은 다음과 같이 formulate 됨:
(Eq. 1) $h_{c}=E_{c}(x),\,\,h_{t}=E_{t}(x),\,\,h_{p}=E_{p}(x)$
$\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, g_{t}=\text{CrossAttention}(h_{t},f)$
$\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, q_{c}=Q_{c}(h_{c}),\,q_{p}=RQ_{p}(h_{p}),\,q_{t}=Q_{t}(g_{t})$
$\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, \hat{x}=D(q_{c},q_{p},q_{t})$
- $E_{c},E_{t},E_{p}$ : content, timbre, prosody encoder, $Q$ : quantizer, $RQ$ : residual quantizer, $f$ : learnable query, $D$ : decoder - Content Tokenizer
- Content encoder $E_{c}(\cdot)$은 DAC를 따라 convolutional block을 통해 waveform $x$를 frame-level latent $h_{c}$로 downsample 하고, FSQ $Q_{c}(\cdot)$을 통해 $h_{c}$를 quantized embedding $q_{c}$로 quantize 함
- 이때 $q_{c}$가 content information 만을 exclusively encode 할 수 있도록, fine-tuned Wav2Vec-based phone recognition model을 활용해 phonetic supervision을 제공함
- $q_{c}$는 recognition model의 CE-based guidance $\mathcal{L}_{pho}$ 하에서 phone prediction을 학습하는 classifier를 pass 함 - 특히 phone-/text-based model을 활용하면 purer content supervision을 제공하여 decoupling complexity를 낮출 수 있음
- Prosody Tokenizer
- Prosody의 temporal variation을 capture 하기 위해 prosody encoder $E_{p}(\cdot)$은 dilated causal convolution을 사용해 frame-level sequence $h_{p}$를 생성함
- 2-layer residual FSQ $RQ_{p}$는 $h_{p}$를 residual-enhanced representation $q_{p}$로 quantize 하여 comprehensive prosody modeling을 지원함 - Prosody capturing을 supervise 하기 위해 first FSQ layer는 frame-level $F0$ regression loss $\mathcal{L}_{f0}$로 update 되고 second FSQ layer는 correlation loss $\mathcal{L}_{cor}$로 update 됨:
(Eq. 2) $ \mathcal{L}_{cor}=\left(\frac{1}{BL}\sum_{b=1}^{B}\sum_{l=1}^{L}\frac{q_{p1}^{(b,l)} \cdot q_{p2}^{(b,l)}}{|| q_{p1}^{(b,l)}||\cdot || q_{p2}^{(b,l)}||}-\alpha\right)^{2}$
- $B$ : batch size, $L$ : sequence length, $q_{p1}, q_{p2}$ : first/second FSQ layer의 quantized output, $\alpha=0.2$ : target similarity value - 추가적으로 speaker timbre를 제거하기 위해 GRL layer를 first FSQ layer에 적용하고, attribute decoupling을 보장하기 위해 adjustable coefficient $\beta$에 기반한 soft orthogonality constraint $\mathcal{L}_{soft}$를 도입함
- 해당 soft constraint는 prosody-content decoupling $\mathcal{L}_{soft}^{p,c}$, prosody-timbre decoupling $\mathcal{L}_{soft}^{p,t}$에 사용됨:
(Eq. 3) $\mathcal{L}_{soft}^{p,c}=\left(\frac{1}{BL}\sum_{b=1}^{B}\sum_{l=1}^{L}\left| \cos\left( l_{p}^{(b,l)},l_{c}^{(b,l)}\right)\right|-\beta_{c}\right)^{2}$
(Eq. 4) $\mathcal{L}_{soft}^{p,t}=\left(\frac{1}{BL}\sum_{b=1}^{B}\sum_{l=1}^{L}\left| \cos\left( l_{p}^{(b,l)},q_{t}^{(b)}\right)\right|-\beta_{t}\right)^{2}$
- $l_{p}, l_{c}$ : quantized prosody, content에 대한 linear-transformed results
- Prosody의 temporal variation을 capture 하기 위해 prosody encoder $E_{p}(\cdot)$은 dilated causal convolution을 사용해 frame-level sequence $h_{p}$를 생성함
- Timbre Tokenizer
- 논문은 fixed-length global token sequence를 사용해 global speaker timbre를 capture 함
- 먼저 timbre encoder $E_{t}(\cdot)$은 ECAPA-TDNN을 따라 frame-level representation $h_{t}$를 생성함
- 이후 learnable query $f$와 cross-attention을 통해 fixed-length sequence $g_{t}$로 aggregate 하여 global-consistency timbre information에 adaptively focus 함 - FSQ layer $Q_{t}(\cdot)$은 quantization을 통해 global timbre representation $q_{t}$를 생성하고 non-timbre information을 discard 하는 information bottleneck을 implicitly create 함
- 추가적으로 speaker timbre modeling을 위해 timbre tokenizer를 speaker classification loss $\mathcal{L}_{spk}$로 directly optimize 함
- Soft orthogonal constraint $\mathcal{L}_{soft}^{p,t}$는 timbre representation의 prosodic variation을 further eliminate 함
- 논문은 fixed-length global token sequence를 사용해 global speaker timbre를 capture 함
- Decoder
- Decoder $D(\cdot)$은 content encoder의 mirror로써 triple stream representation을 waveform을 recombine 함
- 이때 DAC의 multi-scale mel-spectrogram loss, waveform reconstruction loss를 사용해 guide 함
- Stage 1에서는 3개의 parallel encoder를 사용해 content $c$, timbre $t$, prosody $p$를 추출한 다음, FSQ-based quantizer를 사용해 discretize 함
- Stage 2: Fusion and Reconstruction
- Stage 1 decoder는 disentanglement-reconstruction trade-off로 인해 reconstruction quality의 한계가 있으므로, 논문은 reconstruction quality를 optimize 하는 specialized decoder를 도입함
- Downstream usability를 향상하기 위해 content, prosody의 quantized embedding을 sum 하고, 해당 fused result를 unified token sequence $z_{cp}$로 re-quantize 함
- 이후 decoder는 해당 quantized embedding $q_{cp}$를 reconstruct에 사용하고, global speaker timbre $q_{t}$에 condition 되어 jointly optimize 됨 - 구조적으로는 BigVGAN generator와 Transformer block을 stack 하여 구성됨
- Zero-shot controllable inference 시에는 LM-predicted content-prosody token $z_{cp}^{sys}$를 기반으로 target speaker timbre $q_{t}^{trg}$에 condition 되어 waveform을 생성함

- Text-to-Codec Language Model
- DisCo-Speech는 DisCodec의 disentangled representation을 기반으로 text, prosody relationship을 학습하고 timbre-agnostic content-prosody token $z_{cp}$를 생성함
- Training
- Training 시 input sequence는 $ [Ⓢ, t_{c}, Ⓣ,z_{cp},Ⓔ]$와 같이 구성됨
- $t_{c}$ : text에 대한 Byte Pair Encoding (BPE) sequence, $z_{cp}$ : DisCodec의 unified content-prosody token, Ⓢ, Ⓣ, Ⓔ : sequence start/turn/end에 대한 special token - Model은 pre-training과 Supervised Fine-Tuning (SFT) process를 통해 next-token prediction으로 training 됨
- Training 시 input sequence는 $ [Ⓢ, t_{c}, Ⓣ,z_{cp},Ⓔ]$와 같이 구성됨
- Inference
- 추론 시 input은 $ [Ⓢ, t_{c}^{prompt}, t_{c}^{sys}, Ⓣ,z_{cp}^{prompt}]$와 같이 구성됨
- $t_{c}^{prompt}, z_{cp}^{prompt}$ : prompt speech, desired prosody에서 추출된 prompt, $t_{c}^{sys}$ : target text - Model은 prompt $z_{cp}^{prompt}$에서 prosodic pattern을 capture 하여 $z_{cp}^{sys}$를 생성하고 final waveform은 target speaker timbre $q_{t}^{trg}$을 condition으로 DisCodec decoder에서 $z_{cp}^{sys}$를 통해 synthesize 됨
- 이때 LLM은 prosody, content로 decoder는 timbre로 separate 되어 있으므로 flexible zero-shot control이 가능함
- 추론 시 input은 $ [Ⓢ, t_{c}^{prompt}, t_{c}^{sys}, Ⓣ,z_{cp}^{prompt}]$와 같이 구성됨
3. Experiments
- Settings
- Dataset : Internal Dataset
- Comparisons
- Codec : WavTokenizer, EnCodec, DAC, SpeechTokenizer, X-Codec 등
- TTS : F5-TTS, CosyVoice2, IndexTTS2, Vevo, FireRedTTS, Spark-TTS, Llasa
- Results
- DisCoedc은 뛰어난 disentanglement ability를 보임

- DisCodedc은 prosody, content를 효과적으로 disentangling 할 수 있음

- DisCodec은 zero-shot voice conversion task에서도 우수한 성능을 보임

- Controllability of DisCo-Speech
- Timbre, prosody control에 대해 DisCo-Speech가 더 선호됨

- Intelligibility 측면에서도 DisCo-Speech가 가장 우수함

반응형
'Paper > Language Model' 카테고리의 다른 글
댓글
