티스토리 뷰

반응형

Diff-HierVC: Diffusion-based Hierarchical Voice Conversion with Robust Pitch Generation and Masked Prior for Zero-Shot Speaker Adaptation


  • Voice Conversion은 여전히 inaccurate pitch와 low speaker adaptation 문제를 가지고 있음
  • Diff-HierVC
    • 2가지 diffusion model을 기반으로 하는 hierarchical voice conversion model
      - Target voice style로 F0를 효과적으로 생성할 수 있는 DiffPitch를 도입하고,
      - 이후 생성된 F0를 DiffVoice에 전달하여 target voice style로 speech를 변환
    • Source-filter encoder를 사용하여 speech를 disentangle 하고 mel-spectrogram을 DiffVoice에서 data-driven prior로 채택하여 style transfer capacity를 개선
    • 추가적으로 diffusion model에 masked prior를 도입하여 speaker adaptation 성능을 향상
  • 논문 (INTERSPEECH 2023) : Paper Link

1. Introduction

  • Voice Conversion (VC)는 source speaker voice를 target speaker voice로 변환하는 것을 목표로 함
    • 효과적인 VC를 위해서는 AutoVC와 같이 speech의 individual component를 disentanlge 하여 각 component를 control 하고 target speaker voice로 변환해야 함
      - BUT, converted voice는 여전히 mispronunciation, low speaker adpatation 문제를 가지고 있음
    • 한편으로 pitch modeling은 speech intelligibility와 naturalness를 향상하는데 필수적임
      1. 특히 FastPitch와 같이 text-to-speech task에서 pitch characteristic은 speaker identity와 correct pronunciation에 상당한 영향을 미침
      2. VC task에서도 normalized fundamental frequency F0를 사용하여 expressiveness를 향상할 수 있지만, F0는 speaker style과 entirely separate 되지 않으므로 perceptual unnaturalness가 발생함
        - 이를 해결하기 위해 Vector-Quantized Variational AutoEncoder (VQ-VAE)으로 speaker-irrelevant pitch representation을 학습할 수 있지만, VQ로 인해 pitch information이 loss 되는 한계가 있음 
    • 최근의 DiffVC, DDDM-VC 등은 diffusion model을 기반으로 expressive VC를 수행함
      - 마찬가지로 F0를 생성하기 위해 해당 diffusion process를 고려할 수 있음

-> 그래서 hierarchical diffusion model을 통해 VC task의 pitch controllability를 개선한 Diff-HierVC를 제안

 

  • Diff-HierVC
    • DiffPitch와 DiffVoice의 2가지 diffusion model을 활용하여 disentangled speech representation으로부터 voice style을 hierarchical 하게 변환
      1. DiffPitch는 추론 과정에서 target speaker의 pitch information을 생성하고,
      2. DiffVoice는 생성된 pitch information과 source-filter representation을 사용하여 mel-spectrogram을 생성함
    • 추가적으로 data-driven prior를 통해 diffusion model의 denoising process를 regulating 하고, masked prior로 확장하여 generalizability를 개선

< Overall of Diff-HierVC >

  • Robust pitch generation을 위해 hierarchical diffusion-based VC model을 구축하고 expressive zero-shot VC를 위해 masked prior를 도입
  • 결과적으로 기존보다 더 나은 conversion 성능을 달성

2. Method

- Speech Disentanglement

  • Diff-HierVC는 speech를 content, pitch, style의 representation으로 analyze 함:
    1. Content Representation
      • 먼저 data perturbation을 input waveform에 적용하여 content-irrelevant information을 제거함
      • 이후 large-scale cross-lingual speech dataset으로 pre-train 된 self-supervised model인 XLS-R의 intermediate layer에서 content feature를 추출함
    2. Speech Style
      • Meta-StyleSpeech의 style encoder를 사용하여 mel-spectrogram의 speaker style representation을 추출함
      • 해당 style embedding은 content encoder와 pitch encoder에 대한 guide 역할을 수행
    3. Pitch Representation
      • 정확한 pitch를 추출하기 위해, mel-spectrogram 보다 4배 높은 high-resolution으로 YAAPT algorithm을 적용하여 fundamental frequency F0를 추출함
      • 이때 content encoder는 log(F0+1)을 receive 하고 pitch encoder는 normalized F0를 source speaker F0의 평균/분산으로 사용함

Overall of Diff-HierVC

- Hierarchical VC

  • Hierarchical VC를 위해 논문은 DiffPitch와 DiffVoice의 two-stage diffusion model을 도입함
    • DiffPitchF0를 target voice style로 변환하고, 
    • DiffVoice는 변환된 F0를 사용하여 speech를 target voice style로 hierarchical 하게 변환함
  • DiffPitch
    • DiffPitch는 diffusion process를 기반으로 하는 pitch generator에 해당함
      - 구조적으로 DiffPitch는 single denoiser로 significant receptive field를 얻을 수 있는 WaveNet-based conditional diffusion model인 DiffWave를 사용
    • 먼저 pitch encoder는 source speech의 normalized F0를 pitch representation Zp로 변환함
      1. 그러면 Zp를 DiffPitch의 data-driven prior로 활용하기 위해 pitch reconstruction loss로 pitch representation을 regularize 할 수 있음:
        (Eq. 1) Lpitch=||XpZp||1
      2. 여기서 DiffPitch의 forward process는:
        (Eq. 2) dXp,t=12βt(ZpXp,t)dt+βtdwt
        - DiffPitch의 diffusion process는 YAAPT algorithm으로 추출된 log-scale F0를 target ground-truth Xp로 사용함
        - t[0,1], βt : noise schedule, wt : forward standard Wiener process
      3. DiffPitch는 reverse process에서 original pitch contour를 recover 하기 위해 denoising을 수행함:
        (Eq. 3) dˆXp,t=(12(ZpˆXp,t)sθp(ˆXp,t,Zp,t))βtdt+βtdˉwt
        - ˉwt : backward standard Wiener process
      4. DiffVC를 따라, forward process의 noisy pitch sample은 다음 distribution으로부터 얻어짐:
        (Eq. 4) pt|0(Xp,t|Xp,0)=N(e12t0βsdsXp,0+(1e12t0βsds)Zp,(1et0βsds)I)
        - I : identity matrix
      5. (Eq. 4)는 Gaussian이므로 다음을 얻을 수 있음:
        (Eq. 5) logpt|0(Xp,t|Xp,0)=Xp,tXp,0(e12t0βsds)Zp(1e12t0βsds)1et0βsds
      6. 결과적으로 DiffPitch는 다음의 denoising objective로 score function을 근사함:
        (Eq. 6) Lp=EX0,Xt[λt||(sθp(Xp,t,Zp,s,t))logpt|0(Xp,t|Xp,0)||22]
        - sθp : pitch score estimator, λt=1et0βsds
    • 추가적으로 논문은 reverse SDE solver로 forward diffusion의 log-likelihood를 최대화하는 ML-SDE solver를 사용하여 fast sampling을 유도함
    • 추론 시, pitch encoder에서 변환된 F0는 DiffPitch의 prior로 사용되고 DiffPitch는 target voice style s를 사용하여 refined F0를 생성함
  • DiffVoice
    • DiffVoice는 content, target F0, target voice style로부터 high-quality speech synthesis를 수행하는 conditional diffusion model
      - 추가적으로 논문은 diffusion model에 data-driven prior를 도입하여 inception을 guide 함
    • 먼저 source-filter theory에 따라 speech component를 pitch/content representation으로 disentangle 함
      1. Data-driven prior를 위해 source encoder Esrc와 filter encoder Eftr로 구성된 source-filter encoder는:
        - Disentangled speech representation에서 intermediate mel-spectrogram ZmZm=Zsrc+Zftr과 같이 reconstruct 함
        - Zsrc=Esrc(F0,s),Zftr=Eftr(content,s), s : style embedding
      2. 그러면 mel-spectrogram Zm은 다음과 같이 regularize 됨:
        (Eq. 7) Lrec=||XmelZm||1
        - Xmel : ground-truth speech의 mel-spectrogram
    • 여기서 DiffVoice는 source-filter encoder output Zm을 prior로 사용하고 speaker representation s를 condition으로 하여 speaker adaptation capacity를 향상할 수 있음
      1. 이때 DiffVoice의 forward process는:
        (Eq. 8) dXm,t=12βt(ZmXm,t)dt+βtdwt
      2. DiffVoice의 reverse process는:
        (Eq. 9) dˆXm,t=(12(ZmˆXm,t)sθm(ˆXm,t,Zm,t))βtdt+βtdˉwt
      3. Forward process에서 noisy mel-spectrogram Xm,t(Eq. 4)와 동일하게 얻어지므로, mel-spectrogram noise estimation network sθm을 최적화하기 위한 score matching loss는:
        (Eq. 10) Lm=EX0,Xt[λt||(sθm(Xm,t,Zm,s,t))logpt|0(Xm,t|Xm,0)||22]
    • 추론 시 source-filter encoder는 source speech, target voice style s, DiffPitch로 변환된 F0에서 content representation을 취함
      - 결과적으로 source-filter encoder에서 변환된 mel-spectrogram Zm은 data-driven prior로 사용되고 DiffVoice는 target voice style로 condition 된 converted speech를 생성함

- Denoising Models with Masked Prior

  • 앞선 Data-driven piror는 VC 성능을 크게 개선할 수 있지만, 논문의 DiffVoice는 source-filter encoder에서 reconstruct 된 mel-spectrogram에 의존함
    • 따라서 논문은 해당 DiffVoice의 generalizability를 향상하기 위해 maksed prior를 diffusion model에 도입함
      - 구체적으로 prior Zm은 DiffVoice에 전달되기 전에 mask 되고, diffusion network는 reconstruction과 denoising process를 jointly learning 함
    • 결과적으로 Diff-HierVC는 surrounding context에서 masked area를 reconstruction 할 수 있음
      - 이때 논문은 context 측면에서 continuous pitch information을 interpreting 하여 frequency masking을 적용

3. Experiments

- Settings

- Results

  • Analysis on F0 Prediction
    • F0 statistic을 통한 F0 transformation, WaveNet을 통한 F0 prediction, DiffPitch를 통한 diffusion-based F0 prediction을 각각 비교해 보면
    • 30-iteration step을 가지는 DiffPitch를 사용할 때 ground-truth와 가장 유사한 F0 contour를 얻을 수 있음

F0 Reconstruction

  • 추가적으로 DiffPitch는 target voice style에 대해 다양한 pitch contour를 가짐
    - 따라서 Diff-HierVC는 DiffPitch를 VC task 중에 적용하여 F0를 변환함

Target Speech에 대한 F0 Generation

  • Zero-Shot VC
    • 전체적으로 Diff-HierVC가 가장 우수한 VC 성능을 보임

모델 성능 비교

  • Unseen language에 대한 cross-lingual VC 측면에서도 뛰어난 성능을 보임

Zero-Shot Cross-Lingual VC 성능

  • Ablation Study
    • Ablation Study 측면에서 각 component를 제거하는 경우 성능 저하가 발생함

Ablation Study

  • Masked prior를 사용하면 data-driven prior 보다 더 나은 generalization을 얻을 수 있지만, 적절한 masking ratio의 선정이 필요함
    - 실험적으로 30%의 masking ratio가 가장 적합함

Masking Ratio에 따른 성능 비교

 

반응형
최근에 올라온 글
최근에 달린 댓글
«   2025/04   »
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
Total
Today
Yesterday