영어 | 중국어
Microsoft VALL-E X 제로샷 TTS 모델의 오픈 소스 구현입니다.
우리는 연구 또는 애플리케이션 사용을 위해 훈련된 모델을 대중에게 공개합니다.
VALL-E X는 Microsoft가 제안한 놀라운 다국어 TTS(텍스트 음성 변환) 모델입니다. Microsoft는 처음에 연구 논문을 발표했지만 코드나 사전 학습된 모델을 공개하지 않았습니다. 이 기술의 잠재력과 가치를 인식한 우리 팀은 결과를 재현하고 자체 모델을 교육하는 데 도전했습니다. 훈련된 VALL-E X 모델을 커뮤니티와 공유하여 모든 사람이 강력한 차세대 TTS를 경험할 수 있게 되어 기쁘게 생각합니다!
모델에 대한 자세한 내용은 모델 카드에 나와 있습니다.
2023.09.10
2023.08.30
2023.08.23
2023.08.20
2023.08.14
git clone https://github.com/Plachtaa/VALL-E-X.git
cd VALL-E-X
pip install -r requirements.txt
참고: 프롬프트를 표시하려면 ffmpeg를 설치하고 해당 폴더를 환경 변수 PATH에 추가해야 합니다.
프로그램을 처음 실행하면 해당 모델이 자동으로 다운로드됩니다.
다운로드가 실패하고 오류가 보고되는 경우 아래 단계에 따라 모델을 수동으로 다운로드하세요.
(폴더의 대문자 사용에 주의하세요)
설치 디렉터리에 checkpoints
폴더가 있는지 확인하세요. 그렇지 않은 경우 설치 디렉터리에 checkpoints
폴더( ./checkpoints/
)를 수동으로 만듭니다.
checkpoints
폴더에 vallex-checkpoint.pt
파일이 있는지 확인하세요. 그렇지 않은 경우 여기에서 vallex-checkpoint.pt
파일을 수동으로 다운로드하여 checkpoints
폴더에 넣으십시오.
설치 디렉터리에 whisper
폴더가 있는지 확인하세요. 그렇지 않은 경우 설치 디렉터리에 whisper
폴더( ./whisper/
)를 수동으로 생성하세요.
whisper
폴더에 medium.pt
파일이 있는지 확인해보세요. 그렇지 않은 경우 여기에서 medium.pt
파일을 수동으로 다운로드하여 whisper
폴더에 넣으십시오.
아직 로컬 머신에 환경을 설정할 준비가 되지 않으셨나요? 괜찮아요! 온라인 데모를 통해 여러분을 도와드리겠습니다. Hugging Face 또는 Google Colab에서 직접 VALL-E X를 시험해 보면서 모델의 기능을 번거로움 없이 경험할 수 있습니다!
VALL-E X에는 다음과 같은 최첨단 기능이 포함되어 있습니다.
다국어 TTS : 자연스럽고 표현력이 풍부한 음성 합성을 통해 영어, 중국어, 일본어 3개 국어로 이야기합니다.
제로샷 음성 복제 : 보이지 않는 화자의 짧은 3~10초 녹음을 등록하고 VALL-E X가 자신과 똑같은 맞춤형 고품질 음성을 생성하는 것을 지켜보세요!
더 많은 예제를 보려면 데모 페이지를 살펴보세요!
from utils . generation import SAMPLE_RATE , generate_audio , preload_models
from scipy . io . wavfile import write as write_wav
from IPython . display import Audio
# download and load all models
preload_models ()
# generate audio from text
text_prompt = """
Hello, my name is Nose. And uh, and I like hamburger. Hahaha... But I also have other interests such as playing tactic toast.
"""
audio_array = generate_audio ( text_prompt )
# save audio to disk
write_wav ( "vallex_generation.wav" , SAMPLE_RATE , audio_array )
# play text in notebook
Audio ( audio_array , rate = SAMPLE_RATE )
text_prompt = """
チュソクは私のお気に入りの祭りです。 私は数日間休んで、友人や家族との時間を過ごすことができます。
"""
audio_array = generate_audio ( text_prompt )
참고: VALL-E X는 코드 전환 텍스트를 합성할 때에도 악센트를 완벽하게 제어합니다. 그러나 각 문장의 언어를 수동으로 표시해야 합니다(g2p 도구는 규칙 기반이므로).
text_prompt = """
[EN]The Thirty Years' War was a devastating conflict that had a profound impact on Europe.[EN]
[ZH]这是历史的开始。 如果您想听更多,请继续。[ZH]
"""
audio_array = generate_audio ( text_prompt , language = 'mix' )
VALL-E X는 추론에 직접 사용할 수 있는 수십 개의 스피커 음성을 제공합니다! 코드의 모든 음성 찾아보기
VALL-E X는 주어진 프리셋의 톤, 피치, 감정 및 운율을 일치시키려고 노력합니다. 이 모델은 또한 음악, 주변 소음 등을 보존하려고 시도합니다.
text_prompt = """
I am an innocent boy with a smoky voice. It is a great honor for me to speak at the United Nations today.
"""
audio_array = generate_audio ( text_prompt , prompt = "dingzhen" )
VALL-E X는 음성 복제를 지원합니다! 어떤 사람, 캐릭터 또는 자신의 목소리로 음성 안내를 만들고 다른 음성 사전 설정처럼 사용할 수 있습니다.
음성 프롬프트를 만들기 위해서는 3~10초 길이의 음성과 음성 스크립트를 제공해야 합니다. Whisper 모델이 성적표를 생성할 수 있도록 성적표를 비워 둘 수도 있습니다.
VALL-E X는 주어진 프롬프트의 톤, 음조, 감정 및 운율을 일치시키려고 노력합니다. 이 모델은 또한 음악, 주변 소음 등을 보존하려고 시도합니다.
from utils . prompt_making import make_prompt
### Use given transcript
make_prompt ( name = "paimon" , audio_prompt_path = "paimon_prompt.wav" ,
transcript = "Just, what was that? Paimon thought we were gonna get eaten." )
### Alternatively, use whisper
make_prompt ( name = "paimon" , audio_prompt_path = "paimon_prompt.wav" )
이제 방금 만든 프롬프트를 시험해 보겠습니다.
from utils . generation import SAMPLE_RATE , generate_audio , preload_models
from scipy . io . wavfile import write as write_wav
# download and load all models
preload_models ()
text_prompt = """
Hey, Traveler, Listen to this, This machine has taken my voice, and now it can talk just like me!
"""
audio_array = generate_audio ( text_prompt , prompt = "paimon" )
write_wav ( "paimon_cloned.wav" , SAMPLE_RATE , audio_array )
코드가 불편하신가요? 괜찮아요! 또한 VALL-E X를 위한 사용자 친화적인 그래픽 인터페이스를 만들었습니다. 이를 통해 모델과 쉽게 상호 작용할 수 있으므로 음성 복제 및 다국어 음성 합성이 쉬워집니다.
다음 명령을 사용하여 UI를 시작할 수 있습니다.
python -X utf8 launch-ui.py
VALL-E X는 CPU와 GPU( pytorch 2.0+
, CUDA 11.7 및 CUDA 12.0) 모두에서 잘 작동합니다.
6GB의 GPU VRAM은 오프로드 없이 VALL-E X를 실행하기에 충분합니다.
VALL-E X는 EnCodec에 의해 양자화된 오디오 토큰을 예측하여 GPT 스타일로 오디오를 생성하는 Bark, VALL-E 및 AudioLM과 유사합니다.
나무껍질과 비교:
언어 | 상태 |
---|---|
영어(en) | ✅ |
일본어(ja) | ✅ |
중국어, 간체(zh) | ✅ |
wget
사용하여 모델을 ./checkpoints/
디렉토리에 다운로드합니다../checkpoints/
디렉터리에 넣으십시오. .bat
스크립트 VALL-E X가 흥미롭고 유용하다고 생각하시면 GitHub에서 별표를 남겨주세요! ️ 계속해서 모델을 개선하고 흥미로운 기능을 추가하도록 장려합니다.
VALL-E X는 MIT 라이선스에 따라 라이선스가 부여됩니다.
질문이 있거나 도움이 필요하신가요? 자유롭게 이슈를 열거나 Discord에 참여하세요
즐거운 음성 복제 되세요! ?