티스토리 뷰
Paper/Conversion
[Paper 리뷰] Diff-HierVC: Diffusion-based Hierarchical Voice Conversion with Robust Pitch Generation and Masked Prior for Zero-Shot Speaker Adaptation
feVeRin 2024. 10. 20. 10:29반응형
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로 를 효과적으로 생성할 수 있는 DiffPitch를 도입하고,F0
- 이후 생성된 를 DiffVoice에 전달하여 target voice style로 speech를 변환F0 - Source-filter encoder를 사용하여 speech를 disentangle 하고 mel-spectrogram을 DiffVoice에서 data-driven prior로 채택하여 style transfer capacity를 개선
- 추가적으로 diffusion model에 masked prior를 도입하여 speaker adaptation 성능을 향상
- 2가지 diffusion model을 기반으로 하는 hierarchical voice conversion model
- 논문 (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를 향상하는데 필수적임
- 특히 FastPitch와 같이 text-to-speech task에서 pitch characteristic은 speaker identity와 correct pronunciation에 상당한 영향을 미침
- VC task에서도 normalized fundamental frequency
를 사용하여 expressiveness를 향상할 수 있지만,F0 는 speaker style과 entirely separate 되지 않으므로 perceptual unnaturalness가 발생함F0
- 이를 해결하기 위해 Vector-Quantized Variational AutoEncoder (VQ-VAE)으로 speaker-irrelevant pitch representation을 학습할 수 있지만, VQ로 인해 pitch information이 loss 되는 한계가 있음
- 최근의 DiffVC, DDDM-VC 등은 diffusion model을 기반으로 expressive VC를 수행함
- 마찬가지로 를 생성하기 위해 해당 diffusion process를 고려할 수 있음F0
- 효과적인 VC를 위해서는 AutoVC와 같이 speech의 individual component를 disentanlge 하여 각 component를 control 하고 target speaker voice로 변환해야 함
-> 그래서 hierarchical diffusion model을 통해 VC task의 pitch controllability를 개선한 Diff-HierVC를 제안
- Diff-HierVC
- DiffPitch와 DiffVoice의 2가지 diffusion model을 활용하여 disentangled speech representation으로부터 voice style을 hierarchical 하게 변환
- DiffPitch는 추론 과정에서 target speaker의 pitch information을 생성하고,
- DiffVoice는 생성된 pitch information과 source-filter representation을 사용하여 mel-spectrogram을 생성함
- 추가적으로 data-driven prior를 통해 diffusion model의 denoising process를 regulating 하고, masked prior로 확장하여 generalizability를 개선
- DiffPitch와 DiffVoice의 2가지 diffusion model을 활용하여 disentangled speech representation으로부터 voice style을 hierarchical 하게 변환
< 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 함:
- 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를 추출함
- Speech Style
- Meta-StyleSpeech의 style encoder를 사용하여 mel-spectrogram의 speaker style representation을 추출함
- 해당 style embedding은 content encoder와 pitch encoder에 대한 guide 역할을 수행
- Pitch Representation
- 정확한 pitch를 추출하기 위해, mel-spectrogram 보다 4배 높은 high-resolution으로 YAAPT algorithm을 적용하여 fundamental frequency
를 추출함F0 - 이때 content encoder는
을 receive 하고 pitch encoder는 normalizedlog(F0+1) 를 source speakerF0 의 평균/분산으로 사용함F0
- 정확한 pitch를 추출하기 위해, mel-spectrogram 보다 4배 높은 high-resolution으로 YAAPT algorithm을 적용하여 fundamental frequency
- Content Representation

- Hierarchical VC
- Hierarchical VC를 위해 논문은 DiffPitch와 DiffVoice의 two-stage diffusion model을 도입함
- DiffPitch는
를 target voice style로 변환하고,F0 - DiffVoice는 변환된
를 사용하여 speech를 target voice style로 hierarchical 하게 변환함F0
- DiffPitch는
- DiffPitch
- DiffPitch는 diffusion process를 기반으로 하는 pitch generator에 해당함
- 구조적으로 DiffPitch는 single denoiser로 significant receptive field를 얻을 수 있는 WaveNet-based conditional diffusion model인 DiffWave를 사용 - 먼저 pitch encoder는 source speech의 normalized
를 pitch representationF0 로 변환함Zp - 그러면
를 DiffPitch의 data-driven prior로 활용하기 위해 pitch reconstruction loss로 pitch representation을 regularize 할 수 있음:Zp
(Eq. 1)Lpitch=||Xp−Zp||1 - 여기서 DiffPitch의 forward process는:
(Eq. 2)dXp,t=12βt(Zp−Xp,t)dt+√βtdwt
- DiffPitch의 diffusion process는 YAAPT algorithm으로 추출된 log-scale 를 target ground-truthF0 로 사용함Xp
- ,t∈[0,1] : noise schedule,βt : forward standard Wiener processwt - 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
- : backward standard Wiener processˉwt - DiffVC를 따라, forward process의 noisy pitch sample은 다음 distribution으로부터 얻어짐:
(Eq. 4)pt|0(Xp,t|Xp,0)=N(e−12∫t0βsdsXp,0+(1−e−12∫t0βsds)Zp,(1−e−∫t0βsds)I)
- : identity matrixI - (Eq. 4)는 Gaussian이므로 다음을 얻을 수 있음:
(Eq. 5)∇logpt|0(Xp,t|Xp,0)=−Xp,t−Xp,0(e−12∫t0βsds)−Zp(1−e−12∫t0βsds)1−e−∫t0βsds - 결과적으로 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]
- : pitch score estimator,sθp λt=1−e−∫t0βsds
- 그러면
- 추가적으로 논문은 reverse SDE solver로 forward diffusion의 log-likelihood를 최대화하는 ML-SDE solver를 사용하여 fast sampling을 유도함
- 추론 시, pitch encoder에서 변환된
는 DiffPitch의 prior로 사용되고 DiffPitch는 target voice styleF0 를 사용하여 refineds 를 생성함F0
- DiffPitch는 diffusion process를 기반으로 하는 pitch generator에 해당함
- DiffVoice
- DiffVoice는 content, target
, target voice style로부터 high-quality speech synthesis를 수행하는 conditional diffusion modelF0
- 추가적으로 논문은 diffusion model에 data-driven prior를 도입하여 inception을 guide 함 - 먼저 source-filter theory에 따라 speech component를 pitch/content representation으로 disentangle 함
- Data-driven prior를 위해 source encoder
와 filter encoderEsrc 로 구성된 source-filter encoder는:Eftr
- Disentangled speech representation에서 intermediate mel-spectrogram 을Zm 과 같이 reconstruct 함Zm=Zsrc+Zftr
- ,Zsrc=Esrc(F0,s),Zftr=Eftr(content,s) : style embeddings - 그러면 mel-spectrogram
은 다음과 같이 regularize 됨:Zm
(Eq. 7)Lrec=||Xmel−Zm||1
- : ground-truth speech의 mel-spectrogramXmel
- Data-driven prior를 위해 source encoder
- 여기서 DiffVoice는 source-filter encoder output
을 prior로 사용하고 speaker representationZm 를 condition으로 하여 speaker adaptation capacity를 향상할 수 있음s - 이때 DiffVoice의 forward process는:
(Eq. 8)dXm,t=12βt(Zm−Xm,t)dt+√βtdwt - DiffVoice의 reverse process는:
(Eq. 9)dˆXm,t=(12(Zm−ˆXm,t)−sθm(ˆXm,t,Zm,t))βtdt+√βtdˉwt - Forward process에서 noisy mel-spectrogram
는 (Eq. 4)와 동일하게 얻어지므로, mel-spectrogram noise estimation networkXm,t 을 최적화하기 위한 score matching loss는:sθm
(Eq. 10)Lm=EX0,Xt[λt||(sθm(Xm,t,Zm,s,t))−∇logpt|0(Xm,t|Xm,0)||22]
- 이때 DiffVoice의 forward process는:
- 추론 시 source-filter encoder는 source speech, target voice style
, DiffPitch로 변환된s 에서 content representation을 취함F0
- 결과적으로 source-filter encoder에서 변환된 mel-spectrogram 은 data-driven prior로 사용되고 DiffVoice는 target voice style로 condition 된 converted speech를 생성함Zm
- DiffVoice는 content, target
- Denoising Models with Masked Prior
- 앞선 Data-driven piror는 VC 성능을 크게 개선할 수 있지만, 논문의 DiffVoice는 source-filter encoder에서 reconstruct 된 mel-spectrogram에 의존함
- 따라서 논문은 해당 DiffVoice의 generalizability를 향상하기 위해 maksed prior를 diffusion model에 도입함
- 구체적으로 prior 은 DiffVoice에 전달되기 전에 mask 되고, diffusion network는 reconstruction과 denoising process를 jointly learning 함Zm - 결과적으로 Diff-HierVC는 surrounding context에서 masked area를 reconstruction 할 수 있음
- 이때 논문은 context 측면에서 continuous pitch information을 interpreting 하여 frequency masking을 적용
- 따라서 논문은 해당 DiffVoice의 generalizability를 향상하기 위해 maksed prior를 diffusion model에 도입함
3. Experiments
- Settings
- Dataset : LibriTTS, VCTK
- Comparisons : AutoVC, DiffVC, VoiceMixer, Speech Resynthesis (SR)
- Results
- Analysis on
PredictionF0 statistic을 통한F0 transformation, WaveNet을 통한F0 prediction, DiffPitch를 통한 diffusion-basedF0 prediction을 각각 비교해 보면F0 - 30-iteration step을 가지는 DiffPitch를 사용할 때 ground-truth와 가장 유사한
contour를 얻을 수 있음F0

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

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

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

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

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

반응형