английский | 中文
Реализация с открытым исходным кодом модели TTS с нулевым выстрелом Microsoft VALL-E X.
Мы публикуем нашу обученную модель для использования в исследованиях или приложениях.
VALL-E X — это удивительная многоязычная модель преобразования текста в речь (TTS), предложенная Microsoft. Хотя Microsoft первоначально опубликовала свою исследовательскую работу, они не опубликовали никакого кода или предварительно обученных моделей. Признавая потенциал и ценность этой технологии, наша команда взяла на себя задачу воспроизвести результаты и обучить нашу собственную модель. Мы рады поделиться с сообществом нашей обученной моделью VALL-E X, позволяя каждому ощутить мощь TTS нового поколения!
Более подробная информация о модели представлена в карточке модели.
2023.09.10
2023.08.30
2023.08.23
20.08.2023
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
.
Вы еще не готовы настроить среду на своем локальном компьютере? Без проблем! Мы предоставим вам наши онлайн-демоверсии. Вы можете опробовать VALL-E X прямо в Hugging Face или Google Colab и без проблем ощутить возможности модели!
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. Он позволяет вам легко взаимодействовать с моделью, упрощая клонирование голоса и многоязычный синтез речи.
Вы можете запустить пользовательский интерфейс с помощью следующей команды:
python -X utf8 launch-ui.py
VALL-E X хорошо работает как на процессоре, так и на графическом процессоре ( pytorch 2.0+
, CUDA 11.7 и CUDA 12.0).
Видеопамяти графического процессора объемом 6 ГБ достаточно для запуска VALL-E X без разгрузки.
VALL-E X похож на Bark, VALL-E и AudioLM, который генерирует звук в стиле GPT путем прогнозирования аудиотокенов, квантованных EnCodec.
По сравнению с Барком:
Язык | Статус |
---|---|
английский (англ.) | ✅ |
японский (я) | ✅ |
Китайский, упрощенный (чж) | ✅ |
wget
для загрузки модели в каталог ./checkpoints/
при первом запуске программы../checkpoints/
. .bat
для пользователей, не использующих Python Если VALL-E X кажется вам интересным и полезным, поставьте нам звездочку на GitHub! ️ Это побуждает нас продолжать совершенствовать модель и добавлять интересные функции.
VALL-E X лицензируется по лицензии MIT.
Есть вопросы или нужна помощь? Не стесняйтесь открыть проблему или присоединиться к нашему Discord
Удачного клонирования голоса! ?