MetaVoice-1B

MetaVoice-1B - это базовая модель с 1.2B параметрами, обученная на 100K часах речи для TTS (text-to-speech). Она была построена с учетом следующих приоритетов:

  • Эмоциональный ритм и тон речи на английском. Галлюцинаций нет.
  • Клонирование с нуля для американских и британских голосовС эталонным звуком продолжительностью 30 секунд.
  • Поддержка (межъязыковая) клонирование голоса с тонкой настройкой.
    • Мы успешно использовали всего 1 минуту обучающих данных для индийских дикторов.
  • Поддержка синтез в длинной форме.

Мы выпускаем MetaVoice-1B под лицензией Apache 2.0, его можно использовать без ограничений.

Попробуйте демо!

Установка

Пререквизиты: Python >=3.10,=24 ГБ ОЗУ.# install ffmpeg wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz.md5 md5sum -c ffmpeg-git-amd64-static.tar.xz.md5 tar xvf ffmpeg-git-amd64-static.tar.xz sudo mv ffmpeg-git-*-static/ffprobe ffmpeg-git-*-static/ffmpeg /usr/local/bin/ rm -rf ffmpeg-git-* pip install -r requirements.txt pip install -e .

Использование

  1. Загрузите его и используйте в любом месте (в том числе локально) с помощью нашего эталонная реализация,

python fam/llm/sample.py -huggingface_repo_id="metavoiceio/metavoice-1B-v0.1″ -spk_cond_path="assets/bria.mp3″

  1. Разверните его в любом облаке (AWS/GCP/Azure), используя наш сервер выводов

python fam/llm/serving.py -huggingface_repo_id="metavoiceio/metavoice-1B-v0.1″

  1. Используйте его через Обнимающееся лицо

Скоро

  • Длинная форма TTS
  • Тонкая настройка кода

Архитектура

Мы предсказываем лексемы EnCodec на основе текста и информации о дикторах. Затем они распространяются до уровня формы волны, а для очистки звука применяется постобработка.

  • Мы используем каузальный GPT для предсказания первых двух иерархий лексем EnCodec. Текст и аудио являются частью контекста LLM. Информация о дикторе передается через кондиционирование на слое встраивания лексем. Эта информация о дикторах поступает из отдельно обученной сети проверки дикторов.
    • Две иерархии предсказываются в "сплющенном чередовании": мы предсказываем первую лексему первой иерархии, затем первую лексему второй иерархии, затем вторую лексему первой иерархии и так далее.
    • Мы используем выборку без условий, чтобы повысить способность модели к клонированию.
    • Для токенизации текста используется специально обученный токенизатор BPE с 512 токенами.
    • Обратите внимание, что мы не стали предсказывать семантические лексемы, как это делается в других работах, поскольку мы пришли к выводу, что в этом нет особой необходимости.
  • Мы используем некаузальный (в стиле кодировщика) трансформатор для предсказания остальных 6 иерархий на основе первых двух иерархий. Это сверхмалая модель (~10 млн параметров), обладающая обширным обобщением с нулевым результатом для большинства опробованных нами дикторов. Поскольку она некаузальная, мы также можем предсказывать все временные шаги параллельно.
  • Мы используем многополосную диффузию для генерации осциллограмм из токенов EnCodec. Мы заметили, что речь получается чище, чем при использовании оригинального декодера RVQ или VOCOS. Однако диффузия на уровне формы волны оставляет некоторые фоновые артефакты, которые довольно неприятны на слух. Мы уберем их на следующем этапе.
  • Мы используем DeepFilterNet для очистки от артефактов, вызванных многополосной диффузией.

Оптимизации

Модель поддерживает:

  1. KV-кэширование с помощью флеш-декодирования
  2. Пакетирование (включая тексты разной длины)

Вклад

Благодарности

Мы благодарны компании Together.ai за круглосуточную помощь в организации нашего кластера. Мы благодарим команды AWS, GCP и Hugging Face за поддержку их облачных платформ.

ru_RURussian