티스토리 뷰

반응형

PromptTTS: Controllable Text-to-Speech with Text Descriptions


  • Text description을 generation task를 guide 하는 데 사용할 수 있음
  • PromptTTS
    • 음성 합성을 위해 style, content description이 포함된 prompt를 input으로 사용하는 text-to-speech 모델
    • Prompt에서 해당 representation을 추출하는 style encoder, content encoder를 활용하고, 추출된 style, content representation에 따라 음성을 합성하는 speech decoder로 구성됨
    • 추가적으로 prompt가 포함된 dataset이 없으므로, 이에 해당하는 새로운 dataset인 PromptSpeech를 제공
  • 논문 (ICASSP 2023) : Paper Link

1. Introduction

  • Prompt와 같은 text description을 활용하여 text, image generation task에서 우수한 성능을 보이고 있음
    • 마찬가지로 Text-to-Speech (TTS)에서도 pitch, emotion 등의 다양한 style을 반영하기 위해 prompt-based guidance를 활용 가능함
    • 특히 기존의 controllable TTS 방식들은 특정한 style factor에 대한 controlling에만 초점을 맞추고 있음
      - BUT, 이러한 기존 방식들은 style factor에 대한 specific value를 요구하거나 reference speech가 필요하므로 time-consuming 하고 user-friendly 하지 않음
    • 따라서 natural language로 구성된 text description을 사용하여 style control을 수행하는 것이 더 자연스러운 방식임

-> 그래서 controllable TTS를 위해 prompt와 같은 text description을 활용하는 PromptTTS를 제안

 

  • PromptTTS
    • Input prompt는 style description (Style Prompt)과 음성으로 변환할 text를 포함하는 content description (Content Prompt)로 구성됨
      - 이때 각 prompt는 사이의 colon $:$으로 구분됨
    • 이때 해당 input prompt를 활용하여 acoustic knowledge나 reference speech 없이도 style control이 가능한 TTS 모델을 구축하는 것을 목표로 함
      - 이를 위해 style encoder, content encoder, speech decoder로 모델을 구성하고, style encoder와 content encoder를 사용해 각각의 prompt에서 representation을 추출함

    • 추가적으로 prompt TTS 작업을 위한 dataset이 존재하지 않으므로, 해당 task를 위한 dataset을 제공함
      - Gender, pitch, speaking speed, volume, emotion의 5가지 style factor를 포함하는 prompt로 구성된 dataset을 공개

< Overall of PromptTTS >

  • Style, content prompt와 일치하는 음성을 합성할 수 있는 controllabe TTS 모델
  • Prompt와 해당 음성으로 구성된 새로운 dataset을 공개
  • 결과적으로 PromptTTS를 통해 정확한 style control과 고품질 합성이 가능함을 보임 

Style Prompt와 Content Prompt의 예시

2. Method

- Model Overview

  • PromptTTS는 style encoder, content encoder, speech decoder로 구성됨
    • Style encoder는 style prompt를 semantic space에 mapping하여 content encoder와 speech decoder를 guide 하는 데 사용되는 style representation을 추출함
    • Content encoder는 content prompt를 input으로 사용하여 content representation을 추출
    • Speech decoder는 style, content representation을 input으로 concatenate하여 prompt와 일치하는 음성을 생성함

PromptTTS Architecture

- Style Encoder

  • Style encoder는 output 음성의 style을 control하는 guidance 역할을 하기 위해, BERT를 사용하여 style prompt에서 style representation을 추출함
    • 이를 위해 input (style prompt) sequence $T=[T_{1},T_{2},...,T_{M}]$ 앞에 $[CLS]$ token이 추가되고, word embedding으로 변환되어 BERT에 제공됨
      - $M$ : style prompt의 length
    • $[CLS]$ token에 해당하는 hidden vector는 content encoder와 speech decoder를 guide 하는 style representation으로 볼 수 있음
    • 이때 speech style과 관련된 semantic information을 더 잘 recognize하기 위해, BERT는 style prompt에서 gender, pitch, emotion 등을 예측하는 auxiliary classification task로 fine-tuning됨
      - 이러한 fine-tuning을 통해 BERT는 style information에 더욱 focus 할 수 있고, 결과적으로 PromptTTS에서 speech synthesis를 잘 guide 할 수 있음

- Content Encoder

  • Content encoder는 style encoder로부터 얻어진 style representation으로 condition 된 content representation을 추출함
    • 이는 content encoder의 variance adaptor가 output speech style과 밀접하게 관련된 duration, pitch 등의 information을 예측하기 때문
    • 따라서 input (content prompt) sequence를 phoneme sequence $P=[P_{1},P_{2},...,P_{N}]$으로 변환하기 위해, grapheme-to-phoneme conversion을 활용하고, 이를 transformer block에 feed 하기 위해 phoneme embedding에 mapping 함
      - $N$ : phoneme sequence length
    • 이때 input embedding에 단순히 style representation을 추가하는 것만으로는 전체 모델을 guide 할 수 있을 만큼 powerful 하지 않으므로, transformer block의 input에 style representation을 추가함
    • 추가적으로 FastSpeech2와 같이 duration/pitch/energy를 예측하는 variance adaptor를 적용함
      - 이를 통해 다양한 음성을 합성과 one-to-many 문제를 완화할 수 있는 충분한 information을 제공할 수 있음

- Speech Decoder

  • Speech decoder는 앞선 두 encoder의 style, content representation을 활용하여 해당하는 mel-spectrogram을 생성함
    • 이를 위해, 두 representation이 concatenate 되어 speech decoder의 input으로 사용됨
    • 이때 style representation은 content encoder와 동일한 mechanism으로 동작하는 각 transformer block의 input 앞에도 추가됨

3. Experiments

- Settings

  • Dataset : PromptSpeech
  • Comparisons : P-tuning v2로 fine-tuning 된 BERT

PromptSpeech Dataset의 구성

- Results

  • Main Results
    • PromptTTS는 two-stage 방식의 cascaded error를 완화할 수 있기 때문에 더 우수한 성능을 보임
    • 결과적으로 PromptTTS는 90.31%의 accuracy를 달성하여, style prompt의 의도에 따라 일관된 style로 음성을 합성할 수 있음

각 Style Factor 별 Accuracy

  • Ablation Study
    • Style encoder는 output speech의 style을 학습하고 control 하는데 중요한 역할을 함
    • 특히 P-tuning v2는 BERT에 대한 standard fine-tuning 보다 높은 성능을 보임
    • 반면 fine-tuning을 적용하지 않는 경우 PromptTTS의 성능을 크게 저하시킴
      - 결과적으로 적절한 fine-tuning은 PromptTTS에서 prompt style을 반영하는데 큰 영향을 미침

Ablation Study 결과

  • Performance Analysis
    • Two-stage 방식은 각 stage의 평균 accuracy가 94.97%, 91.60%로 mistake를 propagate 할 가능성이 높음
    • 반면 PromptTTS는 cascaded error 없이 end-to-end로 information을 transfer 하므로 더 나은 accuracy를 달성할 수 있음

Two-stage 방식의 Stage 별 Accuracy 비교

  • Speech Quality
    • MOS 측면에서 합성 품질을 평가해 보면
    • PromptTTS는 HiFi-GAN을 적용하여 음성을 합성했을 때, two-stage 방식보다 더 우수한 성능을 보임

합성 품질 비교

 

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