티스토리 뷰
Paper/TTS
[Paper 리뷰] PromptTTS: Controllable Text-to-Speech with Text Descriptions
feVeRin 2024. 4. 8. 09:40반응형
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을 공개
- Input prompt는 style description (Style Prompt)과 음성으로 변환할 text를 포함하는 content description (Content Prompt)로 구성됨
< Overall of PromptTTS >
- Style, content prompt와 일치하는 음성을 합성할 수 있는 controllabe TTS 모델
- Prompt와 해당 음성으로 구성된 새로운 dataset을 공개
- 결과적으로 PromptTTS를 통해 정확한 style control과 고품질 합성이 가능함을 보임
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와 일치하는 음성을 생성함
- 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 할 수 있음
- 이를 위해 input (style prompt) sequence $T=[T_{1},T_{2},...,T_{M}]$ 앞에 $[CLS]$ token이 추가되고, word embedding으로 변환되어 BERT에 제공됨
- 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
- Results
- Main Results
- PromptTTS는 two-stage 방식의 cascaded error를 완화할 수 있기 때문에 더 우수한 성능을 보임
- 결과적으로 PromptTTS는 90.31%의 accuracy를 달성하여, style prompt의 의도에 따라 일관된 style로 음성을 합성할 수 있음
- Ablation Study
- Style encoder는 output speech의 style을 학습하고 control 하는데 중요한 역할을 함
- 특히 P-tuning v2는 BERT에 대한 standard fine-tuning 보다 높은 성능을 보임
- 반면 fine-tuning을 적용하지 않는 경우 PromptTTS의 성능을 크게 저하시킴
- 결과적으로 적절한 fine-tuning은 PromptTTS에서 prompt style을 반영하는데 큰 영향을 미침
- Performance Analysis
- Two-stage 방식은 각 stage의 평균 accuracy가 94.97%, 91.60%로 mistake를 propagate 할 가능성이 높음
- 반면 PromptTTS는 cascaded error 없이 end-to-end로 information을 transfer 하므로 더 나은 accuracy를 달성할 수 있음
- Speech Quality
- MOS 측면에서 합성 품질을 평가해 보면
- PromptTTS는 HiFi-GAN을 적용하여 음성을 합성했을 때, two-stage 방식보다 더 우수한 성능을 보임
반응형
'Paper > TTS' 카테고리의 다른 글
댓글