기술 블로그

[일상에 스며든 AI 음성 인식 서비스] Text-To-Speech (TTS)

daglo 팀 · 2022년 9월 6일

[일상에 스며든 AI 음성 인식 서비스] Text-To-Speech (TTS)

액션파워는 AI 기술로 음성 합성 (Text-To-Speech)을 구현할 수 있습니다. 음성 합성 (TTS) 기술을 통해 텍스트를 음성으로 변환할 수 있어요. 정확한 음성 합성 구현을 위해서는 몇 가지 과정을 거쳐야 합니다.

데이터 전처리

데이터 전처리 과정에서 불필요한 특수 문자를 제거하고, 숫자, 영어 등과 같은 표현을 한글로 변환합니다.

정확한 학습을 위해 각 음소(phoneme)를 음성에 대해 정렬해요(optional). 예를 들면, ‘ㄱ’ → ‘0.2초 ~ 0.35초’, ‘ㅏ’ → ‘0.35초 ~ 0.42초’, ‘ㄴ’ → ‘0.42초 ~ 0.48초’ 와 같습니다. 이를 위해 사용할 수 있는 방법으로 여러가지가 있지만, 대표적인 방법으로는 MFA (Montreal Forced Aligner)가 있습니다.

(optional) 텍스트를 소리 나는 발음 그대로 변환하기도 합니다. 예를 들어, ‘어제는 날씨가 맑았는데 오늘은 흐리다’는 → ‘어제는 날씨가 말간는데, 오느른 흐리다.’와 같을 수 있습니다. g2pk 라이브러리를 활용하면 이와 같은 변환을 처리할 수 있습니다.

음성 합성 (Text-To-Speech)

음성 합성(TTS)는 크게 신디사이저(synthesizer)보코더(vocoder)로 구성되어 있습니다.

신디사이저(Synthesizer)

Synthesizer는 텍스트가 입력되면 그에 맞는 mel spectrogram을 예측하는 모델이에요. Mel spectrogram은 낮은 주파수 대역대를 높은 주파수 대역대보다 민감하게 받아들이는 인간의 청각 특징을 고려한 음성 특징 추출 기법입니다.

Synthesizer는 mel spectrogram을 예측하는 방법에 따라, 다시 auto-regressive TTSnon auto-regressive TTS로 나눌 수 있습니다.

  • Auto-regressive TTS
    Auto-regressive TTS는 이전 스텝에서 예측한 mel spectrogram과 현재 스텝의 음소를 활용해서 현재 스텝의 mel spectrogram을 추론하는 방법이에요. 각 frame마다 예측을 해야 하기 때문에 학습과 추론 시간이 오래 걸리고 멈추는 기준을 잘 학습하지 못할 경우 입력된 텍스트와 맞지 않는 길이의 mel spectrogram을 추론할 수 있다는 단점이 있어요.

대표적인 auto-regressive model인 Tacotron의 구조 (https://paperswithcode.com/method/tacotron)

  • Non auto-regressive TTS
    각 스텝에서 mel spectrogram을 추론하는 auto-regressive TTS와 달리, Non auto-regressive TTS는 텍스트가 입력되면 한번에 mel spectrogram을 추론하는 방법입니다. 한 번에 추론을 하기 때문에 합성 음성의 퀄리티는 떨어질 수 있지만 학습과 추론 시간을 크게 줄일 수 있다는 장점이 있어요. 최근에는 다양한 연구를 통해 합성 음성의 퀄리티 역시 크게 발전하고 있습니다.

대표적인 non auto-regressive model인 Fastspeech2의 구조 (https://paperswithcode.com/method/fastspeech-2)

보코더 (Vocoder)

Vocoder는 mel spectrogram이 입력되면 그에 맞는 음성을 합성하는 모델이에요. 최근에는 discriminator와 generator가 적대적으로 학습되는 GAN (Generative adversarial Network)을 활용한 vocoder 모델이 많이 개발되고 있습니다.

대표적인 vocoder model인 HIFI-GAN의 구조 (https://daps.cs.princeton.edu/projects/HiFi-GAN/index.php?env-pairs=DAPS&speaker=f10&src-env=all)

최근에는 단순히 텍스트가 입력되면 음성을 합성하는 단순한 TTS 모델 뿐만 아니라 multi speaker TTS, speaker embedding을 활용해 reference audio와 유사한 TTS를 진행하는 voice cloning, emotion embedding을 활용해 감정에 따른 TTS를 진행하는 emotional TTS 등 다양한 TTS 모델이 개발되고 있습니다. 평가 지표로는 피실험자들의 점수를 평균 낸 MOS (Mean Opinion Score)가 활용될 수 있어요.

액션파워는

액션파워는 TTS를 활용한 특허 출원도 보유하고 있습니다.

  • 출원번호 10–2022–0088795
     해외 콘텐츠에 대응하는 번역 음성을 생성하는 방법에 대한 발명이에요.

액션파워에 대한 더 많은 이야기가 궁금하다면?
More about Action Power

← 블로그로 돌아가기

대화가 일이 되는 곳, daglo.

지금 바로 무료로 시작해보세요