타입캐스트와 같은 voice 생성 서비스가 많다. 이러한 서비스는 회사이기 때문에 tts(text-to-speech) 기능을 유료로 제공하는 경우가 많은데, xtts를 사용하면 code로 무료로 원하는 목소리를 생성할 수 있다.
How To:
1. 코랩에 접속한다.
2. 새노트를 생성한다.
3. xtts서비스 사용을 위해 TTS 모듈을 다운받는다.
#셀에 추가
!pip install TTS
4. 설치가 완료되면 세션을 재시작하라는 문구가 나올 것이다. 세션을 재시작하고 아래의 코드를 실행한다.
import torch
from TTS.api import TTS
# Get device
device = "cuda" if torch.cuda.is_available() else "cpu"
# List available 🐸TTS models
print(TTS().list_models())
이렇게 하면 xtts에서 사용가능한 모델 이름이 쫙 나올 것이다.
5. 아래의 코드를 실행한다.
# Run TTS
# ❗ Since this model is multi-lingual voice cloning model, we must set the target speaker_wav and language
# Text to speech list of amplitude values as output
wav = tts.tts(text="Hello world!", speaker_wav="my/cloning/audio.wav", language="en") #wav파일을 생성하여 sample_rate=22050으로 torchaudio.save를 사용해 저장할 수 있다.
# Text to speech to a file(넣고 싶은 텍스트, 복제하고 싶은 목소리의 audio파일의 경로, 언어 설정(한국어 지원), output의 경로)
tts.tts_to_file(text="Hello world!", speaker_wav="my/cloning/audio.wav", language="en", file_path="output.wav")
이렇게 하면 output.wav가 지정한 경로에 생길 것이다. 여기서 꿀팁을 주자면 speaker_wav가 길면 길 수록
output.wav의 퀄리티도 좋아진다. (어떤 voice cloning model을 거치는 듯하다.)
이렇게 나만의 목소리를 인공지능을 활용해서 생성하는 방법을 알아봤다.
필자같은 경우는 최애의 아이의 아이, re:zero의 에밀리아의 목소리의 주인공인
타카하시 리에성우의 목소리를 생성해봤는데
목소리 총 길이 2분 정도의 데이터를 모아서 (열심히 녹음하고 붙였다) speaker_wav의 input으로 넣은 뒤에 생성해보았는데 잘 생성되는 것을 확인할 수 있었다.
'클라우드 > colab' 카테고리의 다른 글
Colab으로 자신만의 stable diffusion model구현하여 이미지 생성하기 (0) | 2024.06.20 |
---|---|
Colab을 이용해 인공지능을 개발해보자!-3편: PyTorch 텐서 조작하기 (0) | 2024.05.23 |
Colab을 이용해 인공지능을 개발해보자!-2편: PyTorch란? (0) | 2024.05.23 |
Colab을 이용해 인공지능을 개발해보자!-1편: Colab이란? (0) | 2024.05.15 |