게임과 AI #5 음성 합성 기술

게임 AI와 관련한 연구개발(R&D)을 선도해오고 있는 엔씨소프트.

엔씨소프트의 AI센터 안에 있는 스피치(Speech)랩에서는 전문 연구진들이 모여 음성 기술 연구 개발을 활발히 진행하고 있는데요.

‘게임과 AI’ 5편에서는 AI에서 꼭 필요한 음성 기술 중 하나인 음성 합성(Text-to-Speech synthesis)기술의 큰 흐름을 핵심 원리와 함께 살펴보려 합니다.

더불어 스피치랩에서 진행 중이거나 관심을 두고 있는 연구 주제와 함께 앞으로 펼쳐질 음성합성의 미래도 소개하겠습니다.


# 대학 기숙사를 발칵 뒤집은 음성 합성기

제가 대학교에 다니던 90년대 초, 미국인 교수님이 담당한 교양 영어 수업이 있었습니다. 기숙사 생활을 함께 하던 전산학과 룸메이트들은 동기들을 골탕먹이려고 TTS(Text-To-Speech) 소프트웨어를 이용해 영어 음성을 합성했습니다. 그리곤 같은 수업을 듣는 다른 학생의 기숙사 방에 전화를 걸어 합성한 음성을 들려줬습니다.

“Hello, I am professor Mahler, How are you(안녕하세요, 말러 교수예요. 어떻게 지내세요)?” 그러면 전화를 받은 학생들은 “I, I, … I am… fine, thank you(저, 저, … 저는… 잘 지내요, 감사합니다)!!”라며 십중팔구 당황했습니다. 제 룸메이트들은 전화기 너머로 들려오는 친구의 목소리를 듣곤 낄낄대고 웃었던 게 기억납니다.

당시 사용한 기술은 클라트(Klatt) 방식의 음성 합성으로 볼 수 있습니다. 이 방법이 무엇인지 알기 위해서는 음성 신호의 구조와 특징을 먼저 살펴봐야 합니다.

음성 신호는 크게 시간 영역(time domain)과 주파수 영역(frequency domain) 형태로 표현할 수 있습니다.

시간 영역은 우리가 흔히 보는 음성 파형입니다. 시간에 따라 말하는 내용이 빠르게 달라지므로 음성 신호의 특성 역시 굉장히 빠르게 변합니다.

음성 합성을 위해서는 최대한 음성 신호의 특성이 변하지 않는 짧은 단위 구간을 찾아 분석하는 게 필요합니다. 이를 위해 수십 밀리 초 정도 구간의 음성 신호를 가장 낮은 주파수 성분부터 높은 주파수 성분까지 분리해 표시하는데, 이를 음성 스펙트럼(spectrum)이라고 합니다.

이러한 스펙트럼 형태로 표현된 음성 신호를 주파수 영역이라고 합니다. 이렇게 확보한 단위 구간을 적절하게 조작하고 합성하면 우리가 듣는 음성으로 들리게 됩니다. 물론, 음성 신호는 시간 영역과 주파수 영역 표현으로 자유롭게 상호 변환이 가능합니다.

음성 신호를 시간 영역과 주파수 영역으로 표현하기

음성 신호를 스펙트럼 표현하면 위 그림과 같이 산등성이를 볼 수 있습니다. 이때 산등성이의 봉우리를 포만트(formant)라 부릅니다. 낮은 주파수 대역에서 높은 주파수 방향으로 F1, F2, F3 등으로 봉우리 이름을 붙입니다.

우리가 모음이나 자음을 발성하면 매 순간 입술 모양이나 구강 내부의 형태가 달라지는데, 이때마다 포만트 주파수 값은 변합니다. 모음이냐 자음이냐에 따라 서로 다른 값을 가지며 한 사람이 발성한 동일한 모음과 자음에 대해서는 유사한 값을 가집니다.

앞의 사례에서 등장했던 클라트 합성 방식은 각각 음소별로 포만트 주파수 값을 할당해 표로 만들어 둔 뒤, 문장이 입력되면 스펙트럼을 만들어 이를 다시 파형의 형태로 변환해 음성을 합성해 내는 방법입니다.

클라트 합성기와 관련한 유튜브 영상

안타깝게도 클라트 방식의 음성 합성은 음질 자체가 매우 거칩니다. 그래서 듣자마자 합성음인 것을 누구나 알 수 있지만, 당시에는 전화기 음질 자체가 좋지 않았고 영어로 합성음이 나오다보니 학생들이 당황해 속아넘어갔으리라 여겨집니다.

# 어딘지 북한말 같은 음성 합성기

제가 대학원 음성언어 연구실에 있던 90년대 중후반, 선후배 중 음성 합성 연구자들이 있었습니다. 당시 방문객이 오면 연구실의 한국어 음성 합성기를 시연해 주곤 했습니다.

“소리가 괜찮긴 한데, 어딘지 모르게 북한말 같다.” 합성된 음성을 들은 손님들이 한결 같은 반응이었습니다. 음성 합성기가 무슨 말을 하는지는 알겠는데, 합성된 음성의 운율이 이상하고 자연스러움도 상당히 떨어진다는 의미였습니다.

이 당시 음성 합성기는 연결 합성 방식(concatenative synthesis)을 썼는데, 원리는 아래 그림과 같습니다.

연결합성방식의 TTS 개요

우선, 전문 성우가 한국어의 음편(Speech Unit; 음이 연속될 때, 어떤 음이 발음하기 쉬운 다른 음으로 변하는 현상)을 녹음하고 이를 데이터베이스(이하 DB)화 합니다.

음편의 종류는 자음, 모음과 같은 음소 단위부터 음소의 좌우 문맥을 갖는 삼음소(Triphone), 단어(Word), 구(Phrase), 문장(Sentence)에 이르기까지 다양합니다. 음편 단위가 작을수록 합성용 DB 규모 역시 작아집니다.

입력된 문장을 기반으로 DB에 담긴 가장 긴 음편을 선택해 합성된 신호의 뒷부분에 이어 붙입니다. 합성용 DB에는 수많은 음편이 존재하므로 접합 시 신호 왜곡이 가장 작은 음편을 자동적으로 선택합니다.

연결 합성 방식 초기에는 비교적 작은 규모의 음편 집합들도 최대한 다루고자 했습니다. 각 음편을 포함하는 어휘를 하나하나 전문 성우가 녹음한 후, 수작업으로 잘라 DB에 추가했습니다.

예를 들면, 한국어 문장에서 나올 수 있는 모든 종류의 삼음소 집합을 녹음하기 위해 ‘아귀괴다, 아귀나다, 아귀네다’ 등 실제 한국어에 없는 어휘를 성우들이 녹음한 후, 필요한 삼음소를 잘라내 음성 DB에 입력했습니다.

최근의 연결 합성 방식은 대용량 음성 DB를 도입하고 음성 데이터의 음소 태깅 자체도 음성인식기를 통해 자동으로 입력하는 방향으로 발전하고 있습니다.

연결 합성 방식의 TTS 데모 영상

 

“연결 합성 방식 TTS는

입력 문장이 수집해 놓은 음성DB와 유사할수록

원음에 가까운 좋은 음질이 만들어집니다.

단, DB 구축을 위해서는

튜닝과 녹음 비용이 많이 들며,

접합부에서 왜곡이 발생할 경우

귀에 거슬릴 정도로 소리가 튀기도 합니다.”

 

# 손석희 닯은 목소리도 만드는 음성 합성기

2000년대 이후, 음성 합성 영역에서는 통계 모델을 활용하는 움직임이 있었습니다. 은닉 마르코프 모델(Hidden Markov Model, 이하 HMM)이 대표적입니다.

HMM은 음성 신호의 주요 파라미터를 각각 음소, 삼음소 별로 학습합니다. 그 후 음성 신호의 주요 파라미터를 생성하고, 생성된 파라미터를 이용해 최종 음성 신호를 생성합니다.

기존 연결 합성 방식보다 규모의 측면에서 효율적입니다. 음성 신호 자체를 DB로 갖는 게 아니라 음성의 주요 파라미터만을 모델 형태로 저장하기 때문입니다. 이북 리더기와 같은 소형 단말기에도 음성 합성기를 탑재할 수 있게 됐습니다.

통계 모델 기반 TTS

접합부 왜곡 현상이 많지 않습니다.

하지만 모델링 과정에서 

신호의 스무싱 현상으로 인해

소리의 명료도(Intelligibility)

떨어지는 단점이 있습니다.”

 

통계 모델 기반의 TTS는 기존 연결 합성 방식에 비해 화자 적응(Speaker Adaptation), 감정 제어(Emotion Control), 음색 변환 등이 수월하다는 장점이 있습니다.

가령, 연결 합성 방식의 경우 음편 접합부에서 접합 대상이 되는 양쪽 음성 신호의 특성이 다르면 소리가 튈 우려가 있지만, 통계 모델 방식에서는 이런 문제가 크지 않은 편입니다. 음성의 주요 파라미터값을 저장하고, 생성 및 조작하는 방식이기 때문입니다.

카카오가 개발한 HMM 통계모델 기반 음성 합성 기술 – 손석희 JTBC 사장 목소리

 

# 딥러닝, 음성 합성의 새 지평 열다

음성 합성 영역도 딥러닝(Deep Learning)의 수혜를 입기 시작합니다. 딥러닝은 다층 신경망 학습 기술인데, 2012년 캐나다 몬트리올대의 힌튼 교수 연구 그룹을 통해 세상에 알려졌습니다. 이 기술은 음성, 영상, 자연어 처리를 포함한 수많은 기계 학습 연구 분야에 적용되고 있습니다.

음성 합성에서의 딥러닝 모델 역시 입력과 출력 구조로 돼 있습니다. △음성 신호에서 텍스트 전처리를 통해 언어적 특징벡터를 추출한 후 이 값을 ‘입력’으로 합니다. △음성 신호의 보코더(Vocoder) 파라미터를 ‘출력’으로 학습합니다.

딥러닝 기반의 음성합성기술

딥러닝으로 고품질 음성 합성을 구현할 수 있게 됐습니다. 입력과 출력 사이의 비선형(Non-Linear)적인 관계를 수많은 뉴런 모델들이 자동으로 발견하고, 학습하기 때문입니다.

기존 음성 합성 방식에서는 발성 기관 구조 및 원리의 이해와 문자에서 발음 표기로 변환하는 언어적 지식 및 음성 스펙트럼의 세부적인 특성 등, 다양한 음성학, 음운론, 음성 신호처리 관련 지식이 필요했습니다.

하지만 딥러닝 기술 기반에서는 입력과 출력 데이터만 있으면 됩니다. 기계가 자동으로 중간 과정을 찾아서 모델링하고 모델값을 저장해 음성을 바로 합성합니다.

최근에는 딥러닝을 통해 쌍으로 된 데이터(입력 테스트, 출력 음성)만으로도 심층 신경망 기반의 합성 모델을 학습할 수도 있습니다. 이를 통해 수천 명 이상의 목소리를 하나의 TTS 모델에서 합성하는 엔드투엔드(End to End) 음성 합성 연구를 진행하고 있습니다. 구글, 바이두의 기술이 대표적입니다.

구글은 타코트론(Tacotron)이란 방식을 이용합니다. 문자열을 입력으로, 음성의 스펙트럼 특징벡터 열을 출력으로 지정해 문자열이 스펙트럼으로 변환되는 중간 과정을 자동으로 학습합니다. 이때 입력과 출력의 길이의 차이가 발생하는데, 어텐션(Attention)이라는 신경망 층을 도입해 입력과 출력 사이의 매핑(Mapping) 관계를 학습합니다.

구글타코트론(Tacotron) 음성합성기술

타코트론과 같은 어텐션 방식에도 단점은 있습니다. 학습 문장들에 비해 입력 문장의 길이가 길 경우 잘 작동하지 않습니다. 또한, 학습 문장들에 포함되지 않은 새로운 어휘 혹은 예외 발음 규칙을 갖는 단어들이 포함되면 합성음 품질이 크게 왜곡됩니다. 어텐션 층이 제대로 동작하지 않기 때문입니다.

바이두의 딥보이스3(Deep Voice3)는 타코트론의 대안으로 등장했습니다. 딥보이스3는 입력 문자열 이외에도 학습 데이터에 존재하지 않는 단어, 외래어, 약어 등 특수 단어들에 대해서는 발음 기호 열을 추가적으로 도입하는 방식을 택했습니다.

바이두딥보이스3 음성합성기술

딥러닝 기반의 음성 합성 방식은 획기적인 성능을 지니고 있지만, 여전히 모든 문장 형태에 적용하기는 어렵습니다.

사람의 음성 발화 원리에 대한 깊이 있는 이해가 더욱 많이 필요하며, 딥러닝 모델 내부 구조와 학습 알고리즘에 이를 적절히 반영해 주어야만 완벽한 수준의 합성이 될 수 있습니다.

 

# 엔씨소프트 스피치랩 음성합성팀의 주요 연구 주제

음성 합성 기술은 비교적 최근까지도 낭독체 합성 방식이 주류였습니다. 이는 아나운서가 정해진 스크립트를 읽는 것과 같은 형태의 음성을 의미합니다.

그러나 딥러닝을 통해 음성 합성 분야에서도 상당 수준 진전을 이뤘습니다. 이에 따라 낭독체보다 난이도가 높은 대화체 음성 합성에 대한 관심도 많아지고 있습니다. 단순히 스크립트를 읽는 차원이 아니라 다양한 감정 표현을 포함한 음성 합성이 가능하기 때문입니다.

대화체 음성은 기쁨, 슬픔, 화남, 두려움, 흥분과 같은 다양한 감정뿐만 아니라, 망설임, 부분적 반복, 삽입어, 생략, 특정 단어나 구에 대한 강조 등도 포함합니다. 이는 음성 합성에 있어 새로운 차원의 과제입니다.

케임브리지 대학의 감정 음성 합성 Talking head

음성합성의 또 다른 흥미로운 연구 주제로 음성 변환(Voice Conversion) 또는 보이스 모핑(Voice Morphing)이 있습니다.

음성 변환과 보이스 모핑은 화자 A의 음성을 목표 화자 B의 음성으로 바꿔주는 기술입니다.

보이스 모핑 기술 유튜브 동영상 (1분 경과 시점부터 감상하세요)

기본적으로 이 기술들은 문자열이 입력이 아니라 음성 신호 자체를 입력합니다. 보이스 모핑 기술은 고품질의 음성 신호를 크게 손상시키지 않으면서도 다른 사람의 목소리로 변환할 수 있다는 장점이 있습니다.

엔씨소프트 스피치랩 음성합성팀에서는 이러한 방식들이 게임뿐만 아니라 여러 분야에도 활용 가능성이 매우 높다고 판단해 연구개발을 진행하고 있습니다.

 

# 음성 합성의 미래

지금까지 살펴본 것처럼 음성 합성의 미래는 너무나도 흥미롭고 무궁무진한 가능성을 지니고 있습니다.

앞으로 IoT 시대가 본격화되면 모든 사물이 고유의 목소리를 낼 수도 있습니다. 지금 쏟아지는 AI 스피커는 첫걸음에 불과하다는 생각도 듭니다.

물리적인 사물뿐만 아니라 디지털 세계의 다양한 캐릭터들도 고유의 음성이 필요합니다. 이런 면에서 특히 게임 플랫폼은 음성합성의 궁극적인 연구들을 시험할 수 있는, 음성합성 연구자들을 위한 최적의 무대임이 틀림없습니다.

다음 편에서는 AI 스피커, 애플 시리(Siri), 구글 어시스턴트 등을 통해 우리 일상에 한층 더 깊이 들어온 ‘음성 인식 기술’에 대해 자세히 살펴보겠습니다.


조훈영 AI센터 스피치(Speech)랩 실장. 음성 인식 연구로 학위를 마치고 AI와 콘텐츠 기술 관련한 다양한 일들을 해왔지만, 최근의 AI 기술은 훨씬 더 흥미롭고 근본적인 변화를 예고하고 있는 것 같습니다. 음성이라는 매력적이고도 편리한 수단을 통해 사람과 사물이 다양한 형태로 교감하는 미래를 만들어 나가고자 합니다.

 

게임과 AI #1 심층강화학습과 AI

게임과 AI #2 블레이드 & 소울과게임 AI Part. 1

게임과 AI #3 블레이드 & 소울과게임 AI Part. 2

게임과 AI #4 게임 속 음성 기술