VARIANCEFLOW: HIGH-QUALITY AND CONTROLLABLE TEXT-TO-SPEECH USING VARIANCE INFORMATION VIA NORMALIZING FLOW

VarianceFlow 논문 요약

Yoonhyung Lee, Jinhyeok Yang, and Kyomin Jung.
Accepted by ICASSP2022
[Paper][Demo][Code x] **

Goal

  • Normalizing flow를 통해서 pitch와 energy와 같은 variance 정보를 더 정확하게 예측하고 조절

Motivations

Untitled 0

  • FastSpeech 2와 같이 MSE loss를 통해서 text conditioned variance를 모델링하는 방식과 다르게, normalizing flow를 통해서 variance 예측하는 것이 더 좋다
    1. Normalizing flow를 활용하면 일대다 관계(text-variance)를 학습할때 더 robust
    2. text와 latent variance representation을 disentangling할 수 있어서 variance 조절이 더 정확

Methods

Untitled 1

  • FastSpeech 2를 baseline으로 사용하고 있고 normalizing flow를 활용해서 variance distribution과 prior distribution을 matching
  • FastSpeech 2의 Energy predictor와 Pitch predictor를 NF 모듈로 교체한 것

    Untitled 2

    • NF 모듈은 VITS의 stochastic duration predictor를 참고했다고 언급
    • Training: complex latent variance distribution을 simple prior distribution으로 matching
    • Inference: prior로부터 latent representation을 바로 sampling

    Untitled 3

  • variance information $x$의 probability density를 위와 같이 계산 가능 (by the change of variables)
  • latent variance distribution을 simple prior distribution (unit Gaussian)으로 가정
    • $x$: a variance factor, $h$: hidden representation (여기서는 text), $z$: a latent representation, $f_i$: bijective transform(Neural spline flows)
  • variance information의 log-likelihood를 최대화하도록 학습

Untitled 4

  • $L_{melspec}$, $L_{duration}$: FastSpeech 2의 loss와 같음
  • $L_{pitch}$, $L_{energy}$: pitch와 energy의 NF loss (negative log-likelihood)
  • $\alpha$: 논문에서 0.1로 설정해서 학습했다고 언급

    Untitled 5

  • 각 NF 모듈에서 variance 정보를 학습하면서 동시에 variance와 text를 disentangle
    • 위의 식과 같이 $L_{NF}$을 decomposition할 수 있는데, 두번째 entropy term인 $H(x \mid h)$가 상수라서 conditional latent variance distribution인 $q_\theta(z \mid h)$와 prior distribution인 $p(z)$사이의 KL-divergence를 최소화하도록 학습 ⇒ prior $p(z)$를 $h$(text)를 고려하지 않고 independent하게 gaussian 분포로 가정했기 때문에 h와 z를 disentangle하도록 학습되는 것
  • 이렇게 학습한 latent representation인 $z$로 더 정확하게 pitch나 energy의 control이 가능하다

Untitled 6

  • 가정한 Gaussian 분포에서 sampling한 $z$를 inverse transform을 통해서 raw variance space로 보내고, 여기서 scalar값을 곱해서 원하는 pitch나 energy로 조절하고 다시 NF모듈을 통해 latent representation $z’$로 변환한다
  • Control을 raw variance space에서 하고, 조절한 variance factor를 NF모듈을 통해 변환한 $z’$를 FFT decoder의 input에 더해주는 것임

Experiment Setup

Datasets

  • LJSpeech
  • log-mel spectrograms (1024 fft window, 256 hop lengths)
  • log scale pitch (Parsel-mouth)
  • $\alpha$ = 0.1
  • zero-mean Gaussian prior distribution ($\sigma$ = 0.333)
  • HiFi-GAN vocoder, baseline으로는 FastsSpeech 2
  • NF module
    • 4-layer rational-quadratic coupling transform
    • VITS의 stochastic duration predictor 구조를 따라했다고 언급

Training setup

  • batch size: 16, AdamW ($\beta_1$=0.9, $\beta_2$=0.98) with Noam learning rate scheduling

Results

Speech quality

Untitled 7

Controllability

Untitled 8

  • f0 frame error rate (FFE) 측정
  • 위의 식과 같이 pitch value를 semitone 단위로 조절
  • VarianceFlow-reversed
    • raw variance information을 바로 FFT decoder의 Input으로 활용한 모델
    • variance factor를 text와 같이 다른 factor와 disentangle하는 것을 보여주기 위해 비교

Untitled 9

Untitled 10

  • VarianceFlow-reversed와 VarianceFlow의 결과 비교가 중요

Diversity

Untitled 11

  • $\sigma$ = {0.0, 0.667} 의 범위에서는 speech quality가 유지된다고 언급
  • 근데 실험에서 latent representation을 사용하지 않아도 자연스러운 음성을 생성한다고 함
    • 하지만 다른 샘플들끼리 비슷한 prosody로 들린다고함

Conclusion

  • Normalizing flow를 기반으로 variance information을 제공해서 variance controllability를 향상시키면서 speech quality도 향상시킴

References