본문 바로가기

TTS

Expressive TTS and prosody transfer

중립적 발화(감정 표현이나 개성 표현이 없는 발화)에 대한 합성기의 자연성이 확보된 이후, 감정, 억양 등의 요소를 컨트롤해 좀더 몰입도 있는 합성음을 만들어 오디오북이나 모바일 어플리케이션, 유튜브 컨텐츠 제작 등에 활용하고자 하는 수요가 발생하였다. 본 보고서에서는 이 중 5가지 접근에 대해 비교 분석을 하고자 한다. 이 보고서와 여타 논문에서는 개성표현을 위한 특성으로 프로소디(prosody)와 스타일( style)이라는 단어를 혼용해서 사용한다. 연구에서 사용하는 프로소디 또는 스타일이라는 표현은 주관적 판단의 영역이니만큼 연구자마다 조금씩 편차가 있으므로 논의를 시작하기에 앞서, 프로소디 또는 스타일의 의미를 표명하겠다. 앞으로 이 보고서에서 사용될 프로소디 또는 스타일이라는 용어는 첫번째 소개될 논문의 정의에 따른다.

Definition. Prosody is the variation in speech signals that remains after accounting for variation due to phonetics, speaker identity, and channel effects (i.e. the recording environment).

 

표현이 풍부한 합성음을 만들기 위한 논문들을 소개하기에 앞서 ‘Prosody transfer’ 내지는 ‘style transfer’라고 불리는 태스크(task)합성기태스크를 구분짓을 필요가 있다.

‘Prosody transfer’라는 태스크는 합성기를 사용하되, 원하는 스타일의 참조 발화가 주어진 상황에서, 참조 음원의 스타일을 타겟 화자 (훈련에 사용된 화자로만 합성음을 출력할 수 있다. 참조 음원 화자와 구분해, 합성음의 화자를 타겟 화자라고 한다.)의 목소리로 합성해 내는 태스크이다. , 합성 상황에서 입력으로 텍스트 뿐만 아니라 참조 음원이 주어져야 한다는 점에서 이는 text-to-speech와는 구분되는 태스크라고 할 수 있다. 또한, 이 경우 참조 음원의 텍스트와 합성 음원의 텍스트를 단어나 구 범위에서 조금만 변형할 수 있어 템플렛 합성이라고 표현하고 있다. 이 태스크의 평가 지표는 아래와 같다.

A.     Speaker-robustness: 참조 음원의 화자와 타겟 화자가 달라도 prosody transfer를 할 수 있는가?

B.     Prosody transfer: 참조 음원의 스타일을 얼마나 비슷하게 합성해낼 수 있는가?

C.     Text-perturbance: 참조 음원과 다른 텍스트에 대해서도 잘 합성해낼 수 있는가?

이와 같은 prosody transfer task에 대한 연구가 활발히 이루어지고 있는 이유는, 이 방향의 연구는 unsupervised 방식으로써, DB에 임의의 emotion label을 붙이는 비용 없이도 표현이 풍부한 합성음을 만들어 낼 수 있기 때문이다. 이 이후에 소개될 논문들은 위의 A, B, C 지표들을 개선하려고 노력하며, 특히 ‘global style token’은 다른 연구들과 달리 text-perturbance의 제약이 없는 합성기이다. , 참조 음원 없이, 이에 따른 텍스트 내용의 제약 없어도 발화 스타일을 컨트롤할 수 있다.

 

1.   “Towards End-to-End Prosody Transfer for Expressive Speech Synthesis with Tacotron”

본 연구는 참조 음원이 주어졌을 때, 이 음원의 발화 스타일을 본따 타코트론으로 합성음을 만들기 위한 시도이다. 참조 음원의 프로소디를 요약해 내기 위해 ‘reference encoder’를 도입한다. 본 연구에서는 참조 음원의 길이에 무관하게 시간축이 없는 reference embedding으로 요약하며, 이 접근을 ‘fixed-length reference embedding’이라고 부른다. 이는 후에 [3]에서 참조 음원의 매 프레임마다 reference embedding을 뽑는 ‘variable-length embedding’과 대조되는 접근이다. Reference 음원의 prosody를 임베딩으로 뽑는다는 의미에서 reference embedding이라는 용어와 prosody embedding이라는 용어를 혼용한다. Reference encoder의 구조는 아래 그림 1와 같다.

그림 1. Reference encoder의 구조.

 

6층의 2D 컨볼루션과 batch normalization이 참조 음원으로부터 특성 벡터를 추출하며, 이는 128 hidden unitGRU를 통해 시간 축 정보가 요약된다. 이 때 Final GRU state만 사용하는 것이 fixed-length reference embedding이며 모든 time stepGRU state을 사용하는 것이 variable-length reference embedding이다. 훈련 시에는 Reference 음원이 즉 훈련 음원이다. 이렇게 추출된 reference embeddingspeaker embedding과 마찬가지로 시간 축이 없지만, 그림 2과 같이 text embedding의 길이에 맞춰 시간 축에서 팽창된 후 text embeddingconcatenate되어서 text embedding과 함께 decoder 입력으로 attend된다.

 

그림 2. 다화자 합성기에서  reference embedding 의 사용 .

이 논문에서는 prosody transfer의 객관적 평가를 위해 4가지 지표를 사용한다. Mel cepstral distortion, gross pitch error, voicing decision error, F0 frame error가 그것이다. Mel cepstral distortionK차원의 mel frequency cepstral coefficent를 참조 음원과 L2 distance로 나타낸 것이다. 나머지 평가 지표들은 각각, 유성음 중 피치의 오차율이 원음의 20% 밖에 있는 프레임의 비율, /무성음 결정을 잘못 내린 프레임의 비율, 유성음 중 피치의 오차율이 원음의 20% 밖에 있거나 유/무성음 결정을 잘못 내린 프레임의 비율이다. 지면의 한계로 수식은 생략했다.

또한 주관적 지표로는 AXY 테스트를 제안한다. 이는 참조 음원을 A, 일반 타코트론 합성음을 X, 본 논문에서 제안한 합성음을 Y라고 할 때, X A와 비슷하다면 -3, 선호가 없다면 0, YA와 비슷하다면 +31점 스케일 점수로 평가하는 것이다. 본 논문에서는 single speaker TTS, multi-speaker TTS에 대해, 같은 DB로 훈련한 타코트론을 베이스라인으로 두고 동일 스피커(단일 화자 TTS의 경우), 훈련 중 본 적이 있는 참조 화자와 본 적 없는 참조 화자(seen/unseen reference speaker)에 대해 MCD, FFE, AXY 스코어를 조사한 결과 아래의 표 1와 같이 나타났다. Baseline과 대조하여 제안된 모델을 ‘Tanh-128’로 적은 것은, reference embedding의 디멘전이 128 디멘전이고 activation functiontanh일 때 제안된 모델의 성능이 가장 좋았기 때문이다.

표 1. Tacotron  대비  Global style token 의   개관 ,  주관적   평가 .

l  Text perturbation

Reference embeddingGRU가 사용되어 temporal dynamics가 인코딩되어있기 때문에 reference 음원과 길이가 많이 다르거나, 문장 구조가 많이 다른 텍스트에는 prosody transfer를 적용하기가 어렵다. 이를 극복하기 위해 globl style token 논문이 제안된다[2]. 본 논문의 연구는 템플렛이 있는 대화를 원하는 프로소디로 합성하는 데 쓰일 수 있다.

 

l  Preservation of speaker identity

데모 샘플을 통해 타겟 화자의 액센트와 성도 특성이 보존되었다고 주장한다. 그러나 prosody transfer 시에 음의 높낮이가 절대적으로 transfer되기 때문에, reference 음원의 화자와 타겟 화자의 성별이 다른 경우에, reference 음원의 높이를 절대적으로 따라하기 때문에, 타겟화자의 실제 음역대를 벗어난 합성음이 만들어지는 한계가 있다. Reference encoder와 동일한 구조로 speaker identifier를 만들어 평가한 결과, Mel spectrogram을 특성벡터로 사용하는 speaker identifier의 경우 61 % reference 화자로 인식하였고, 21 %가 타겟 화자로 인식하였다. (원래는 100% 타겟 화자로 인식해야 이상적인 것이다.) 또한 피치 정보가 없는 MFCC를 특성 벡터로 사용하여 speaker identification을 한 결과 41 %reference 화자로 인식하고 32 %가 타겟 화자로 인식하여 절대적으로 참조 음원의 피치를 transfer하는 특성에 의해 낮은 타겟화자 인식률이 나왔음을 증명했다.

 


 

 

2.   Style Tokens: Unsupervised Style Modeling, Control and Transfer in End-to-End Speech Synthesis

 

그림 3. Global style token 의 훈련과 사용.

l  목적

본 논문은 위의 prosody transfer 연구가 갖는 제약(합성 시 참조 음원을 제시해야만 한다. 참조 음원과 문장의 구조가 비슷한 텍스트만 합성할 수 있다)을 해결하되, DB에 감정이나 스타일 레이블을 다는 비용 없이 훈련하는 unsupervised traning의 장점을 그대로 가져가고자 하는 연구이다. 뿐만 아니라, 입력에 참조 음원을 제시하기로 선택한 경우에 한해 prosody transfer task로도 활용될 수 있다.

 

l  훈련

위의 1번 논문에서 제안한 ‘fixed-length reference embedding’global style tokens weighted sum으로 표현한 것을 style embedding이라 부를 것을 제안하고 있다. Reference embedding global style tokenweighted sum으로 표현하기 위한 방법은 내적에 의한 multi-head content-based attention 이 사용되었다. , Reference embeddingfactorize하기 위한 basis vector로서 style token들이 훈련된다. style token을 훈련하기 위해 별도의 절차나 제약을 두지 않으며, 출력된 mel spectrogramconstruction loss에 의해서 다른 모든 파라미터들과 함께 동시에 훈련된다. 이 설명은 그림 3의 Training 과정에 해당한다. Global style token “global”이 들어가는 이유는 다음과 같다. ‘style embedding’은 특정 문장의 스타일을 나타내는 임베딩이지만 ‘style token’들은 universal하게 훈련 DB에 있는 모든 특성들을 표현하는 basis vector가 되고, 훈련 DB 내 모든 문장의 스타일의 구성 요소라는 의미에서 ‘global’ style token이라고 한다

 

l  합성 방법 1.

참조 음원 없이 스타일을 컨트롤하는 방법은, 다음과 같다. 이는 그림 3의 Inference의 오른쪽 절반에 해당한다.

A.     훈련이 끝난 뒤, Style token들의 weight을 바꿔가며, token들이 어떤 특성을 학습했는지를 귀납적으로 확인한다.

l  ) 1번 토큰은 에너지 특성, 2번 토큰은 빠르기 특성이 학습되었다.

B.     합성 시에 style tokenweight을 임의로 조절하여 참조 음원 없이도 발화 스타일을 조절할 수 있다.

l  합성 방법 2.

서두에 언급하였듯, 참조 음원이 있을 경우 style transfer로도 활용이 가능하다. 이는 그림 3의 Inference의 왼쪽 절반에 해당한다.

A.    참조 음원으로부터 reference embedding이 뽑힌다.

B.    Reference embeddingstyle embedding으로 factorize된다.

참조 음원을 제시하는 방법과 style token weight을 조절하는 방법 중 어느것을 택하든, decoderstyle embedding을 입력하는 방법은 동일하다. 1번 논문에서 reference embedding을 시간축으로 팽창시켜 text embedding concatenate하여 decoder 입력으로 사용한 것과 마찬가지 방법으로 style embedding decoder 입력으로 사용한다

l  평가 방법

평가 방법 측면에서는 위의 [1] 논문에 더 잘 설명되어 있기 때문에 생략한다.

 

3. Pitchtron: Towards audiobook generation from ordinary people's voices

지금까지 언급한 모든 논문들은 stylish한 합성음을 만들기 위해 stylish한 DB가 필요하다. 성우가 읽은 오디오북 DB의 라이센스를 대량으로 구매하지 않았다면 실제 상업화나 연구에 사용할 수가 없는 모델들이다. 하지만 2020 Interspeech에 제출된 Pitchtron은 일반인이 말한 음성으로 다화자 TTS를 훈련해, 성우의 발화 스타일로 합성을 할 수 있다. 특히 Hard pitchtron의 경우 일반인 화자 남녀노소가 본인의 음색과 음역대로, 성우의 스타일과 정확히 일치하게 합성음을 만들어낼 수 있다. 그 결과 일반적인 대화체의 화자로 경상도, 전라도 사투리, 기쁨/분노/슬픔의 감정을 합성한다.

 

합성음 샘플: http://sunghee.kaist.ac.kr/entry/pitchtron

논문: https://arxiv.org/abs/2005.10456

소스코드: https://github.com/hash2430/pitchtron/

 

hash2430/pitchtron

한국어 사투리 합성기. Korean dialect prosody transfer. TTS for pitch-accented language - hash2430/pitchtron

github.com

 

4. References

[1] R. Skerry-Ryan et al., “Towards End-to-End Prosody Transfer for Expressive Speech Synthesis with Tacotron,” 2018.

[2] Y. Wang et al., “Style Tokens: Unsupervised Style Modeling, Control and Transfer in End-to-End Speech Synthesis,” vol. 1, 2018.

[3] S. Jung and H. Kim, “Pitchtron : Towards audiobook generation from ordinary people ’ s voices.”, 2020

[4] Y. Lee and T. Kim, “Robust and fine-grained prosody control of end-to-end speech synthesis,” 2018.