AI 탐구노트

F5-TTS : 흐름 매칭을 이용한 유창한 TTS 모델 본문

AI 기술

F5-TTS : 흐름 매칭을 이용한 유창한 TTS 모델

42morrow 2024. 10. 16. 12:14

 

 

 

F5-TTS는 빠르고 자연스러운 음성을 만들어 내는 텍스트-음성 변환 (TTS) 모델입니다. 이를 위해 흐름 매칭을 기반으로 빠르고 정확한 비자기회귀 방식을 적용하고 있습니다. 

 

기존의 TTS(텍스트-음성 변환) 모델들은 텍스트와 음성을 연결하기 위해 발음의 길이(지속 시간)를 예측하거나, 음소(소리의 기본 단위)를 하나하나 정렬하는 복잡한 과정이 필요했고, 이런 과정들은 모델을 느리게 만들고, 오류가 발생할 가능성도 높였습니다. F5-TTS 이전에 공개된 E2-TTS 모델의 경우, 복잡한 구조를 없애고 단순한 설계를 적용했지만, 텍스트와 음성을 정확하게 맞추지 못해 음성 품질이 떨어지는 문제가 있었습니다. 

 

F5-TTS는 ConvNeXt라는 기술을 사용해 텍스트와 음성을 더 쉽게 맞추고, 새로운 샘플링 방법(Sway Sampling)으로 더 빠르고 정확하게 음성을 만들어냅니다.

 

사진 : F5-TTS의 학습(왼쪽), 추론(오른쪽) 방식에 대한 개요

 

 

위의 그림에서 먼저 왼쪽 학습 파이프라인 구조를 보면, 텍스트를 입력 받아 음성으로 바꾸는 과정을 보여주고 있는데, 이 과정에서 텍스트는 음성과 같은 길이로 맞춰지고 ConvNeXt 기술을 이용해 정리된 후 음성 데이터와 결합됩니다. 오른 쪽 추론 과정에서는 Sway Sampling이라는 방법을 통해 더 빠르고 자연스럽게 음성을 생성합니다. 

 

  • ConvNeXt는 주로 이미지 분석이나 텍스트 데이터를 처리할 때 사용되는데, 여기서는 텍스트를 깔끔하게 정리해주는 역할을 합니다. 즉, 음성으로 변환 전에 텍스트의 흐름이나 길이를 더 잘 파악해 음성과 연결할 때 자연스럽게 이어지도록 해 줍니다.
  • Sway Sampling은 음성을 생성할 때 순차적으로 하는 대신 더 중요한 부분을 먼저 처리하도록 함으로써, 시간을 절약하고 자연스러움, 정확성 등을 높일 수 있도록 한 방식이라고 합니다. 

 

정리해 보면 F5-TTS 모델의 특징은 다음과 같이 정리할 수 있겠습니다. 

  • 비자기회귀(non-Auto regressive) 방식으로 빠른 추론, 빠른 훈련을 지원
  • Zero-shot 음성 생성, 다국어 코드 스위칭에 강점이 있음 (공개된 버전은 영어, 중국어에 특화...)
  • ConvNeXt로 텍스트와 음성의 자연스런 정렬 지원
  • Sway Sampling으로 추론 시간 절감하면서도 음성 품질을 유지 지원
  • 복잡한 음소 정렬 없이 텍스트 입력만으로 자연스럽고 유창한 음성 생성 가능

 

 

 

참고) 논문, 코드(깃헙), 음성데모, 데모(HuggingFace)