英語 | 中文
Microsoft VALL-E X 零樣本 TTS 模型的開源實作。
我們向公眾發布經過訓練的模型以供研究或應用程式使用。
VALL-E X 是微軟提出的一個令人驚嘆的多語言文字轉語音 (TTS) 模型。雖然微軟最初在他們的研究論文中發表了這一消息,但他們沒有發布任何程式碼或預訓練模型。認識到這項技術的潛力和價值,我們的團隊接受了重現結果並訓練我們自己的模型的挑戰。我們很高興與社區分享我們訓練的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~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 與 Bark、VALL-E 和 AudioLM 類似,透過預測 EnCodec 量化的音訊標記來產生 GPT 風格的音訊。
與樹皮相比:
語言 | 地位 |
---|---|
英語(en) | ✅ |
日文 (ja) | ✅ |
簡體中文 (zh) | ✅ |
wget
將模型下載到目錄./checkpoints/
中。./checkpoints/
下。 .bat
腳本如果您發現 VALL-E X 有趣且有用,請在 GitHub 上給我們一個 Star! ️ 它鼓勵我們不斷改進模型並添加令人興奮的功能。
VALL-E X 根據 MIT 許可證獲得許可。
有疑問或需要協助嗎?歡迎提問或加入我們的 Discord
快樂的聲音克隆! ?