캐릭터가 음성을 표현할 수 있도록... TTS(Text to Speech) 를 추가하려고한다.

 

 

 

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

 

coqui/XTTS-v2 · Hugging Face

ⓍTTS ⓍTTS is a Voice generation model that lets you clone voices into different languages by using just a quick 6-second audio clip. There is no need for an excessive amount of training data that spans countless hours. This is the same or similar model

huggingface.co

한국어 지원되는 오픈소스인데, 상용으로 사용하지않을꺼면 무난하게 쓸수있을것 같다.

 

 

우선 TTS를 쓰기위해서 라이브러리를 설치해야한다. 

 

pip install TTS soundfile

 

 

 

뭘 막설치한다 ..

 

from TTS.api import TTS
//gpu없는데 gpu=True 라니..
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2", gpu=True) 

# generate speech by cloning a voice using default settings
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.",
                file_path="output.wav",
                speaker_wav="/path/to/target/speaker.wav",  // 내목소리를 추출해서 생성하라니!
                language="en")  //영어라니...

메뉴얼에 이렇게 작성하라고 나온다. 

 

문제는 난 MacOS 사용자니깐 gpu는 없다...

그리고 "speaker_wav" 구간은 샘플 목소리를 넣어서 반영하도록 wav파일을 넣으라는거라고 한다. 

마지막으로 난 한국어가 필요하다. 

 

그래서 지피티는 ..

from TTS.api import TTS

def main():
    # GPU 대신 CPU 사용
    tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to("cpu")

    # 테스트 문장 (원하는 걸로 바꿔도 됨)
    text = "안녕하세요. 엑스 티 티 에스 브이투 테스트 중입니다."

    # 기본 목소리로 음성 파일 생성 (목소리 클론 X)
    tts.tts_to_file(
        text=text,
        file_path="xtts_test.wav",
        language="ko",   # 한국어니까 ko
    )

    print("완료: xtts_test.wav 생성됨")

if __name__ == "__main__":
    main()

요렇게 테스트를 하도록 권유했다. 

 

 

이제 실행하면 테스트 파일이 만들어질꺼라고함. 

 

파일명은 tts_xtts_test.py로 만들었음.

 

python tts_xtts_test.py

파일경로로 가서 실행해봤따.

대충 라이센트는 Coqui 코키?... 에게있고, 상용화해서 안쓸거라고 동의하면 y누르라고한다ㅏ.

 

난 Y눌렀다. 어차피 팀프로젝트용으로 쓸꺼니깐 .

 

 

근데.

\

누가봐도 에러잖앙?

 

멀티스피커 모델이라서, 스피커를 찾을수없댄다..

근데... 아까 지피티가 "speaker_wav" 요거 삭제했기때문에 에러인듯..

 

내 목소리를 샘플로 wav파일로 올려주거나...

이모델자체에 샘플이 있으니 그걸쓰면될듯.

 

여자 애니메이션 캐릭인데,,, 구질구질한 내목소리가 나오면...극혐이지않을까..

 

기본모델로 쓰도록 지피티가 답을 줬다.

 

from TTS.api import TTS

def main():
    tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to("cpu")

    print("가능한 화자 목록:", tts.speakers)

    text = "안녕하세요. 기본 화자로 테스트합니다."

    # 예시로, 첫 번째 화자를 사용
    speaker_id = tts.speakers[0]

    tts.tts_to_file(
        text=text,
        file_path="xtts_test.wav",
        speaker=speaker_id,
        language="ko",
    )

    print("완료: xtts_test.wav 생성됨")

if __name__ == "__main__":
    main()

 

 

 

그런모델 없자자나 이놈의 지피티야

 

 

.......

XTTS-v2는 목소리를 학습시켜서.. AI로 송출하는녀석인걸로.... 

이번포스팅은 실패다..

 

+ Recent posts