英语 | 中文
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
快乐的声音克隆! ?