본문 바로가기
AI/음성(Speech)

[음성딥러닝] 고전적인 음성합성 모델① : Unit-Selection speech synthesis

by Hyen4110 2022. 2. 26.

최근에는 음성합성 분야에서 End-to-End 딥러닝 모델들이 많이 등장하고, 좋은 성능을 기록하고 있습니다. 

그 이전 단계의 음성합성 분야에서는 어떤 모델들이 많이 쓰였는지 살펴보도록 하겠습니다. 

 

https://www.youtube.com/watch?v=m2A9g6Xu91I

 

1) Unit-Selection speech synthesis [1]

- concatenative synthesis의 한 유형 

- 작은 단위로 이루어진 사전 녹음된 waveform들을 붙여서 전체를 완성

- 딥러닝 기반 End-to-End 모델 등장 이전 대세를 이루던 방법론 

<관련 논문>

1) A. J. Hunt and A. W. Black, “Unit selection in a concatenative speech synthesis system using a large speech database,” in Proc. ICASSP, 1996, pp. 373–376.
2)  A. W. Black and P. Taylor, “Automatically clustering similar units for unit selection in speech synthesis,” in Proc. Eurospeech, September 1997, pp. 601–604.

https://machinelearning.apple.com/research/siri-voices

 

충분한 양의 고품질 음성 데이터가 있다면 높은  품질이 가능하다. 반면 parametric synthesis는 지능적이고 유창한 음성을 제공할수 있지만, 전반적인 품질이 낮다는 단점이 있다. 따라서, parametric synthesis는 코퍼스가 작을때 주로 사용된다. 

딥러닝 음성합성 이저에는 이 두가지 접근법의 장점을 결합하여  하이브리드 방법으로 진행하고 있다. 하이브리드 unit selection 방법은 고전적인 unit selection 방법과 유사하지만, 어떠한 unit이 선택될지 예측할때에 parametric 접근법을 사용한다. 

최근에는 은닉마르코프모델(Hidden Markob models, HMMs)와 같은 딥러닝이 음성 기술 분야에서 추진력을 얻고 있으며 전통적인 접근법을 크게 능가하고 있다. parmateric synthesis는 딥러닝 기술로부터 큰 유익을 얻고있다. 또한 딥러닝은 완전히 음성 합성분야에서 직접 waveform을 모델링하는 WaveNet과 같은 새로운 접근법을 가능하게 하고 있다. WaveNet은 unit selection의 고품질과 parametric synthesis의 유창함(flexibility)를 모두 제공할 수있는 잠재력을 가지고 있다. 그러나 컴퓨터 연산비용이 너무 높기 떄문에 생산 시스템 단계에서는 적절하지않습니다.

- Siri 
개인비서를 위한 높은 품질의 음성합성을 구축하는 것은 쉬운 일이 아닙니다. 첫번째 단계는 상쾌하고, 이해하기 쉽고, Siri의 인격과도 잘 맞는 전문적인 음성 연기자를 찾아야 합니다. 

첫째로, 사람의 음성의 다양성을 담기 위해서는, 우리는 전문 스튜디오에서 10-20 시간 분량의 음성을 녹음해야합니다. 녹음 대본은 오디오북부터 네비게이션 안내, 재치있는 농담에 대한 적절한 답변까지 다양합니다. 전형적으로 이런 자연적인 음성은 녹음된 그대로 쓰일 수는 없습니다. 매번 Siri가 대답할만한 모든 발화를 녹음하는 것은 불가능하기 때문입니다. 

따라서, unit selection 음성합성은 녹음된 음성을 half-phones과 같이 기본적인 요소로 자르고, 입력된 텍스트에 따라 재조합하여 완전히 새로운 음성을 만들어냅니다. 

실제적으로, 적절한 phone 세그먼트(segment)를 선택하고 그것을 합치는것은 쉽지 않습니다. 왜냐하면, 각 phone이 가지고 있는  음향 특성은 이웃하고 있는 phone과 음성의 운율에 의존하기 때문입니다. 이 때문에 음성 조각들은 서로 어울리지 않기도 합니다. 그림1은 half-phones으로 세분화된(semented) 음성 데이터베이스로를 사용하여 음성을 합성하는지를 보여주는 그림입니다. 

선으로 구분된 음성 조각(segment)들은 1개 이상의 half-phone을 포함하는 데이터베이스로부터 온 음성 조각들의 연속입니다. 

 

unit selection 음성합성의 근본적인 문제는 듣기에 거북하지 않도록 조각들을 합친다는 조건하에 입력된 텍스트를 만족하는 일련의 조각(units) 들을 찾고 목표하는 운율을 내야한다는 것입니다. 전통적으로 이 프로세스는 2개의 파트로 나누어져있습니다. front-end와 back-end입니다. (그림2)

현대 시스템에서는 경계가 사실 모호하긴 합니다. front-end의 목표는 입력된 텍스트에 근거해서 음성표기(phonetic transcription)와 운율정보(prosodic information)을 제공해야한다는 것입니다. 이것은 숫자나 약어와 같은 원본 텍스트를 정규화해서 단어를 기록하고 음성표기를 할당하고, 텍스트에서 구문, 음절, 단어, 강세 및 구문 관련 정보를 구문 분석합니다. fron-ent는 언어에 아주 의존적입니다. 

 

 

텍스트분석 모듈에 의해서 생성된 상징적인 언어표현을 사용해서 운율 생성 모듈은 억양과 지속시간과 같은 음향적인 특성에 대한 값을 예측합니다. 이러한 값들은 적절한 unit을 선택하는데 사용됩니다. unit selection 과제는 아주 복잡하기 때문에 현대의 음성합성 시스템은 텍스트와 음성간의 일치 여부를 학습할 수있는 머신러닝을 사용하고 처음보는 텍스트의 특성값 들로부터 음성 특성 값을 예측합니다. 

이 모델은 많은 양의 텍스트와 음성 데이터를 사용해서 합성기의 훈련단계에서 반드시 학습되어야합니다. 운율 모델(prosody)의 입력값은

https://machinelearning.apple.com/research/siri-voices

 

 

2) Statistical parametric speech synthesis(SPSS) [2]

 

<참고문헌>

- https://machinelearning.apple.com/research/siri-voices

 

 

 

 

 

 

'AI > 음성(Speech)' 카테고리의 다른 글

[음성 기초] Vocoder (보코더)  (0) 2022.03.02

댓글