XTTS-v2 — 6초 클립으로 17개 언어 음성 클로닝

XTTS-v2

XTTS(ⓍTTS)는 짧은 6초 오디오 클립만으로 목소리를 클론해 여러 언어로 말하게 하는 음성 생성 모델이에요. 수많은 시간의 학습 데이터가 필요 없고, Coqui Studio와 Coqui API를 지탱하는 것과 동일하거나 유사한 모델이에요.

출처: https://huggingface.co/coqui/XTTS-v2

기능

  • 17개 언어 지원
  • 6초 오디오 클립만으로 음성 클로닝
  • 클로닝으로 감정·스타일 전이
  • 교차 언어 음성 클로닝
  • 다중 언어 음성 생성
  • 24kHz 샘플링 레이트

XTTS-v1 대비 업데이트

  • 헝가리어, 한국어 두 언어 추가
  • 화자 컨디셔닝(speaker conditioning) 아키텍처 개선
  • 여러 화자 참조·화자 간 보간(interpolation) 지원
  • 안정성 개선
  • 전반적인 운율·오디오 품질 향상

지원 언어

17개 언어: English (en), Spanish (es), French (fr), German (de), Italian (it), Portuguese (pt), Polish (pl), Turkish (tr), Russian (ru), Dutch (nl), Czech (cs), Arabic (ar), Chinese (zh-cn), Japanese (ja), Hungarian (hu), Korean (ko) Hindi (hi)

Python API로 클로닝

from TTS.api import TTS

tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2", gpu=True)

tts.tts_to_file(text="It took me quite a long time to develop a voice, and now that I have it I'm not going to be silent.",
                speaker_wav="/path/to/target/speaker.wav",
                language="en")

명령줄로 클로닝

tts --model_name tts_models/multilingual/multi-dataset/xtts_v2     --text "Bugün okula gitmek istemiyorum."     --speaker_wav /path/to/target/speaker.wav     --language_idx tr     --use_cuda true

모델 직접 사용

from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts

config = XttsConfig()
config.load_json("/path/to/xtts/config.json")
model = Xtts.init_from_config(config)
model.load_checkpoint(config, checkpoint_dir="/path/to/xtts/", eval=True)
model.cuda()

outputs = model.synthesize(
    "It took me quite a long time to develop a voice and now that I have it I am not going to be silent.",
    config,
    speaker_wav="/data/TTS-public/_refclips/3.wav",
    gpt_cond_len=3,
    language="en",
)

라이선스

이 모델은 **Coqui Public Model License(CPML)**로 배포돼요. 생성 모델 라이선스에 대한 자세한 배경은 CPML 블로그에서 확인할 수 있어요.

더 알아보기