개요
인공지능 모델 운영사 MyShell.ai에서 배포하는 TTS 프레임워크 OpenVoice v2 사용법을 소개합니다. 모델을 설치하고 사용할 환경은 Ubuntu 22.04.3 LTS 입니다.
준비 : anaconda 설치
아래 블로그 글을 참고하세요. anaconda를 이미 설치하셨으면 다음 단계로 넘어가 주세요.
이후 단계는 anaconda 가 정상적으로 wsl 에 설치되었음을 가정합니다.
가상환경 설정 및 활성화
conda create -n openvoice python=3.9
conda activate openvoice
OpenVoice 다운로드 및 적용
git clone https://github.com/myshell-ai/OpenVoice.git
cd OpenVoice
pip install -e .
필요한 패키지 다운로드
unzip 및 ffmpeg가 설치안되어 있다면 설치해 주세요.
sudo apt install unzip
sudo apt install ffmpeg
OpenVoice V1을 사용하고자 하는 경우
체크포인트 다운로드, 압축 풀기
아래와 같이 unzip 라이브러리가 이 없는 경우 설치해 주세요. 추후 테스트 시 필요한 ffmpeg 라이브러리도 설치해 주세요.
wget https://myshell-public-repo-host.s3.amazonaws.com/openvoice/checkpoints_1226.zip
unzip checkpoints_1226.zip
rm checkpoints_1226.zip
아래 소스 코드를 참고해서 테스트 해주세요.
OpenVoice V2을 사용하고자 하는 경우
체크포인트 다운로드, 압축 풀기
wget https://myshell-public-repo-host.s3.amazonaws.com/openvoice/checkpoints_v2_0417.zip
unzip checkpoints_v2_0417.zip
rm checkpoints_v2_0417.zip
추가로 MeloTTS를 설치해 주세요.
pip install git+https://github.com/myshell-ai/MeloTTS.git
python -m unidic download
아래 소스코드로 테스트 가능합니다.
참고 : demo_part3.ipynb 실행 시 발생하는 keyError LookupError .. 해결
예제 demo_part3.ipynb 마지막 블럭 실행 시 에러가 발생합니다.
tests 객체 내 EN* 항목을 모두 주석 처리 후 다시 실행시켜 주세요.
from melo.api import TTS
texts = {
# 'EN_NEWEST': "Did you ever hear a folk tale about a giant turtle?", # The newest English base speaker model
# 'EN': "Did you ever hear a folk tale about a giant turtle?",
'ES': "El resplandor del sol acaricia las olas, pintando el cielo con una paleta deslumbrante.",
'FR': "La lueur dorée du soleil caresse les vagues, peignant le ciel d'une palette éblouissante.",
'ZH': "在这次vacation中,我们计划去Paris欣赏埃菲尔铁塔和卢浮宫的美景。",
'JP': "彼は毎朝ジョギングをして体を健康に保っています。",
'KR': "안녕하세요! 오늘은 날씨가 정말 좋네요.",
}
참고 : demo_part3.ipynb 커널 충돌 오류 발생 시 (CUDA 사용)
주의
demo_part3.ipynb 는 CUDA 사용을 전제합니다.
vad 값을 True로 바꾸어 주세요.
target_se, audio_name = se_extractor.get_se(reference_speaker, tone_color_converter, vad=True)
참고 : demo_part3.ipynb cpu만 사용하기
openvoice/se_extractor.py 22줄을 주석처리하고 아래와 같이 한 줄을 추가해 주세요.
if model is None:
# model = WhisperModel(model_size, device="cuda", compute_type="float16")
model = WhisperModel(model_size, device="cpu", compute_type="float32")
참고 : vscode ipynb 파일 실행하기
vscode 에서 ipynb 테스트 파일을 실행할 때, 아래와 같이 에러가 발생할 수 있습니다. (커널을 openvoice로 설정했음에도 )
ipykernel 을 설치해야 합니다. vscode를 완전히 종료 후 다시 열어보세요.
그런 다음 다시 명령을 실행해 보세요. 자동으로 ipykernel 패키지를 설치할 것인지 묻습니다. 설치해주세요.
설치가 완료되면 정상적으로 실행됨을 확인할 수 있습니다.
참고 자료
'소프트웨어 & 클라우드' 카테고리의 다른 글
[Packet Tracer] 패킷 트레이서 다운로드 방법 (3) | 2024.10.20 |
---|---|
[Packet Tracer] 패킷 트레이서 404 로그인 오류 해결 방법 (5) | 2024.10.13 |
[Windows] WSL openSSH 사용하여 ssh 원격 접속 허용하기 (0) | 2024.09.28 |
[Docusaurus] sidebar 숨기기 (0) | 2024.09.28 |
[Docusaurus] image zoom in and out image 플러그인 적용 (docusaurus-plugin-zooming) (1) | 2024.09.28 |