CosyVoice: 3-секундный проект по клонированию спешного голоса с открытым исходным кодом, запущенный Али, с поддержкой тегов, управляемых эмоциями

Общее введение

CosyVoice - это многоязычная крупномасштабная модель генерации речи, которая предоставляет полный набор возможностей, начиная с вывода, обучения и заканчивая развертыванием. Разработанная командой FunAudioLLM, она нацелена на достижение высококачественного синтеза речи с помощью передовых авторегрессионных трансформаторов и диффузионных моделей на основе ODE. CosyVoice не только поддерживает генерацию речи на нескольких языках, но и осуществляет контроль эмоций и синтез кантонского языка на уровне, сравнимом с человеческим произношением.

Бесплатный опыт работы в Интернете (преобразование текста в речь): https://modelscope.cn/studios/iic/CosyVoice-300M

Бесплатный опыт работы в режиме онлайн (преобразование речи в текст): https://www.modelscope.cn/studios/iic/SenseVoice

CosyVoice:阿里推出的3秒急速语音克隆开源项目,支持情感控制标签

 

Список функций

  • Генерация речи на нескольких языках: поддержка синтеза речи на нескольких языках.
  • Клонирование речи: возможность клонировать характеристики речи конкретного диктора.
  • Преобразование текста в речь: преобразование текстового контента в естественную и плавную речь.
  • Контроль эмоций: регулирование выражения эмоций при синтезе речи.
  • Синтез кантонского языка: поддержка генерации речи на кантонском языке.
  • Высококачественный аудиовыход: синтез высококачественного аудио с помощью вокодера HiFTNet.

 

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

Процесс установки

Недавно компания Ali Tongyi Labs выложила в открытый доступ речевую модель CosyVoice, которая поддерживает генерацию естественной речи, многоязычие, управление тембром и эмоциями, а также обладает превосходными возможностями генерации речи на нескольких языках, генерации речи с нулевым образцом, межъязыкового синтеза звука и выполнения команд.

CosyVoice использует в общей сложности более 150 000 часов обучения данным для поддержки синтеза пяти языков, китайского, английского, японского, кантонского и корейского, и эффект синтеза значительно лучше, чем у традиционных моделей синтеза речи.

CosyVoice поддерживает одномоментное клонирование тона: для генерации аналоговых тонов требуется всего 3~10 с исходного аудио, включая такие детали, как ритм и эмоции. Он также отлично справляется с межъязыковым синтезом речи.

Поскольку официальная версия пока не поддерживает платформы Windows и Mac, в этот раз мы развернули CosyVoice локально на этих двух платформах соответственно.

Платформа Windows

Сначала перейдите на платформу windows и клонируйте проект:

git clone https://github.com/v3ucn/CosyVoice_For_Windows

Доступ к проектам.

cd CosyVoice_For_Windows

Создавайте встроенные модули:

git submodule update --init --recursive

После этого установите все необходимые компоненты:

conda create -n cosyvoice python=3.11  
conda activate cosyvoice  
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

Официально рекомендуемая версия Python - 3.8. На самом деле работает 3.11, и теоретически 3.11 имеет лучшую производительность.

Затем загрузите версию программы установки deepspeed для windows, чтобы установить ее:

https://github.com/S95Sedan/Deepspeed-Windows/releases/tag/v14.0%2Bpy311

Наконец, установите gpu-версию torch: the

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

Здесь версия cuda выбрана как 12, или вы можете установить 11.

Затем модель была загружена:

# git模型下载,请确保已安装git lfs  
mkdir -p pretrained_models  
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M  
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT  
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct  
git clone https://www.modelscope.cn/speech_tts/speech_kantts_ttsfrd.git pretrained_models/speech_kantts_ttsfrd

Это очень быстро, потому что используется склад Magic Hitch в Китае.

Наконец, добавьте переменные окружения:

set PYTHONPATH=third_party/AcademiCodec;third_party/Matcha-TTS

Основное использование:

from cosyvoice.cli.cosyvoice import CosyVoice  
from cosyvoice.utils.file_utils import load_wav  
import torchaudio  
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-SFT')  
# sft usage  
print(cosyvoice.list_avaliable_spks())  
output = cosyvoice.inference_sft('你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?', '中文女')  
torchaudio.save('sft.wav', output['tts_speech'], 22050)  
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M')  
# zero_shot usage  
prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000)  
output = cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', prompt_speech_16k)  
torchaudio.save('zero_shot.wav', output['tts_speech'], 22050)  
# cross_lingual usage  
prompt_speech_16k = load_wav('cross_lingual_prompt.wav', 16000)  
output = cosyvoice.inference_cross_lingual('<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that\'s coming into the family is a reason why sometimes we don\'t buy the whole thing.', prompt_speech_16k)  
torchaudio.save('cross_lingual.wav', output['tts_speech'], 22050)  
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-Instruct')  
# instruct usage  
output = cosyvoice.inference_instruct('在面对挑战时,他展现了非凡的<strong>勇气</strong>与<strong>智慧</strong>。', '中文男', 'Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.')  
torchaudio.save('instruct.wav', output['tts_speech'], 22050)

Для большей интуитивности и удобства рекомендуется использовать Webui:

python3 webui.py --port 9886 --model_dir ./pretrained_models/CosyVoice-300M

Посетите http://localhost:9886

CosyVoice:阿里推出的3秒急速语音克隆开源项目,支持情感控制标签

Обратите внимание, что официальный факел использует sox для бэкенда, здесь он заменен на soundfile:

torchaudio.set_audio_backend('soundfile')

Возможны некоторые ошибки, поэтому следите за официальными обновлениями проекта в будущем.

Платформа MacOS

Теперь, когда речь идет о платформе MacOs, лучше сначала клонировать проект:

git clone https://github.com/v3ucn/CosyVoice_for_MacOs.git

Установите зависимость:

cd CosyVoice_for_MacOs  
conda create -n cosyvoice python=3.8  
conda activate cosyvoice  
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

Затем вам нужно установить sox через Homebrew:

brew install sox

Итак, все настроено, но не забудьте добавить переменные окружения:

export PYTHONPATH=third_party/AcademiCodec:third_party/Matcha-TTS

Использование остается таким же, как и в версии для Windows.

Здесь по-прежнему рекомендуется использовать веб-интерфейс:

python3 webui.py --port 50000 --model_dir speech_tts/CosyVoice-300M

Посетите http://localhost:50000

CosyVoice:阿里推出的3秒急速语音克隆开源项目,支持情感控制标签

заключительные замечания

Справедливости ради, CosyVoice заслуживает быть большой фабрикой, качество модели не сказать, представляя самый высокий уровень отечественного AI, Tongyi Labs имя не ложное, конечно, если вы также можете открыть исходный код после проектирования, это было бы лучше, я считаю, что после оптимизации libtorch, эта модель будет открытым исходным кодом TTS не лучший выбор.

 

Процесс использования

  1. генерация речи::
    • Подготовьте входной текстовый файл (например, input.txt) с одним предложением в строке.
    • Выполните следующую команду для генерации речи:
      python generate.py --input input.txt --output output/
      
    • Созданные голосовые файлы будут сохранены в папкеoutput/Каталог.
  2. клонирование речи::
    • Подготовьте файл с образцом речи (например, sample.wav) целевого диктора.
    • Выполните следующую команду для клонирования голоса:
      python clone.py --sample sample.wav --text input.txt --output output/
      
    • Клонированные голосовые файлы будут сохранены в папкеoutput/Каталог.
  3. эмоциональный контроль::
    • Эмоции можно настроить с помощью параметров командной строки при генерации речи:
      python generate.py --input input.txt --output output/ --emotion happy
      
    • Поддерживающие эмоции включают: счастье, грусть, злость, нейтральность.
  4. Синтез кантонского языка::
    • Подготовьте текстовый файл на кантонском языке (например, cantonese_input.txt).
    • Выполните следующую команду для генерации кантонской речи:
      python generate.py --input cantonese_input.txt --output output/ --language cantonese
      
    • Созданные голосовые файлы кантонского языка будут сохранены в файлеoutput/Каталог.

Подробная процедура работы

  1. Подготовка текста::
    • Убедитесь, что входной текстовый файл отформатирован правильно, по одному предложению в строке.
    • Текст должен быть максимально кратким и понятным, избегайте сложных предложений.
  2. Подготовка голосовых проб::
    • Образцы речи должны быть четкими, речь одного человека с минимальным количеством фонового шума.
    • Для оптимального клонирования продолжительность образца рекомендуется не более 1 минуты.
  3. параметризация::
    • При необходимости настройте параметры генерируемой речи, такие как эмоции, язык и т. д.
    • Персонализация может быть достигнута путем изменения конфигурационных файлов или параметров командной строки.
  4. Валидация результатов::
    • Сгенерированные голосовые файлы можно прослушать с помощью аудиоплеера.
    • Если результаты неудовлетворительны, можно скорректировать и регенерировать входной текст или образцы речи.
© заявление об авторских правах

Похожие статьи

CogniWerk:免费使用FLUX1.1等模型生成图像,支持Civitai导入和训练LoRA

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...