티스토리 뷰

반응형

MaskVCT: Masked Voice Codec Transformer for Zero-Shot Voice Conversion with Increased Controllability via Multiple Guidances


  • 기존의 Voice Conversion model은 fixed conditioning scheme에 의존함
  • MaskVCT
    • Continuous/quantized linguistic feature를 활용하여 intelligibility와 speaker similarity를 향상하고 prosody control을 위해 pitch contuour를 채택
    • 특히 multiple Classifier-Free Guidance를 통해 multi-factor control을 지원
  • 논문 (ICASSP 2026) : Paper Link

1. Introduction

  • Voice Conversion (VC)는 original linguistic content는 preserve 하면서 source utterance를 target speaker로 transform 하는 것을 목표로 함
    • 이를 위해서는 linguistic content를 pitch, timbre와 disentangle 할 수 있어야 함
    • 특히 최근의 NaturalSpeech3는 Codec-based Language Model을 활용하여 additional fine-tuning이 필요 없는 zero-shot VC를 수행함
      - BUT, 해당 zero-shot VC model 역시 source pitch information을 discard 하지 못하는 information leakgage 문제가 여전히 존재함

-> 그래서 zero-shot VC model의 controllability와 disentanglement를 개선한 MaskVCT를 제안

 

  • MaskVCT
    • Temporal-quantized syllabic feature를 사용하여 각 segment에서 pitch modulation, phoneme selection, accent variation에 대한 flexibility를 제공
    • 추가적으로 multiple Classifier-Free Guidance (CFG)를 combine 하여 controllability를 향상

< Overall of MaskVCT >

  • Syllabic representation과 multiple CFG를 활용한 zero-shot VC model
  • 결과적으로 기존보다 우수한 성능을 달성

2. Method

- Linguistic Conditioning

  • Self-supervised speech representation은 time-aligned, fast-varying phonetic feature를 제공하므로 VC model이 source-aligned speech를 reproduce 할 수 있음
    • 즉, source-agnostic pitch generation을 위해서는 coarser, pitch-stripped representation을 사용해야 함
    • 한편 syllabic representation은 speech의 within-vector, adjacent frame 모두를 quantize 하여 slow-varying unit으로 discretize 하고, strict source alignment를 relax 하여 phoneme, accent variation을 제공할 수 있음
      - 따라서 논문은 pre-trained SylBoost에서 얻어진 discrete token을 사용하여 각 token에 대한 learnable embedding을 training함
    • Continuous/discrete lingusitic representation은 complementary strength를 가짐
      1. Continuous feature는 intelligibility와 phoneme alignment를 향상하고 discrete syllable token은 target timbre/speaker vector를 preserve 함
      2. 해당 trade-off를 expose 하기 위해 MaskVCT는 discrete syllabic token, lightweight FFN-LayerNorm-FFN projection을 통해 얻어진 continuous feature에 대한 dual conditioning path를 도입함 

Overview

- Pitch Conditioning

  • 논문은 continuous pitch를 sinusoidal embedding을 통해 vector로 mapping 하여 pitch-extractor resolution에 agnostic 하고 extractor 변경 시 fine-tuning이 필요 없는 system을 구축함
    • 특히 standard interleaved layout 대신 sine, cosine term을 concatenate 하여 multi-head attention의 confounding을 avoid 함
      - 이후 pitch를 log-scale로 convert 하고 fundamental frequency가 0Hz일 때 negative infinity를 방지하기 위해 1Hz의 epsilon value를 add 함
    • 결과적으로 frequency $\mathbf{f}\in\mathbb{R}^{T}$에 대해 pitch embedding $\mathbf{P}\in\mathbb{R}^{T\times d}$는 다음과 같이 정의됨:
      (Eq. 1) $ \mathbf{P}[t,i]=\left\{\begin{matrix}
      \sin\left(\frac{\log(1+\mathbf{f}[t])}{10000^{2\cdot i/d}}\right), & \text{if}\,\,i<d/2 \\
      \cos\left(\frac{\log(1+\mathbf{f}[t])}{10000^{2\cdot (i-d/2)/d}}\right), & \text{if}\,\,i\geq d/2 \\
      \end{matrix}\right.$
      - $i\in [0,d-1]$, $t\in [0,T-1]$, $d$ : model dimension

- Speaker Conditioning

  • Zero-shot VC를 위해 논문은 VALL-E와 같은 speaker prompt mechanism을 도입함
    • 이를 위해 3-second reference speech를 process 하여 prompt condition을 추출하고 source condition의 beginning에 concatenate 함
    • 결과적으로 model은 in-context learning을 활용해 quality, condition statisfaction을 향상할 수 있음

- Masked Codec Language Model

  • MaskGCT는 masking model을 활용하여 우수한 zero-shot Text-to-Speech 성능을 달성함
    • 이때 해당 S2A module은 VC model로 사용될 수 있음
    • Codebook vocabulary size $K$, frame 수 $T$, RVQ codebook 수 $Q$, target RVQ codebook layer $q\in\{0,1,...,Q-1\}$, masking timestep $u\in[0,1]$, binary mask $\mathbf{M}_{u,q}\in\{0,1\}^{T\times Q}$에 대해
      1. Masked model은 masked input $\mathbf{A}_{u,q}=\mathbf{A}_{0}\odot \mathbf{M}_{u,q}$로부터 source의 encoded acoustic token $\mathbf{A}_{0}=\{1,2,...,K\}^{T\times Q}$를 reconstruct 함
        - 여기서 mask $\mathbf{M}_{u,q}$의 경우 $q$ 이하의 all layer는 unmask 되고 $q$ 이상의 all layer는 fully mask 되고, layer $q$는 masking schedule에 따라 masking 됨
      2. Reconstruction은 model $\theta$가 conditional probability $p_{\theta}(\mathbf{A}_{0}|\mathbf{A}_{u,q}, \mathbf{C})$를 학습하는 classification task로 frame 할 수 있음
        - $\mathbf{C}$ : conditioning feature
      3. Training 시에는 masking time step $u\sim \mathcal{U}[0,1]$, target codebook layer $q\sim p(q)=1-\frac{2(q+1)}{Q(Q+1)}$, cosine scheduled mask $\mathbf{M}_{u,q}\sim \text{Bernoulli}(\cos(\pi u/2))$를 randomly sample 함
    • 결과적으로 model은 masked token에만 exculsively apply 되는 classification loss를 사용하여 학습됨:
      (Eq. 2) $\mathcal{L}_{mask}=\mathbb{E}_{t|\mathbf{M}_{u,q}[t,c]=0}\left[ -\log p_{\theta}\left( \mathbf{A}_{0}[t,c]|\mathbf{A}_{u,q},\mathbf{C}\right)\right]$
    • 추론 시에는 all-masked state $\mathbf{A}_{1,0}=\mathbf{A}_{N}$에서 시작하여 $N$ iteration을 통해 token을 iteratively unmask 하여 intermediate state $\mathbf{A}_{n}$을 생성함
      1. 이는 $n\in\{0,1,...,N\}$에 대해 fully unmasked state $\mathbf{A}_{0}$에 reach 할 때까지 진행됨
        - 각 iteration index $n$은 pre-defined schedule에 대한 codebook index $q$에 해당함
      2. 이후 model은 masked position에 대한 logit을 $\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{C})$와 같이 estimate 함

- Multiple Classifier-Free Guidances

  • CFG는 추론 시 conditional generation을 향상하기 위해 사용됨
    • 특히 VC에서는 output이 speaker identity, linguistic content, pitch contour를 포함한 multiple conditioning factor를 simultaneously satisfy 해야 함
    • 따라서 논문은 CFG를 speaker prompt $\mathbf{A}_{p}$, linguistic content $\mathbf{L}$, pitch $\mathbf{P}$에 대한 3-factor로 extend 함
      1. 그러면 speech synthesis는 $\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1}, \mathbf{C})$에 대한 conditional probability로 정의됨
        - Conditioning variable $\mathbf{C}$는 pitch condition에 따라 $(\mathbf{A}_{p},\mathbf{L},\mathbf{P}), (\mathbf{A}_{p},\mathbf{L},\varnothing)$으로 설정됨
      2. Linguistic-only path는 $\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{L}) :=\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1}, \varnothing, \mathbf{L},\varnothing)$과 같음
      3. DualSpeech를 따라 speaker condition은 $\log p_{\theta} (\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{A}_{p}, \mathbf{L},\varnothing)$과 같이 prompt, linguistic과 couple 됨
        - 논문은 이를 pitch와 jointly use 하여 $\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{A}_{p},\mathbf{L},\mathbf{P})$와 같이 사용함
    • VC model는 source linguistic content를 preserve 하는 strictly conditional generative model에 해당하므로 논문은 modified CFG formulation을 채택함
      1. Conditional logit에서 unconditional logit $\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1}):= \log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\varnothing,\varnothing, \varnothing)$을 substract 하지 않고, detailed conditional logit에서 linguistic-only conditional logit을 substract 함:
        (Eq. 3) $ \log\tilde{p}_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{C}) = \log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{L})$
        $\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, +\omega_{all}\left(\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{A}_{p},\mathbf{L},\mathbf{P}) - \log p_{\theta}( \mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{L})\right)$
        $\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, +\omega_{spk}\left(\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{A}_{p},\mathbf{L},\varnothing) - \log p_{\theta}( \mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{L})\right)$
        $\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, +\omega_{ling}\left(\log p_{\theta}(\mathbf{A}_{n}|\mathbf{A}_{n+1},\mathbf{L}) - \log p_{\theta}( \mathbf{A}_{n}|\mathbf{A}_{n+1})\right)$
        - $\omega_{all}, \omega_{spk}, \omega_{ling}$ : CFG coefficient
      2. 결과적으로 논문은 4가지 서로 다른 condition으로 model을 training 하고, all-conditioned, spk-conditioned, ling-conditioned, null-conditioned는 $6:1:2:1$ ratio로 random sampling 됨

- Model Architecture Details

  • 논문은 rotary positional embedding 기반의 PreLN을 활용한 Transformer encoder-based architecture를 채택함
    • 이때 FFN은 ReLU activation과 LayerNorm을 사용함
    • 16 Transformer encoder layer에서 각 layer는 16 attention head, 1024 model dimension, 4096 FFN dimension을 가지고, 각 codebook index에 separate classification head를 attach 함

3. Experiments

- Settings

Settings

- Results

  • 전체적으로 MaskVCT의 성능이 가장 우수함

Model 성능 비교

  • Accent conversion 측면에서도 우수한 성능을 달성함

Accent Conversion

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total
Today
Yesterday