Deep Learning/Speech Synthesis

[Intro] Speech Synthesis | Text to Speech (TTS)

족제비다아 2021. 3. 2. 11:06

Speech Synthesis 혹은 Text to Speech(TTS)로 부르는 음성 합성 연구 분야는 입력 문자에 대응하는 가상의 자연스러운 음성을 생성해내는 것을 목표로 한다. 음성 합성에 대한 연구가 어떻게 진행되어 왔는지 또 딥러닝 기술이 어떻게 접목이 되었는지에 대해 살펴보도록 하자

 

음성 합성 기술


연결 방식 (Concatenative Synthesis)

합성음 생성 방식[1]

초창기 연구 방식인 것 같은 연결 방식은 Unit Selection Synthesis라고도 불린다. 말 그대로 입력에 대응하는 값을 선택(selection)하여 음성을 합성화는 연구 방식이다. 이를 위해 소리를 음편(Speech unit)이라는 가장 작은 단위로 분해해서 데이터베이스에 저장한다. 연결 방식의 음성 합성은 가장 간단하지만 모든 입력에 대응하는 음편이 DB에 있어야 합성이 가능하며 음편마다 소리의 톤이 다르다면 합성 음성이 부자연스러울 수 있다는 단점이 있다.

 

통계 기반 파라미터 방식(Statistical Parametric TTS)

Speech synthesis based on hidden markov models[2]

그 뒤로 Machine Learning 기반의 연구 방식이라고도 말할 수 있는 통계 기반 파라미터 방식의 음성 합성 연구가 진행되었다. 신호 처리 기술을 활용하여 입력으로 들어오는 음성 데이터를 처리하여 특징점을 추출하고 이를 모델링하여 학습을 수행한다. 그렇게 학습된 모델의 파라미터를 이용하여 입력 텍스트에 대응하는 합성 음성을 생성하는 방식이다.

위 방식을 보니 컴퓨터 비전의 연구 와 비슷한 느낌을 받았다. SIFT, ORB, HoG 등과 같은 Hand crafted filter를 이용해 이미지의 특징점을 추출하고 SVM과 같은 모델에 학습시켜 이미지 분류를 했던 연구 방식과 거의 동일해 보인다.

 

딥러닝 방식 (Neural Speech Synthesis) - WaveNet의 등장

컴퓨터 비전 분야에서 딥러닝이 등장하게 된 계기가 무엇인지 생각해 볼 때 우리는 ImageNet과 AlexNet을 떠올려볼 수 있다(관련 블로그 글). AlexNet의 등장으로 딥러닝 이전의 방식들과 확연하게 차이가 나고 사람과 거의 비슷한 성능을 보이면서 딥러닝을 이용한 연구가 활발히 진행되기 시작했다. 음성 합성 분야에서도 위와 같은 역할을 한 녀석이 바로 WaveNet[3]이다. 

WaveNet 성능표

2016년 9월 DeepMind가 Autoregressive generative model인 WaveNet을 제안하면서 딥러닝을 이용한 음성 합성 분야에 대한 연구가 주목을 받게 되었다. 위 표는 DeepMind가 발표한 WaveNet의 실험 결과 표이며 기존 방법인 Concatenative, Parametric Synthesis 보다 월등히 뛰어난 성능을 보이면서 사람과 비슷한 수준에 도달한 것을 볼 수 있다.

여기서 수치 값은 Mean Opinion Score(MOS) 평가 값이며 정성적인 평가 방법으로 음성 합성 분야에 사용되는 대표정인 평가 방법이다. MOS 평가 방법은 사람이 원본 음성을 포함한 합성된 음성을 임의로 들으며(blind test) 얼마나 자연스러운 음성인지에 대한 정도를 1~5 사이의 정수 값으로 평가한다. 최종적으로 이를 평균내어 계산하면 MOS 값이 된다. WaveNet 논문에서는 평가를 위해 학습에 사용되지 않은 100개의 테스트 문장을 추출하였고 총 500개의 평가 데이터로 MOS 값을 계산하였다고 한다.

 

Neural Speech Synthesis


딥러닝을 이용한 연구가 진행되면서 Speech Synthesis는 크게 2-stage pipeline으로 나뉘어서 연구되고 있다. 

 

  • Text Analyzer : 입력 Text로부터 Mel-spectrogram과 같은 Low resolution representation을 예측
  • Vocoder : Low resolution representation으로부터 합성 음성(speech)을 예측

Neural Speech Synthesis 흐름도

위 흐름에서 Text Analyzer에 집중해서 연구하고 있는 모델들(Deep Voice, Tacotron2, Transformer-TTS, Glow-TTS, ...)이 있고 Vocoder에 집중해서 연구하고 있는 모델들(WaveGlow, MelGAN, HiFi-GAN, VocGAN, ...)이 있으며 또 End-to-End로 한꺼번에 연구하고 있는 모델들(WaveNet, Tacotron1, BERT-TTS, EATS, FastSpeech2, ...)도 있다.

 

 

다음 글에서는 딥러닝을 이용한 음성 합성 분야 중 2nd stage에 해당하는 Vocoder에 대한 연구 동향을 정리해 볼 예정이다.

Reference

[1] 게임과 AI #5 음성 합성 기술

[2] Tokuda, Keiichi, et al. "Speech synthesis based on hidden Markov models." Proceedings of the IEEE 101.5 (2013): 1234-1252.

[3] Oord, Aaron van den, et al. "Wavenet: A generative model for raw audio." arXiv preprint arXiv:1609.03499 (2016).