VoxCPM - на ноуте. Клонируем свой голос
Развёртывание VoxCPM на MacBook с чипом Apple Silicon
Данное руководство содержит пошаговые инструкции по установке и запуску VoxCPM на macOS с процессорами Apple Silicon. Игрался на своем ноуте.
Скачиваем репозиторий проекта
Переходим в папку, где у вас всё будет аккуратно лежать и скачиваем репу:
git clone https://github.com/OpenBMB/VoxCPM.git cd VoxCPM
Настройка доступа к Hugging Face
Для ускорения загрузки моделей и повышения лимитов запросов рекомендуется настроить токен доступа на Hugging Face
Получение токена
- Перейдите на https://huggingface.co/settings/tokens
- Создайте новый токен с правами Read
- Скопируйте токен (формат:
hf_...)
Настройка токена
Способ 1: Через huggingface-cli
pip install -U huggingface_hub hf auth login # Вставьте токен при запросе
Способ 2: Через переменную окружения
# Временно для сессии export HF_TOKEN="hf_ваш_токен_здесь" # Или навсегда (добавить в ~/.zshrc) echo 'export HF_TOKEN="hf_ваш_токен_здесь"' >> ~/.zshrc source ~/.zshrc
Установка Python 3.10+ через pyenv
Установка Homebrew (если не установлен, но навряд ли, конечно)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Установка pyenv и зависимостей
brew install pyenv openssl readline sqlite3 xz zlib pkgconf autoconf
Настройка окружения оболочки
Добавьте следующие строки в ~/.zshrc:
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)"
source ~/.zshrc
Установка Python 3.10.14
pyenv install 3.10.14
Настройка версии для проекта
Перейдите в папку проекта, которую мы скачали ранее и указываем локальную версию Python:
cd ~/Documents/ai/VoxCPM pyenv local 3.10.14 python --version # Должно вывести: Python 3.10.14
Настройка проекта и установка зависимостей
Создание виртуального окружения
# В папке проекта python -m venv venv source venv/bin/activate pip install --upgrade pip
Установка проекта в режиме разработки
pip install -e .
Проверка установки
which voxcpm # Должно указывать на путь внутри venv voxcpm --help # Должно отобразить справку по командам и доступным флагам
Скачиваем модель в папку
Делаем папку для модели и качаем модель:
mkdir -p models/VoxCPM-2B hf download openbmb/VoxCPM2 --local-dir ./models/VoxCPM2
Использование через CLI
Базовый синтаксис
voxcpm <режим> [параметры]
Но мы пойдём путём клонирования своего голоса для озвучки текста.
Готовим файл для клонирования
Я просто записал аудиосообщение в одном голубом мессенджере, сохранил его и перекодировал через ffmpeg в wav. Текст сообщения был такой: Это образец моего голоса. Я говорю здесь целых пять секунд.
Файл с текстом и аудио сохранил в папке ./ref. Т. е. ref.txt и ref.wav
Готовим текст для озвучки
Создам папку output и inpit чтобы папку не замусоривать. Создаю текст для озвучки:
vim ./inpit/anime.txt
Накидал туда описание аниме - Ателье колдовских колпаков
Запускаем озвучку с клонированием нашего голоса
Запускаем озвучку нашего текста с клонированием голоса в папку output:
voxcpm clone --text "$(cat ./inpit/anime.txt)" --prompt-audio ./ref/ref.wav --prompt-text "$(cat ./ref/ref.txt)" --reference-audio ./ref/ref.wav --output ./output/anime_18.wav --model-path ./models/VoxCPM2 --device mps --no-optimize --cfg-value 1.8 --inference-timesteps 20 --normalize --no-denoiser
Что у нас по параметрам?
Активация режима клонирования голоса
Точная транскрипция prompt-audio
Аудио-референс для тембральной идентичности
Локальный каталог с весами модели
Платформа на которой мы играемся
Значение Classifier-Free Guidance
Количество шагов диффузионного декодера
Результат
На выходе получился файл 35.02. Послушать его можно ниже:
Литература для изучения
- GitHub репозиторий: https://github.com/OpenBMB/VoxCPM
- Страница модели на Hugging Face: https://huggingface.co/openbmb/VoxCPM2