딥러닝/음성합성

Mels-TTS 정리

moonai 2024. 6. 13. 00:29

논문 제목: MELS-TTS: Multi-emotion Multi-lingual Multi-speaker Text-To-Speech system via disentangled style tokens (2024) 링크

논문 저자: Heegin Choi, Jae-Sung Bae, Joun Yeop Lee, Seongkyu Mun, Jihwan Lee, Hoon-Young Cho, Chanwoo Kim

 

 

 

개요

개인적으로 느껴지기에 음성합성 (speech synthesis, TTS)은 실제 상용 소프트웨어나 서비스에 많이 접목되어 있을 만큼 그 수준이 어느 정도 사람과 같아졌다고 느껴진다. 그러나 아직 공부를 진행하는 학부생이지만, 감정을 전달하는 능력이나 비언어적 요소들을 정말로 사람처럼 표현할 수 있는지에 대해 생각해 보면 완성되지 않았다고 느껴진다. 이번에 살펴볼 논문은 감정을 담아서 음성합성을 한 연구인 Mels-TTS이다.

 

 

 

 

감정을 담아서 발화하는 일부 연구는 A라는 음성에서 감정을 추출하여 B라는 음성에 넣어주는 방식으로 진행되었다. 일반적으로 A의 음성에는 감정이 포함되어 있어야 하며, B라는 음성은 감정이 없는 중립적인 음성이어야 한다. 문제는 A라는 음성에는 감정 뿐만 아니라 화자 자체의 정체성, 언어적 특성(한국어, 영어,...) 그리고 말하는 스타일이 모두 복잡하게 얽혀있는 것이다. 다시 말해 얽힌 정보들 속에서 감정이라는 정보만 추출해 전달하는 것이 연구의 핵심이 되는 것이다. 더 나아가 각 정보들을 분리해 낼 수 있으면 더욱 좋다.

 

 

 

 

모델 소개

Mels-TTS 연구팀은 변형된 tacotron 모델구조와 함께, reference (참조) 음성속에서 얽혀있는 정보들을 분리하여 사용할 수 있는 emotion encoder를 결합한 새로운 모델을 제안한다. 음성 속에 얽혀있는 정보들은 4가지로 분류하였는데 이는 각각 화자의 정체성, 언어적 특성, 감정, 잔여(residual) 정보이다. 추후 추론과정에서는 감정 정보를 나타내는 감정 임베딩을 활용하여 다른 음성의 스타일을 변경할 수 있는 아이디어를 내세웠다.

 

 

 

출처: Mels-TTS

 

 

 

위 그림은 논문에 같이 첨부되어 있는 모델 구조로 Mels-TTS의 학습과정 뿐만 아니라 추론과정(점선)을 모두 나타내고 있다. 중앙을 기준으로 그림의 오른쪽 파트는 Tacotron의 구조와 거의 유사한 모습을 보이며, 왼쪽은 모델에 사용된 reference encoder와 style attention이 사용된 모습을 보인다. Reference encoder는 멜 스펙트로그램을 입력으로 하여 reference 임베딩을 생성하며, 이후 style attention의 Query로 사용된다.

 

 

 

 

Disentangled style tokens

 

  • Emotion token sets: 참조 임베딩에서 오직 감정과 관련된 정보만을 찾아 학습한다. 각 감정마다 임의로 초기화된 임베딩을 갖고 있으며, 정답 멜스펙트로그램의 감정에 기반하여 선택한 임베딩을 사용한다. 위 그림에서는 감정을 '중립', '기쁨', '슬픔', '화남'으로 크게 4개의 카테고리로 분류하여 학습한 것을 보여준다.

 

  • Speaker token: 화자 토큰은 감정 임베딩을 더욱 정확하게 사용하는 것을 목표로 만들어졌다. 음성에서 다양한 정보들이 얽혀있는데, 학습한 감정정보에서 화자의 고유한 음성 정보를 제거하면 더욱 순수한 감정 임베딩만 남겨지게 된다. 예를 들어 화내는 것도 사람마다 느낌이 다를 수 있는데, 사람의 특징을 학습해서 빼버리면 '화남'의 감정만 더 정확하게 뽑아낼 수 있는 것이다.

 

  • Language token: 언어 토큰은 화자 토큰과 마찬가지로 감정 임베딩을 지원한다. 각 나라의 언어마다 갖는 고유한 특성을 제거함으로서 더 정확한 감정 임베딩을 사용할 수 있도록 한다.

 

  • Residual token set: 화자정보와 언어정보를 제거하고 남겨진 비감정적 추가 정보들을 담는다. 주요 정보들을 빼고 남겨진 정보들이라고 볼 수 있으며 추론과정에서는 사용이 되지 않는다.

 

 

 

 

Style attention

Reference(참조) 음성에서 혼합된 정보들을 분리해내기 위해 연구팀은 어텐션 메커니즘을 도입하였다. 어텐션 메커니즘은 현재 query 정보와 유사한 값들을 찾아 가중합을 취하는 방법으로 연산이 되는데, 생각해 보면 혼합되어 있는 정보에서 각 정보들을 추출해 내는데 적절한 선택이었다고 생각된다. 자세한 내용은 아래와 같다.

 

 

 

 

  • $R \in \mathbb{R}^{1 \times d_R}$: 참조음성의 임베딩
  • $T_A \in \mathbb{R}^{N_A \times d_T}$: 참조음성에서 분리된 각 스타일 토큰들 (아래의 것들로 상세 분류)
  • $T_E \in \mathbb{R}^{N_E \times d_T}$: 감정을 나타내는 임베딩 (총 $N_E$ 개의 감정을 분류)
  • $T_S \in \mathbb{R}^{N_S \times d_T}$: 화자를 나타내는 임베딩 (총 $N_S$ 명의 화자를 분류)
  • $T_L \in \mathbb{R}^{N_L \times d_T}$: 언어를 나타내는 임베딩 (총 $N_L$ 개의 언어를 분류)
  • $T_R \in \mathbb{R}^{N_R \times d_T}$: 나머지 정보를 나타내는 임베딩 (총 $N_R$ 개의 나머지 정보를 분류)

 

 

 

 

Mels-TTS 논문에서는 특히, 사용한 데이터셋의 특성에 맞추어 총 4개의 감정을 분류하도록 만들었으며, 각 감정은 '중립', '행복', '슬픔', '분노'이다. 수식으로 말하자면, $N_E=4$ 개의 감정을 분류하였고, 감정 임베딩은 $T_E = \{ T_n, T_h, T_s, T_a \}$ 로 나타낼 수 있다. 각 임베딩과 입력으로 주어지는 참조음성 임베딩을 사용하여 어텐션 연산을 하게 되며, 연구팀은 multi-head attention을 도입하여 더욱 다양한 맥락에서 각 임베딩을 정확하게 학습하고자 하였다. 추론과정에서는 감정 임베딩을 제외한 다른 모든 임베딩은 사용하지 않았다.

 

 

 

 

$$ \text{MultiHead}(R, T_A) = \text{concat}_{i \in [n_h]}[H^{(i)}(R, T_A)]W_O \tag{1}$$

$$ H^{(i)}(R, T_A) = \text{Attention}(RW_Q^{(i)}, T_AW_K^{(i)}, T_AW_V^{(i)}) \tag{2}$$

 

 

 

 

실험 및 결과

학습에 사용된 데이터셋은 AI Hub에서 제공하는 음성 데이터셋으로 총 42명의 화자가 감정을 담아 말하는 230시간 분량으로 구성되어 있다. 영어 음성을 학습시킬 때에는 VCTK 데이터셋을 사용하였으며 이는 108명의 목소리로 녹음된 25시간 분량의 음성 데이터셋이다. 음성 전처리는 모두 24000 sampling rate, 80차원의 멜 스펙트로그램, 1024 window size, 256 hop size를 사용하였다. 그 이외의 자세한 하이퍼라라미터 설정은 논문의 3페이지 좌측 하단에 상세하게 기술되어 있다.

 

 

 

 

실험에서 비교대상으로 선정된 모델은 Label-based TTS (LB), GST, 감정 분류기가 추가된 GST(GST-C)이다. 여느 다른 연구와 마찬가지로 CMOS 점수를 통해 모델의 성능을 평가하였다. 한국어 음성 평가를 진행할 때는 19명의 한국어 원어민이, 영어는 AWS의 Mecahnical Turk 플랫폼을 사용하여 최대 119명의 평가위원이 모집되었다.

 

 

 

출처: Mels-TTS

 

 

 

 

표 1에서 보여주는 것은 영어 음성 데이터셋으로 학습한 것을 기반으로 감정을 포함한 한국어 음성을 생성하는 cross lingually synthesis의 결과이다. 다른 모든 baseline 모델들보다 더 좋은 성능을 보여주었고, 화자 유사도는 GST-C와 0.01점 차이가 났다. 반대로 한국어 음성 데이터셋을 사용하여 학습한 뒤, 감정을 포함한 영어 음성을 생성하는 것도 평가를 진행했으며 표 1과 거의 유사하게 자연스러움과 감정의 유사도 측면에서 가장 높은 점수를 받았다.

 

 

 

 

논문을 읽으면서 가장 흥미로웠던 부분인 바로 여기다. 감정 임베딩을 원본 음성으로부터 얼마나 잘 분리해 내고, 해당 감정을 얼마나 잘 학습하는지 궁금하였다. 여러 가지 정보가 얽힌 style token들이 얼마나 잘 분리되는지 연구팀은 차원 축소기법 중 하나인 T-SNE를 사용하여 보여주었다. 그 결과는 놀라웠다. 아래 왼쪽은 화자, 언어, 나머지 정보를 담당하는 토큰이 없을 때의 결과이고 오른쪽은 4종류의 스타일 토큰을 모두 사용했을 때의 결과이다. 어떠한 overlapping 없이 이러한 결과를 보여주었다는 것이 매우 흥미로웠다.

 

 

 

 

출처: Mels-TTS

 

 

 


 

 

 

 

음성 합성 분야를 공부한 지 오래되지는 않았지만, 늘 감정을 담은 음성합성 emotional tts, expressive tts, style-tts라는 주제에 대한 관심이 많았다. 이번 samsung research 그리고 고려대학교 교수님께서 연구한 결과에서 감정 임베딩을 효과적으로 추출한 모습을 보며, 놀라움을 감출 수 없었다. 임베딩을 기반으로 한 감정 음성합성연구가 많이 있는데, 다른 모델에도 해당 임베딩을 결합하여 실험해보고 싶은 욕구가 많이 든다. 한편으로는 neural tts의 포문을 열었던 Tacotron 모델이 아직 많이 사용되는 것도 놀랍다.

 

 

 

 

생각

  • Tacotron 모델의 단점인 auto-regressive 한 것을 해결한 다른 모델에 접목시킨 결과는 어떨까
  • 스타일 토큰의 차원을 직접 지정하는 것이 모델의 표현력을 제한시킬 수 있을 것 같다.
  • 임베딩을 추출하여 사용하는 다른 연구 (네오사피엔스팀의 style-TTS) 에도 해당 임베딩을 접목해 보면 어떨까

'딥러닝 > 음성합성' 카테고리의 다른 글

Hierarchical TiCa Speaker Encoder 정리  (0) 2024.06.14
Latent Filling 정리  (0) 2024.06.13