Coqui TTS 주요 기능 — Python API와 명령줄 합성

Coqui TTS 주요 기능

Coqui TTS는 Python API와 명령줄(tts) 두 길로 음성을 합성할 수 있어요. 모델 이름을 알고 있으면 어느 쪽이든 몇 줄이면 끝나요.

출처: https://docs.coqui.ai/en/latest/

모델 목록 보기

print(TTS().list_models())

단일 화자 모델로 합성

특정 모델 이름을 정해 초기화하고 텍스트를 파일로 저장해요.

tts = TTS(model_name="tts_models/de/thorsten/tacotron2-DDC", progress_bar=False).to(device)
tts.tts_to_file(text="Ich bin eine Testnachricht.", file_path=OUTPUT_PATH)

음성 변환 (Voice Conversion)

source_wav의 목소리를 target_wav의 목소리로 바꿔요.

tts = TTS(model_name="voice_conversion_models/multilingual/vctk/freevc24", progress_bar=False).to("cuda")
tts.voice_conversion_to_file(source_wav="my/source.wav", target_wav="my/target.wav", file_path="output.wav")

클로닝 + 변환 결합

tts = TTS("tts_models/de/thorsten/tacotron2-DDC")
tts.tts_with_vc_to_file(
    "Wie sage ich auf Italienisch, dass ich dich liebe?",
    speaker_wav="target/speaker.wav",
    file_path="output.wav"
)

약 1100개 언어의 Fairseq 모델

Fairseq 모델은 tts_models/<lang-iso_code>/fairseq/vits 형태의 이름을 써요. 언어 ISO 코드는 all-tts-languages에서 확인할 수 있어요.

명령줄 사용

모델을 지정하지 않으면 LJSpeech 기반 영어 모델을 써요.

tts --list_models
tts --model_info_by_name tts_models/tr/common-voice/glow-tts
tts --model_info_by_name vocoder_models/en/ljspeech/hifigan_v2

Docker로 서버 띄우기

docker run --rm -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu
python3 TTS/server/server.py --list_models
python3 TTS/server/server.py --model_name tts_models/en/vctk/vits

더 알아보기