Добавить в корзинуПозвонить
Найти в Дзене
КББ

VoxCPM - на ноуте. Клонируем свой голос

Данное руководство содержит пошаговые инструкции по установке и запуску VoxCPM на macOS с процессорами Apple Silicon. Игрался на своем ноуте. Переходим в папку, где у вас всё будет аккуратно лежать и скачиваем репу: git clone https://github.com/OpenBMB/VoxCPM.git
cd VoxCPM Для ускорения загрузки моделей и повышения лимитов запросов рекомендуется настроить токен доступа на Hugging Face Способ 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 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 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)"
Оглавление

Развёртывание VoxCPM на MacBook с чипом Apple Silicon

Данное руководство содержит пошаговые инструкции по установке и запуску VoxCPM на macOS с процессорами Apple Silicon. Игрался на своем ноуте.

Скачиваем репозиторий проекта

Переходим в папку, где у вас всё будет аккуратно лежать и скачиваем репу:

git clone https://github.com/OpenBMB/VoxCPM.git
cd VoxCPM

Настройка доступа к Hugging Face

Для ускорения загрузки моделей и повышения лимитов запросов рекомендуется настроить токен доступа на Hugging Face

Получение токена

  1. Создайте новый токен с правами Read
  2. Скопируйте токен (формат: 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

Результат

На выходе получился файл 35.02. Послушать его можно ниже:

Скачать запись

Послушать на ютубе

Послушать на рутубе

Послушать на вквидео

Послушать на дзене