티스토리 뷰

반응형

PeriodSinger: Integrating Periodic and Aperiodic Variational Autoencoders for Natural-Sounding End-to-End Singing Voice Synthesis


  • 자연스러운 waveform을 합성하기 위해서는 deterministic pitch conditioning으로 인한 one-to-many 문제를 해결해야 함
  • PeriodSinger
    • Periodic/aperiodic component에 대한 variational autoencoder를 활용
    • Note boundary 내에서 monotonic alignment search를 통해 phoneme alignment를 추정함으로써 external aligner에 대한 의존성을 제거
  • 논문 (INTERSPEECH 2024) : Paper Link

1. Introduction

  • Singing Voice Synthesis (SVS)는 music score를 기반으로 natural singing voice를 생성하는 것을 목표로 함
    • Text-to-Speech (TTS)와 달리 SVS는 music score의 note pitch와 duration에 따라 emotion, intonation 등이 결정되기 때문에 uncertainty가 상대적으로 적은 경향이 있음
    • 이때 two-stage SVS model은 training/inference 간의 mismatch로 인해 합성의 한계가 있으므로 VISinger와 같은 end-to-end 방식이 선호됨
      1. 구체적으로 VISinger는 VITS를 기반으로 singing voice의 변화를 모델링하기 위해 frame prior network를 활용함
      2. BUT, VISinger는 deterministic pitch에 따라 condition 되므로 one-to-many 문제를 완전히 해결하지 못함
        - 추가적으로 frame prior network를 위해 monotonic alignment search가 제거되므로 ground-truth phoneme duration을 요구함

-> 그래서 다양한 pitch 모델링을 지원해 SVS model의 one-to-many 문제를 해결한 PeriodSinger를 제안

 

  • PeriodSinger
    • One-to-many 문제 해결을 위해 periodic/aperiodic component 모두에 대한 conditional Variational AutoEncoder (cVAE)를 통합
    • 추가적으로 wide/narrow pitch variation을 모두 capture 할 수 있도록 smoothed pitch augmentation을 적용
    • Training 중에 normalizing flow를 활용하여 aperiodic posterior distribution을 simpler distribution의 linguistic representation으로 변환
      1. 이를 통해 frame prior network를 채택하면서 monotonic alignment search를 사용 가능
      2. Note boundary를 활용하여 singing voice와 music score 간의 mismatch를 방지해 monotonic alignment search를 개선

< Overall of PeriodSinger >

  • Periodic/aperiodic component에 대한 cVAE를 활용하여 SVS에서의 expressiveness를 향상
  • 결과적으로 기존보다 우수한 합성 품질과 다양한 pitch 반영이 가능

2. Method

  • PeriodSinger는 VITS를 기반으로 2개의 cVAE를 integrate 함
    • 구조적으로는 periodic/aperiodic component에 대한 encoder/decoder, prior encoder, discriminator로 구성됨
    • Posterior encoder는 prior encoder에 의해 constraint 되면서 periodic/aperiodic component에 대한 latent variable을 추출함
    • Decoding 시에는 fundamental frequency ($F_{0}$) sequence를 예측하기 위해 periodic decoder에서 periodic latent variable을 활용
    • 이후 aperiodic latent variable과 함께 예측된 $F_{0}$ sequence는 aperiodic decoder로 condition 되어 waveform을 생성

Overall of PeriodSinger

- Posterior Encoding

  • 논문은 2개의 posterior encoder를 사용하여 singing voice의 periodic/aperiodic component를 모델링함
    • 여기서 aperiodic component에 대한 posterior encoder는 mel-spectrogram을 input으로 하고, periodic posterior encoder는 $F_{0}$ sequence를 input으로 함
    • 각 posterior encoder는 non-causal WaveNet residual block과 linear projection layer로 구성되어, 각 posterior distribution의 평균과 분산에 대한 parameter를 생성함
      - 이후 reparameterization trick을 사용하여 sampling 되고 decoder로 전달됨

- Prior Encoding

  • Prior encoder는 lyrics, note pitch, note duration을 포함하는 phoneme alignment $A$와 music score condition $c$로부터 linguistic, periodic, aperiodic prior distribution의 latent variable을 얻음 
    • cVAE의 경우 periodic distribution $p(z_{p}|c,A;\theta_{p})$와 linguistic prior distribution $p(z_{l}|c,A,\theta_{l})$이 regularize 됨
      - Aperiodic prior distribution $p(z_{a}|c,A;\theta_{a})$는 detached aperiodic posterior distribution과 match 되도록 최적화됨
    • Prior encoder는 크게 music encoder, duration predictor, length regulator, frame prior network (FPN), flow module로 구성됨 
      1. 먼저 aperiodic posterior distribution $q(z_{a}|x_{mel};\phi_{a})$가 flow module을 통해 linguistic component에 대한 simplified distribution $q(z_{l}|x_{mel};\phi_{l})$로 변환
      2. 이후 music encoder와 projection layer에서 추출된 prior distribution $p(z_{l}|c,A,\theta_{l})$과 phoneme alignment $A$를 추정하는 posterior distribution $q(z_{l}|x_{mel};\phi_{l})$ 간에 monotonic alignment search (MAS)를 적용
    • Training process에서 예측된 phoneme alignment $A$에서 얻어진 phoneme duration $d$는 length regulator를 통해 encoded music representation $h$와 linguistic prior distribution $p(z_{l}|c,A,\theta_{l})$을 expand 함
      - 추론 시에는 length regulator로부터 얻어진 predicted phoneme duration $\hat{d}$를 사용
    • Expanded encoded music representation $h$는 FPN에서 periodic/aperiodic frame에 대한 prior distribution을 추출하는데 사용됨
      - 이때 linguistic prior distribution $p(z_{l}|c,A,\theta_{l})$도 aperiodic cVAE를 training 하기 위해 expand 됨
    • 결과적으로 periodic/aperiodic cVAE를 regularize 하기 위한 Kullback-Leibler (KL) divergence loss $\mathcal{L}_{kl,p}, \mathcal{L}_{kl,a}$는:
      (Eq. 1) $\mathcal{L}_{kl,p}=D_{kl}\left( q(z_{p}|F_{0};\phi_{p})|| p(z_{p}|c,A;\theta_{p})\right)$
      (Eq. 2) $\mathcal{L}_{kl,a}=D_{kl}\left( q(z_{l}|x_{mel};\phi_{l})|| p(z_{l}|c,A;\theta_{l})\right) + \lambda_{l}D_{kl}\left( q(\bar{z}_{a}|x_{mel};\phi_{a}) || p(z_{a}|c,A;\theta_{a})\right)$
      - $x_{mel}, \lambda_{l}, \bar{z}_{a}$ : 각각 input mel-spectrogram, weighting factor, detached aperiodic posterior latent variable

      - Duration loss $\mathcal{L}_{dur}$의 경우, $L2$ loss를 사용하고 stop-gradient를 적용함
  • Monotonic Alignment Search with Note Boundary
    • TTS task에서는 external aligner 없이 phoneme alignment를 추정하기 위해 Glow-TTS와 같이 MAS를 활용함
      - BUT, SVS task에서는 breath sound와 pitch variation으로 인해 MAS를 활용하기 어려움
    • 해당 문제를 해결하기 위해, PeriodSinger에서는 각 note의 start/end frame을 나타내는 note boundary information 내에서 MAS를 수행하고 이를 integrate 하여 alignment를 추정함
      - 이때 note 당 phoneme이 하나만 있는 경우, MAS 없이 alignment에 직접 적용
  • Length Regulator during Inference
    • Duration predictor로 예측된 duration은 singing voice의 rhythm에 대해 완벽한 alignment를 보장하지 않음
      - 따라서 note duration에 따른 rhythm adjustment가 요구됨
    • 이를 위해 논문은 single note 내의 phoneme duration ratio를 계산하고, note duration과 match 하도록 scaling 함
      - 이를 통해 rhythm에 맞춰 singing voice를 synchronize 할 수 있음

- Decoding

  • Singing voice의 long vowel로 인해 발생하는 glitch를 완화하기 위해, vocoder는 일반적으로 sine waveform을 기반으로 conditioning 됨
    • 이를 위해 논문은 aperiodic decoder로써 Period VITS를 따라 pitch-conditioned HiFi-GAN을 사용함
      1. 여기서 pitch predictor는 periodic latent variable로부터 $F_{0}$를 reconstruct 한 다음, aperiodic decoder에 의해 condition 됨 
      2. 이때 $L1$ loss를 사용하여 얻어진 mel-spectrogram loss $\mathcal{L}_{mel}$과 pitch loss $\mathcal{L}_{loss}$를 사용함 
    • SVS task에서는 main pitch가 input note에 따라 결정되므로 bending, vibrato와 같은 pitch의 narrow variation을 모델링할 수 있어야 함
    • 따라서 PeriodSinger는 periodic cVAE가 pitch의 narrow variation을 학습하도록 smoothed $F_{0}$를 사용한 pitch augmentation을 도입 
      1. 먼저 median filter를 통해 short-term bending과 vibrato가 제거되어 smoothed $F_{0}$ contour를 생성하고,
      2. Smoothed $F_{0}$를 학습하는 periodic latent variable의 평균을 guide 하기 위해, 해당 평균을 aperiodic decoder의 input batch와 concatenate 하고 smoothed $F_{0}$를 target batch와 concatenate 함
    • 결과적으로 pitch loss는 다음과 같이 수정됨:
      (Eq. 3) $\mathcal{L}_{pitch}=|| \log F_{0}-\log \hat{F}_{0}||_{1} +\lambda_{s}|| \log f_{s}(F_{0})-\log \tilde{F}_{0}||_{1}$
      - $\lambda_{s},f_{s}(\cdot)$ : 각각 smoothed $F_{0}$의 weighting factor, median filter
      - $\hat{F}_{s},\tilde{F}_{s}$ : predicted $F_{0}$, predicted smoothed $F_{0}$

- Discriminator

  • High-fidelity의 singing voice를 얻기 위해서는 high-frequency aliasing과 artifact를 해결해야 함
    • 이를 위해 HiFi-GAN의 multi-period discriminator (MPD), multi-scale discriminator (MSD)와 UnivNet의 multi-resolution spectrogram discriminator (MRSD)를 결합하여 사용
    • 이를 기반으로 다음의 adversarial training loss를 적용:
      (Eq. 4) $\mathcal{L}_{dis}=\mathbb{E}_{(y,z_{a},F_{0})}\left[(D(y)-1)^{2}+ (D(G(z_{a},F_{0})))^{2}\right]$
      (Eq. 5) $\mathcal{L}_{adv}=\mathbb{E}_{(z_{a},F_{0})}\left[(D(G(z_{a},F_{0}))-1)^{2}\right]$
      (Eq. 6) $\mathcal{L}_{fm}=\mathbb{E}_{(y,z_{a},F_{0})}\left[\sum_{l=1}^{L} \frac{1}{N_{l}} || D_{l}(y)-D_{l}(G(z_{a},F_{0}))||_{1}\right]$
      - $z_{a}$ : aperiodic posterior latent variable, $L, D_{l}, N_{l}$ : 각각 layer 수, $l$-th layer, layer의 feature 수

- Final Loss

  • 결과적으로 얻어지는 PeriodSinger의 final loss는:
    (Eq. 7) $\mathcal{L}_{gen}=\mathcal{L}_{adv}+\lambda_{fm}\mathcal{L}_{fm} +\lambda_{mel}\mathcal{L}_{mel}+\lambda_{pitch}\mathcal{L}_{pitch} + \lambda_{a}\mathcal{L}_{kl,a}+\lambda_{p}\mathcal{L}_{kl,p}+\lambda_{dur}\mathcal{L}_{dur}$
    - $\lambda$ : weighting factor

3. Experiments

- Settings

- Results

  • MOS 측면에서 PeriodSinger는 가장 우수한 성능을 달성함

MOS 비교

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

Ablation Study 결과

  • 추가적으로 pitch augmentation이 적용되는 경우, 더 다양한 pitch를 합성할 수 있음

Pitch Augmentation의 효과

 

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