티스토리 뷰

반응형

YourTTS: Towards Zero-Shot Multi-Speaker TTS and Zero-Shot Voice Conversion for Everyone


  • Zero-Shot multi-speaker Text-to-Speech를 위해 multilingual approach가 필요
  • YourTTS
    • VITS를 기반으로 multi-speaker, multilingual task로 확장
    • Low-resource zero-shot 환경에서 우수한 합성 품질을 달성하고 1분 미만으로 fine-tuning이 가능

1. Introduction

  • 대부분의 Text-to-Speech (TTS) 모델은 single speaker의 음성에만 특화되어 있음
    • 이때 Zero-Shot multi-speaker TTS (ZS-TTS)는 학습 중에 사용되지 않은 몇 초의 음성만으로 새로운 speaker에 맞는 음성을 합성하는 task를 의미
    • ZS-TTS task를 위해 여러 방법들이 제시되고 있음
      - Tacotron2는 Generalized End-to-End (GE2E) Loss로 학습된 speaker encoder에 target speaker에 대한 speaker embedding을 적용
      - Attentron은 attention mechanism을 활용해 다양한 reference sample에서 style을 추출
      - ZSM-SS는 speaker embedding, pitch, energy 등으로 normalization architecture를 condition 함
      - SC-Glow-TTS는 ZS-TTS task를 위해 flow-based model을 활용
  • 여러 방식들이 제안되었지만 ZS-TTS task에서 seen/unseen speaker 사이의 similarity 차이는 해결되지 않음
    • 특히 ZS-TTS 모델은 학습을 위해 많은 양의 speaker를 필요로 하므로 low-resource language에서 고품질 합성이 어려움
      - 이때 학습에 사용된 seen speaker와는 target speaker가 characteristic 차이가 클 경우 더 어려워짐
    • ZS-TTS task와 비슷하게 multilingual TTS도 multiple language 학습을 목표로 발전했음
      - Multilingual TTS 모델의 경우 동일한 음성을 유지하면서 target language를 변경하는 code-switching을 활용함
      - 따라서 이러한 방식은 하나의 language에 대한 speaker를 다른 language의 speaker로 변환할 수 있으므로 ZS-TTS에서 유용할 수 있음

-> 그래서 multi-speaker, multilingual 학습을 가능하게 하는 Zero-Shot TTS 모델인 YourTTS를 제안

 

  • YourTTS
    • VITS를 기반으로 multi-speaker task로 모델을 확장
    • Low-resource zero-shot 환경에서 우수한 합성 품질을 달성하고 1분 미만의 시간으로 fine-tuning이 가능
    • 일반적인 영어 TTS에서도 우수한 성능을 달성

< Overall of YourTTS >

  • Zero-Shot multi-speaker TTS에 multilingual approach를 도입
  • 학습 시 target language에서 하나의 speaker 만을 사용하여 높은 similarity를 가지는 zero-shot conversion이 가능
  • 추가적으로 YourTTS는 model을 fine-tuning 하는데 1분 미만의 시간만을 필요로 함

2. YourTTS Model

  • YourTTS는 VITS를 기반으로 zero-shot multi-speaker, multilingual 학습을 위해 모델을 수정
    • 우선 YourTTS는 phoneme 대신 raw text를 input으로 사용
    • 이를 통해 Grapheme-to-Phoneme 변환이 없는 language에 대해 보다 realistic 한 결과를 얻을 수 있음
  • 구조적으로 YourTTS는
    1. VITS와 마찬가지로 transformer-based text encoder를 채택
      • 이때 multilingual training을 위해,
        - Trainable 4-dimensional language embedding을 각 input character의 embedding에 concatenate
        - Transformer block 수를 10개로 늘리고, hidden channel 수를 196개로 늘림
        - decoder로는 4개의 affine coupling layer stack을 사용함
      • Vocoder로는 HiFi-GAN을 사용
    2. YourTTS는 end-to-end 학습을 위해 Variational AutoEncoder (VAE)를 통해 TTS 모델을 vocoder와 연결
      • 이를 위해 posterior encoder를 채택
        - Posterior encoder는 16개의 non-casual WaveNet residual block으로 구성
        - Posterior encoder는 linear spectrogram을 input으로 하여 latent variable을 예측
      • 해당 latent variable은 vocoder와 flow-based decoder의 입력으로 사용되므로 mel-spectrogram과 같은 intermediate representation이 필요하지 않음
      • 이러한 end-to-end 학습을 통해 vocoder와 TTS 모델이 각각 학습되는 two-stage 방식에 비해 YourTTS는 더 우수한 성능을 달성할 수 있음
        - 추가적으로 input text로부터 다양한 rhythm의 음성을 합성할 수 있도록 stochastic duration predictor도 사용됨
    3. Zero-shot multi-speaker 생성을 위해,
      • Flow-based decoder, posterior encoder, external speaker embedding의 모든 affine coupling layer를 conditioning 함
        - Coupling layer의 residual block과 posterior encoder에서 Global conditioning을 적용
      • External speaker embedding은 text encoder output, decoder output과 더한 다음, duration predictor와 vocoder로 전달됨
        - 이때 element-wise summation 이전에 차원을 일치시키기 위해 linear projection layer를 사용
    4. Final loss로써, Speaker Consistency Loss (SCL)을 채택
      • Pre-trained speaker encoder를 사용하여 생성된 audio에 대한 cosine similarity를 최대화하는 ground-truth speaker embedding을 추출
      • 이때 SCL은:
        $L_{SCL} = -\frac{\alpha}{n} \cdot \sum_{i}^{n} cos-sim \left( \phi(g_{i}), \phi(h_{i})\right)$
        - $\phi(\cdot)$ : speaker embedding을 output 하는 function
        - $cos-sim$ : cosine similarity function
        - $\alpha$ : 양의 실수, $n$ : batch size
        - $g$ : ground-truth audio, $h$ : 생성된 speaker audio

YourTTS 구조

  • 학습 과정에서
    • Posterior encoder는 linear spectrogram과 speaker embedding을 input으로 사용해 latent variable $z$를 예측
      - 이후 latent variable과 speaker embedding은 HiFi-GAN vocoder의 input으로 사용됨
      - 이때 end-to-end 학습을 위해 constant length를 가지는 partial sequence를 $z$로부터 random sampling
    • Flow-based decoder는 prior $P_{Z_{p}}$와 관련된 latent $z$와 speaker embedding을 condition 함
      - 여기서 $P_{Z_{p}}$ 분포를 text encoder output과 align 하기 위해 Monotonic Alignment Search (MAS)를 사용
    • Duration predictor는 input speaker와 language embedding, MAS로 얻어진 duration을 input으로 사용함
      - 이때 stochastic duration predictor는 phoneme duration의 log-likelihood의 variational lower bound로 최적화됨
  • 추론 과정에서
    • 추론 시에는 MAS가 사용되지 않고, $P_{Z_{p}}$ 분포는 text encoder에 의해 예측되고 stochastic duration predictor의 inverse transform을 통해 변환
      - 이를 통해 latent variable $z_{p}$는 분포 $P_{Z_{p}}$에서 sampling 됨
    • Inverted flow-based decoder는 latent $z_{p}$와 speaker embedding을 input으로 하여 latent $z_{p}$를 vocoder input으로 사용되는 latent $z$로 변환

3. Experiments

- Settings

  • Dataset : VCTK, LibriTTS(English), TTS-Portuguese Corpus (Portuguese), M-AILABS (French)
  • Comparisons : Attentron, SC-GlowTTS
  • YourTTS Variations
    - System 1 : VCTK 만으로 학습 (monolingual)
    - System 2 : VCTK, TTS-Portuguese로 학습 (bilingual)
    - System 3 : VCTK, TTS-Portuguese, M-AILABS로 학습 (trilingual)
    - System 4 : System 3을 기반으로 LibriTTS로 추가 학습

- Results

  • VCTK에서는 MOS 측면에서 System 1, 2가 우수한 합성 품질을 보임
    - 이때 SCL을 추가적으로 도입하는 경우 similarity가 향상됨
  • LibriTTS에서는 System 4가 우수한 합성 품질을 보임
    - MOS 측면에서는 System 1이 더 뛰어난 것으로 측정되었는데, 이는 System 1을 합성하는 데 사용된 VCTK dataset이 다른 dataset 보다 품질이 높기 때문
  • Protuguese dataset인 MLS-PT에서는 System 3가 가장 우수한 것으로 나타남

합성 품질 비교

  • YourTTS는 speaker identity를 encoder에 제공하지 않으므로 encoder에서 예측한 분포는 speaker-independent 함
    • 따라서 YourTTS는 posterior encoder, decoder, HiFi-GAN을 사용하여 voice conversion을 수행할 수 있음
    • 이때 external speaker embedding으로 YourTTS를 condition 하므로 모델은 zero-shot voice conversion 환경에서 unseen speaker를 모방할 수 있음
  • Intra-lingual Results
    • English-to-English (EN-EN)의 결과를 살펴보면, YourTTS는 4.20 MOS의 합성 품질을 달성
      - 대조적으로 AutoVC, NoiseVC 모델은 각각 3.54 MOS, 3.38 MOS를 기록
    • Portuguese-to-Portuguese (PT-PT)에서도 YourTTS는 3.64의 우수한 합성 품질을 보임
  • Cross-lingual Results
    • PT-EN conversion의 경우 상대적으로 MOS가 떨어지는 경향을 보임
      - 이는 Portuguese 학습에 필요한 data가 충분하지 않기 때문
    • 반대로 EN-PT conversion에서는 학습에 필요한 충분한 english dataset이 있기 때문에 큰 성능 저하가 발생하지 않음

Zero-Shot Voice Conversion 결과 비교

  • Speaker adaptation에 대한 실험 결과를 비교해 보면
    • English에서는 male, female speaker에 상관없이 모두 우수한 합성 품질을 보임
    • Portuguese에서는 zero-shot 환경에서 male, female speaker에 대한 합성 품질의 차이가 존재
      - 이때 Fine-tuning을 적용하여 similarity를 높일 수 있음 

Speaker Adaptation 결과 비교

 

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