Text-to-Speech(TTS)의 구성

소원·2024년 4월 24일

2024

목록 보기
3/10

TTS는 텍스트를 입력하면 출력으로 음성(Wave data)을 생성해주는 모델이다.
과거부터 여러 기술을 이용해 정교한 음성 모델을 만들고자 제안된 여러 방법이 있는데, 이 중 최근 기술과 근접한 기술들을 정리하고자한다.

Statistical Parametric Speech Synthesis(SPSS):

통계기반 파라미터 합성기술로 언어적 특징으로부터 speech parameter를 모델링해 음성을 생성한다. 대표적인 방식은 HMM에 기반한 spss이다.
spss는 다음과 같은 3단계의 파이프라인으로 동작한다.

0) Text Analysis
1) Acoustic Model
2) Vocoder

0)Text Analysis

모델 학습 이전에 input text를 이후 모델에서 사용하기 좋은 형태로 전처리하는 과정이라고 할 수 있다.

  • Text Normalization : 1의 경우 '하나'로 읽는 경우와 '일'로 읽는 경우가 있기 때문에, 약자나 숫자로 되어있는 부분을 발음나는대로 바꿔주는 과정이 필요하다.
  • Grapheme-to-phoneme (G2P) : 영어의 경우, 스펠링은 단어에 따라 다르게 발음되는 경우가 있다. 이 경우 문자를 발음으로 바꾸어줘야 음성의 결과가 어색하지 않을 것이다. 한국어의 경우도 마찬가지다. 단어의 철자와 발음이 항상 일치하지 않는 경우가 있어, 발음사전을 제작해 매핑해주는 과정이 필요하다.

그 외에 Word Segmentation, Part of Speech Tagging, Prosody Prediction, Grapheme to Phoneme의 과정이 필요하다.
하지만 이후 설명하는 딥러닝 기반 음성합성(Neural TTS)에서는 input데이터를 Text Normalization과 G2P만 전처리해 사용하는 형태로 매우 간단해져 별도로 단계를 나눠 생각하지 않는다.

Neural Network

SPSS은 앞서 말한 HMM의 형태에서 신경망 기반 모델들로 대체되어왔지만, 이러한 모델들은 개선된 SPSS정도의 수준이었다.
Neural Network TTS는 Attention 아키텍쳐 기반의 Seq2Seq모델을 문자가 아닌 소리에 적용한 Tacotron이 발표된 이후로 발전되어왔다.
여기서 말하는 Attention 아키텍쳐는 구글 클라우드 스킬부스트에서 배웠던 내용을 기반으로 다시 설명할 예정이다.

Neural Network 기반 모델은 다음과 같은 2단계의 파이프라인으로 동작한다.

1) Acoustic Model
2) Vocoder

앞서 말한 0)text analysis는 neural network로 넘어오면서부터 단계로 취급하지 않는다.

그렇다면 SPSS와 Neural Network 두 방식에 모두 포함되는 Acoustic Model과 Vocoder는 무엇인지 알아보자.

1)Acoustic Model

SPSS의 HMM, Neural Network의 Seq2Seq-based 모두 Acoustic Model에 해당된다.
최종적으로 생성되는 음성의 품질은 Acoustic Model에 의해 생성된 Acoustic feature에 크게 의존한다.
따라서 지금까지 다양한 아키텍쳐 기반의 모델이 만들어지고 그와 관련된 다양한 기술들이 발전해왔다.

Acoustic Model은 Linguistic feature로 부터 Acoustic feature를 생성한다.

Seq2seq-based, Transformer-based, Flow-based, VAE-based, GAN-based, Diffusion-based 등 신경망 모델에 따라 종류가 나뉜다.

2)Vocoder

Vocoder는 생성된 Acoustic feature으로 부터 음성을 합성해 wavedata를 만든다.
SPSS와 Neural Network로 Acoustic Model이 발전해오는 과정 속, acoustic feature를 다루는 Vocoder 또한 발전해왔다.

WaveNet이 가장 널리 쓰여왔고 신경망의 발전에 따라 Flow-based, GAN-based Model도 사용되고 있다.
Autoregressive model: WaveNet vocoder
Flow-based model : WaveGlow, FloWaveNet, Parallel WaveNet
GAN-based model : ParallelWaveGAN, VocGAN

References

0개의 댓글