Skip to content

Commit

Permalink
Merge branch 'master' of github.com:w-okada/voice-changer
Browse files Browse the repository at this point in the history
  • Loading branch information
wok committed Oct 8, 2024
2 parents fa77d69 + 7ab6a63 commit e821960
Show file tree
Hide file tree
Showing 6 changed files with 265 additions and 3 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## VC Client

[English](/README_en.md) [Korean](/README_ko.md)
[English](/README_en.md) [Korean](/README_ko.md) [Russian](/README_ru.md)

## What's New!
- 姉妹品のText To Speechのクライアントをリリースしました。
Expand Down
2 changes: 1 addition & 1 deletion README_dev_en.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## For Developper

[Japanese](/README_dev_ja.md)
[Japanese](/README_dev_ja.md) [Russian](/README_dev_ru.md)

## Prerequisit

Expand Down
124 changes: 124 additions & 0 deletions README_dev_ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
Вот перевод файла `README_dev_en.md` на русский язык:

## Для разработчиков

[Японский](/README_dev_ja.md) [Английский](/README_dev_en.md)

## Требования

- Linux (Ubuntu, Debian) или WSL2 (другие дистрибуции Linux и Mac не тестировались)
- Anaconda

## Подготовка

1. Создайте виртуальную среду Anaconda:

```
$ conda create -n vcclient-dev python=3.10
$ conda activate vcclient-dev
```

2. Клонируйте репозиторий:

```
$ git clone https://github.com/w-okada/voice-changer.git
```

## Для серверных разработчиков

1. Установите необходимые зависимости:

```
$ cd voice-changer/server
$ pip install -r requirements.txt
```

2. Запустите сервер

Запустите сервер с помощью следующей команды. Вы можете указать свои пути к весам моделей.

```
$ python3 MMVCServerSIO.py -p 18888 --https true \
--content_vec_500 pretrain/checkpoint_best_legacy_500.pt \
--content_vec_500_onnx pretrain/content_vec_500.onnx \
--content_vec_500_onnx_on true \
--hubert_base pretrain/hubert_base.pt \
--hubert_base_jp pretrain/rinna_hubert_base_jp.pt \
--hubert_soft pretrain/hubert/hubert-soft-0d54a1f4.pt \
--nsf_hifigan pretrain/nsf_hifigan/model \
--crepe_onnx_full pretrain/crepe_onnx_full.onnx \
--crepe_onnx_tiny pretrain/crepe_onnx_tiny.onnx \
--rmvpe pretrain/rmvpe.pt \
--model_dir model_dir \
--samples samples.json
```

Откройте браузер (на данный момент поддерживается только Chrome), и вы увидите графический интерфейс.

2-1. Устранение неполадок

(1) OSError: не найдена библиотека PortAudio

Если вы получите сообщение ниже, необходимо установить дополнительную библиотеку:

```
OSError: PortAudio library not found
```

Вы можете установить библиотеку командой:

```
$ sudo apt-get install libportaudio2
$ sudo apt-get install libasound-dev
```

(2) Не запускается! Чертова программа!

Клиент не запускается автоматически. Пожалуйста, откройте браузер и перейдите по URL, отображаемому в консоли. И будьте осторожны со словами.

(3) Не удалось загрузить библиотеку libcudnn_cnn_infer.so.8

При использовании WSL может возникнуть ошибка `Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file: No such file or directory`. Это часто связано с тем, что путь к библиотеке не установлен. Установите путь с помощью команды ниже. Вы можете добавить эту команду в ваш скрипт запуска, например, в .bashrc.

```
export LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH
```

- ссылки:
- https://qiita.com/cacaoMath/items/811146342946cdde5b83
- https://github.com/microsoft/WSL/issues/8587

3. Наслаждайтесь разработкой.

### Приложение

1. Windows + Anaconda (не поддерживается)

Используйте conda для установки PyTorch:

```
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
```

Также выполните эти команды:

```
pip install chardet
pip install numpy==1.24.0
```

## Для клиентских разработчиков

1. Импорт модулей и начальная сборка:

```
cd client
cd lib
npm install
npm run build:dev
cd ../demo
npm install
npm run build:dev
```

2. Наслаждайтесь.
2 changes: 1 addition & 1 deletion README_en.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## VC Client

[Japanese](/README_ja.md) [Korean](/README_ko.md)
[Japanese](/README_ja.md) [Korean](/README_ko.md) [Russian](/README_ru.md)

## What's New!
- We have released a sister product, the Text To Speech client.
Expand Down
130 changes: 130 additions & 0 deletions README_ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
[Японский](/README_ja.md) [Корейский](/README_ko.md) [Английский](/README_en.md)

## Что нового!
- Мы выпустили продукт-сестру - клиент Text To Speech.
- Вы можете насладиться генерацией голоса через простой интерфейс.
- Подробнее [здесь](https://github.com/w-okada/ttsclient).
- Код тренировки Beatrice V2 теперь доступен!
- [Репозиторий кода тренировки](https://huggingface.co/fierce-cats/beatrice-trainer)
- [Версия для Colab](https://github.com/w-okada/beatrice-trainer-colab)
- v.2.0.61-alpha
- [ЗДЕСЬ](https://github.com/w-okada/voice-changer/tree/v.2)
- Новые функции:
- Теперь можно задавать продолжительность перекрёстного затухания.
- Исправления:
- Исправлена проблема, при которой неиспользуемые элементы модели влияли на производительность при объединении моделей, путём установки их значений в ноль.
- v.2.0.60-alpha
- Новые функции:
- [Тёмный режим](https://github.com/w-okada/voice-changer/issues/1306)
- [Возвращение PyTorch RMVPE](https://github.com/w-okada/voice-changer/issues/1319)
- [Выбор эксклюзивного режима WASAPI](https://github.com/w-okada/voice-changer/issues/1305)
- v.2.0.58-alpha
- [ЗДЕСЬ](https://github.com/w-okada/voice-changer/tree/v.2)
- Новые функции:
- SIO Broadcasting
- Встроенный ngrok (экспериментальный)
- Улучшения:
- Оптимизация для мобильных телефонов.
- Исправления:
- Неправильное отображение сообщений CUI на macOS
- v.2.0.55-alpha
- [ЗДЕСЬ](https://github.com/w-okada/voice-changer/tree/v.2)
- Улучшения:
- Снижение нагрузки на процессор для RVC
- Поддержка WebSocket
- Изменения:
- Включение опции `no_cui` в стартовом батч-файле

# Что такое VC Клиент

1. Это клиентское ПО для выполнения преобразования голоса в реальном времени с использованием различных AI для преобразования голоса. Поддерживаемые AI:
- [MMVC](https://github.com/isletennos/MMVC_Trainer) (только v1)
- [so-vits-svc](https://github.com/svc-develop-team/so-vits-svc) (только v1)
- [RVC (Retrieval-based Voice Conversion)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI)
- [DDSP-SVC](https://github.com/yxlllc/DDSP-SVC) (только v1)
- [Beatrice JVS Corpus Edition](https://prj-beatrice.com/) * экспериментальный * (не по лицензии MIT, см. [readme](https://github.com/w-okada/voice-changer/blob/master/server/voice_changer/Beatrice/)), только для Windows, зависит от процессора (только v1)
- [Beatrice v2](https://prj-beatrice.com/) (только v2)

2. Распределение нагрузки между разными ПК
Реализация преобразования голоса работает по схеме "сервер-клиент". Вы можете запустить сервер MMVC на отдельном ПК для минимизации влияния на другие ресурсоёмкие процессы, такие как стриминг.

![image](https://user-images.githubusercontent.com/48346627/206640768-53f6052d-0a96-403b-a06c-6714a0b7471d.png)

3. Кроссплатформенная совместимость
Поддержка Windows, Mac (включая Apple Silicon M1), Linux и Google Colaboratory.

# Как использовать

Это приложение для изменения голоса с использованием MMVC и so-vits-svc.

Есть два основных способа использования, в порядке сложности:

- Использование готового исполняемого файла
- Настройка окружения с Docker или Anaconda

## (1) Использование готовых исполняемых файлов

- Вы можете скачать и запустить исполняемые файлы.

- Смотрите [здесь](tutorials/tutorial_rvc_en_latest.md) для получения руководства. ([устранение неполадок](https://github.com/w-okada/voice-changer/blob/master/tutorials/trouble_shoot_communication_ja.md))

- Теперь попробовать можно на [Google Colaboratory](https://github.com/w-okada/voice-changer/tree/v.2/w_okada's_Voice_Changer_version_2_x.ipynb) (требуется аккаунт ngrok). Вы можете запустить его через кнопку "Открыть в Colab" в верхнем левом углу.

<img src="https://github.com/w-okada/voice-changer/assets/48346627/3f092e2d-6834-42f6-bbfd-7d389111604e" width="400" height="150">

- Мы предлагаем версии для Windows и Mac на [hugging face](https://huggingface.co/wok000/vcclient000/tree/main)
- v2 для Windows
- Пожалуйста, скачайте и используйте `vcclient_win_std_xxx.zip`. Преобразование голоса можно выполнять с использованием мощного процессора без GPU или с использованием DirectML для GPU (AMD, Nvidia). v2 поддерживает как torch, так и onnx.
- Если у вас Nvidia GPU, скачайте `vcclient_win_cuda_xxx.zip` для более быстрого преобразования.
- v2 для Mac (Apple Silicon)
- Пожалуйста, скачайте и используйте `vcclient_mac_xxx.zip`.
- v1
- Для Windows с Nvidia GPU скачайте ONNX (cpu, cuda), PyTorch (cpu, cuda).
- Для Windows с AMD/Intel GPU скачайте ONNX (cpu, DirectML) и PyTorch (cpu, cuda). AMD/Intel GPU поддерживаются только для ONNX моделей.

- Для пользователей Windows: после распаковки zip-файла запустите соответствующий `start_http.bat` файл.

- Для Mac: после распаковки zip-файла дважды щёлкните на `startHttp.command`. Если появится сообщение о невозможности проверки разработчика, нажмите Ctrl и повторно запустите.

- Если подключаетесь удалённо, используйте `.command` (Mac) или `.bat` (Windows) файл с https вместо http.

- Энкодер DDPS-SVC поддерживает только hubert-soft.

- [Скачать с hugging face](https://huggingface.co/wok000/vcclient000/tree/main)

## (2) Использование после настройки окружения с Docker или Anaconda

Клонируйте этот репозиторий и используйте его. Для Windows требуется настройка WSL2. Для Mac нужно настроить виртуальные среды Python, например Anaconda. Этот метод обеспечивает наивысшую скорость в большинстве случаев. **<font color="red"> Даже без GPU можно получить достаточную производительность на современном процессоре </font>(смотрите раздел о производительности в реальном времени ниже)**.

[Видео-инструкция по установке WSL2 и Docker](https://youtu.be/POo_Cg0eFMU)

[Видео-инструкция по установке WSL2 и Anaconda](https://youtu.be/fba9Zhsukqw)

Для запуска Docker смотрите [start docker](docker_vcclient/README_en.md).

Для запуска на Anaconda venv смотрите [руководство разработчика](README_dev_ru.md).

Для запуска на Linux с AMD GPU смотрите [руководство](tutorials/tutorial_anaconda_amd_rocm.md).

# Подпись программного обеспечения

Это ПО не подписано разработчиком. Появится предупреждение, но его можно запустить, нажав на иконку с удержанием клавиши Ctrl. Это связано с политикой безопасности Apple. Использование ПО на ваш риск.

![image](https://user-images.githubusercontent.com/48346627/212567711-c4a8d599-e24c-4fa3-8145-a5df7211f023.png)

https://user-images.githubusercontent.com/48346627/212569645-e30b7f4e-079d-4504-8cf8-7816c5f40b00.mp4

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

- [Материалы Tachizunda-mon](https://seiga.nicovideo.jp/seiga/im10792934)
- [Irasutoya](https://www.irasutoya.com/)
- [Tsukuyomi-chan](https://tyc.rei-yumesaki.net)

> Это ПО использует голосовые данные бесплатного материала персонажа "Цукуёми-тян", предоставленного CV. Юмесаки Рэй.
>
> - Корпус Цукуёми-тян (CV. Юмесаки Рэй)
>
> https://tyc.rei-yumesaki.net/material/corpus/
>
> Авторское право. Юмесаки Рэй, Все права защищены.
8 changes: 8 additions & 0 deletions signatures/version1/cla.json
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,14 @@
"created_at": "2024-06-15T16:27:32Z",
"repoId": 527419347,
"pullRequestNo": 1241
},
{
"name": "QweRezOn",
"id": 131252058,
"comment_id": 2349461674,
"created_at": "2024-09-13T17:04:41Z",
"repoId": 527419347,
"pullRequestNo": 1347
}
]
}

0 comments on commit e821960

Please sign in to comment.