대략적인 목표와 계획을 정했으니 이제 어떤 기술을 사용하여 만들 건지 한번 고민해보자.

 

 

 

음성합성 기술

먼저 음성합성의 기술들 중 무엇을 선택하여 사용할지를 정해야 한다.

조사해본 결과 음성합성 기술은 크게 5가지 정도가 있다.

  1. 조음 합성
  2. 포먼트 합성
  3. 연결 합성
  4. 통계기반 파라미터 합성
  5. 딥러닝 기반 음성합성

각각이 어떤 기술인지 간략하게 알아보고 하나씩 장단점을 따져보자.

 

 

 

 

1. 조음 합성

https://www.eksss.org/archive/view_article?pid=pss-13-2-1 

 

Phonetics Speech Sci.: Articulatory robotics<sup></sup>

Speech is a spatiotemporally coordinated structure of constriction actions at discrete articulators such as lips, tongue tip, tongue body, velum, and glottis. Like other human movements (e.g., reaching), each action as a linguistic task is completed by a s

www.eksss.org

간단하게 말하면 조음 합성 기술은 인간의 조음기관을 바탕으로 음성 합성을 하는 기술이다.

(발성 기관, 공기 흐름의 분포, 압력 등을 수학적으로 모델링하여 합성하는 기술)

이 기술은 음성의 발화 및 지각의 원리를 있는 그대로 연구한다는 점에서 과학으로서의 가치는 있지만,

비용이 만만치 않게 들어간다는 점과 성능이 나쁘다는 점이 있다. 

기술이 나온 지 오래되어, 이 기술보다 더 좋은 기술이 이미 많이 있다는 점도 있다.

(언젠가 인간형 로봇이 발전하게 된다면 음성을 출력하는 기술로 조음 합성기술을 사용하지 않을까)

 

장점 : 과학으로서의 가치, 음성 합성의 첫 시작이라는 의의

단점 : 장점 빼고 전부 다

점수 : ★☆☆☆☆

 

 

 

 

2. 포먼트 합성 (Formant Synthesis)

포먼트(formant)는 인간 성대의 소리 스펙트럼의 피크 부분들의 집합이다.

간단하게 말하면 주파수 표에서 튀어나와있는 주파수를 말한다. (수학에서 극댓값 느낌)

간단하게 말하면 포먼트 합성은 사람의 음성에서 나타나는 formant정보를 바탕으로 음성을 합성하는 기술이다.

포먼트 합성은 별도의 음성 데이터셋이 필요하지 않지만, 각 음소들이 가지는 포먼트 특징을 바탕으로 직접 음성을 만들어야 한다. 

데이터셋이 필요없다는 점이 좋게 들릴 수도 있지만, 다르게 말하면 직접 캐릭터의 목소리를 음소영역까지 분석을 하고 만들어야 한다는 것이다.

이 기술은 소리관련 전문 지식이 매우 많이 필요할 것으로 보인다. 

 

장점 : 별도의 데이터셋이 필요가 없음

단점 : 소리관련 전문 지식이 필요함

점수 : ★★☆☆☆

 

 

 

 

3. 연결 합성(Unit Selection Synthesis)

간단하게 말하면 연결 합성은 소리를 가장 작은 단위인 음편(Unit)으로 분해해서 저장한 후, 음성 합성을 할 때 저장한 음편을 꺼내와 이어붙여서 소리를 만드는 기술이다.

예시) '공'을 합성하기 위해 'ㄱ'음편, 'ㅗ'음편, 'ㅇ'음편을 합친다.

(여기서의 단위는 음소)

연결 합성의 예시

이 기술은 정확한 단위 길이를 찾는 것이 중요한 기술이다.

단위 길이가 길면 연결지점이 줄어들어 소리가 자연스러워 지지만 메모리의 양이 증가한다는 단점이 있고, 단위 길이가 짧으면 필요한 메모리가 줄어들지만 샘플 수집과 음편 만드는 과정이 복잡해지는 단점이 있다.

현재 사용되는 단위는 단어, 음절, 반음절, 음소 등이 있다.

연결 합성은 잘라둔 말소리를 다시 이어 붙이기만 하기 때문에 음질이 상당히 좋다. 하지만 음편과 음편의 연결 부분에서 왜곡이 일어나 이상한 소리가 날 가능성이 있고, 이론상 가능한 모든 음편을 만들어야 하기에 시간이 많이 걸린다. 

 

장점 : 깔끔한 소리

단점 : 이론상 가능한 음편을 다 만들어야함, 연결 부분에서 불안정, 소리관련 전문 지식이 필요함

점수 : ★★★★☆

 

 

 

 

4. 통계기반 파라미터 합성

통계기반 파라미터 합성은 크게 training part 와 synthesis part로 나뉜다. 

먼저 training part에서는 데이터 셋에서 각 데이터의 excitation parameters와 spectral parameters를 추출한다.

(여기서 parameters는 음성 데이터의 특징이라고 생각하면 된다.)

그리고 통계를 기반으로 모델을 훈련을 시킨다. 

synthesis part에서는 합성을 진행하는 부분이다. 우선 합성을 할 텍스트를 입력받는다. 입력 받은 텍스트의 감정상태, 발화, 높낮이 등을 분석하고 training part에서 만든 모델에 집어넣는다. 모델에서 나온 excitation parameters와 spectral parameters를 바탕으로 음성 합성을 하여 음성을 생성한다.

 

출처 : Statistical Parametric Speech Synthesis Heiga Zena, Keiichi Tokuda, Alan W. Black

이 기술의 특징을 한번 살펴보자.

파라미터만 잘 다룰 줄 안다면 음성 합성결과의 퀄리티가 높게 나온다. 

감정 파라미터가 있기 때문에 음성에 감정을 제어할 수 있고, 연결 합성처럼 이어 붙이는 방법이 아니기 때문에 안정적이다. (연결 합성은 연결 부분에서 불안정 하다.)

연결 합성처럼 음편으로 분해하는 작업이 필요가 없기에 데이터셋 제작이 비교적 편하다.

그리고 데이터 양도 비교적 적게 든다.

하지만 synthesis part에서 음성을 만들어 내는 과정에서 잡음이 발생할 가능성이 있고, 음질이 연결 합성에 비해 낮다는 단점이 있다.

 

이러한 장단점을 이유로 최근까지는 연결 합성과 통계기반 파라미터 합성이 용도, 상황에 맞게 선택되어 사용되었다.

 

장점 : 데이터셋 제작의 편리성(비교적), 파라미터 조절로 원하는 음성 제작가능

단점 : 잡음 발생, 연결 합성에 비해 음질이 낮음, 소리관련 전문 지식이 필요함(파라미터 제어)

점수 : ★★★★☆

 

 

 

 

5. 딥러닝 기반 음성합성

마지막으로 딥러닝 기반 음성합성이다. 

말 그대로 딥러닝을 이용한 음성합성 기술이다. 

 

딥러닝 기반 음성합성의 특징을 한번 알아보자.

데이터셋은 음성, 음성에 맞는 텍스트만 있으면 된다. 

음성 관련 전문 지식이 크게 요구되지 않는다.

좋은 음질의 음성을 만들 수 있다.

데이터셋만 있다면 누구나 만들 수 있다.

학습 기반 기술이기에 학습을 더 많이, 오래 할수록 합성 결과물의 퀄리티가 증가한다.

 

하지만

컴퓨터의 성능이 학습 시간을 결정한다.

학습 기반 기술이기에 학습 초기에는 결과물을 바로 볼 수 없다.(옹알이를 하거나 알아듣기 힘든 결과물이 나옴)

컴퓨터가 힘들어한다(?)

 

장점 : 데이터셋 제작 매우편리(음성+텍스트), 음성 관련 전문 지식 크게 요구x, 음질 좋음(학습 많이 시키면) 

단점 : 컴퓨터의 눈물

점수 : ★★★★★★★★★★

 

 

 

 

지금까지 대표적인 음성 합성 기술 5가지를 알아보았다. 

조음 합성 기술과 포먼트 합성 기술은 너무 오래되었기도 하고

결과물의 퀄리티가 최근 기술에 비해 많이 떨어지므로 탈락.

 

연결 합성과 통계기반 파라미터 합성은 지금도 사용되는 기술이기도 하고, 나쁘지 않은 결과물이 나오지만 문제는 둘 다 음성 합성을 위해서는 음성학적인 접근이 불가피하다는 것이다. (음편으로 쪼개는 작업이라던가 파라미터 조절 등등)

 

그에 반해 딥러닝 기반 음성합성은 데이터셋 제작이 간편하고 음성학적인 접근이 필요가 거의 없다.

학습을 많이하면 많이할수록 퀄리티가 올라간다는 점 또한 마음에 든다.

 

 

따라서 이 프로젝트에서 사용할 음성합성 기술은 '딥러닝 기반 음성합성'으로 정했다.