티스토리 뷰
Paper/SVS
[Paper 리뷰] PeriodSinger: Integrating Periodic and Aperiodic Variational Autoencoders for Natural-Sounding End-to-End Singing Voice Synthesis
feVeRin 2024. 7. 17. 09:59반응형
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 방식이 선호됨
- 구체적으로 VISinger는 VITS를 기반으로 singing voice의 변화를 모델링하기 위해 frame prior network를 활용함
- 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으로 변환
- 이를 통해 frame prior network를 채택하면서 monotonic alignment search를 사용 가능
- 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을 생성
- 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로 구성됨
- 먼저 aperiodic posterior distribution $q(z_{a}|x_{mel};\phi_{a})$가 flow module을 통해 linguistic component에 대한 simplified distribution $q(z_{l}|x_{mel};\phi_{l})$로 변환
- 이후 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를 적용함
- cVAE의 경우 periodic distribution $p(z_{p}|c,A;\theta_{p})$와 linguistic prior distribution $p(z_{l}|c,A,\theta_{l})$이 regularize 됨
- 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에 직접 적용
- TTS task에서는 external aligner 없이 phoneme alignment를 추정하기 위해 Glow-TTS와 같이 MAS를 활용함
- 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 할 수 있음
- Duration predictor로 예측된 duration은 singing voice의 rhythm에 대해 완벽한 alignment를 보장하지 않음
- Decoding
- Singing voice의 long vowel로 인해 발생하는 glitch를 완화하기 위해, vocoder는 일반적으로 sine waveform을 기반으로 conditioning 됨
- 이를 위해 논문은 aperiodic decoder로써 Period VITS를 따라 pitch-conditioned HiFi-GAN을 사용함
- 여기서 pitch predictor는 periodic latent variable로부터 $F_{0}$를 reconstruct 한 다음, aperiodic decoder에 의해 condition 됨
- 이때 $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을 도입
- 먼저 median filter를 통해 short-term bending과 vibrato가 제거되어 smoothed $F_{0}$ contour를 생성하고,
- 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}$
- 이를 위해 논문은 aperiodic decoder로써 Period VITS를 따라 pitch-conditioned HiFi-GAN을 사용함
- 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는 가장 우수한 성능을 달성함
- Ablation study 측면에서 각 component를 제거하는 경우 성능 저하가 발생함
- 추가적으로 pitch augmentation이 적용되는 경우, 더 다양한 pitch를 합성할 수 있음
반응형
'Paper > SVS' 카테고리의 다른 글
댓글