Копируем и воспроизводим голос другого человека: ультимативный гайд по DeepFake Voice

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Инструкция | ИИ, сервисы и приложения

Здравствуйте, уважаемые читатели портала IXBT. live! С вами, как всегда, на связи скучный Павел и в этой небольшой инструкции вы узнаете, как с помощью нейронной сети скопировать и воспроизвести голос любого человека. Мы последовательно, шаг за шагом разберём такие сложные вопросы, как подготовка датасета (сбора данных), создание модели голоса, значение параметров конфигурации нейронной сети, разделение вокала и инструментала, а также приведём наглядные примеры использования технологии DeepFake Voice.

Внимание!

Вся инструкция представлена только в ознакомительном виде. Автор не несёт никакой ответственности за её использование.

Системные требования

  • ОС: Windows 10/11
  • CPU: Intel Pentium G4560/AMD Athlon 3000G
  • GPU: Nvidia GTX 960/AMD RX 470 (Частичная поддержка)
  • RAM: 16 ГБ/ 8ГБ (с файлом подкачки на SSD)

Инструкция

Благодаря современным технологиям и возросшим мощностям домашних компьютеров копирование и воспроизведение любого голоса даже в режиме реального времени — это весьма не тривиальная задача.

Подготовка данных

Чтобы качественно скопировать голос любого человека, нам необходимо подготовить датасет с 10-30 минутным примером звучания копируемого голоса. Для этого идеально подойдут аудиокниги, подкасты, обзоры и файлы локализации видеоигр. Я же выбрал голос главного редактора портала IXBT. Games Виталия Казунова с его старого видеообзора на YouTube технологии Nvidia RTX Voice.

1. Скачиваем видеоролик и открываем его в любом удобном видеоредакторе. Лично я предпочитаю использовать Shotcut.

П.С. Удобный способ скачивать видео с YouTube.

2. Просматриваем ролик, убеждаясь, что видеофайл не содержит посторонних шумов или вкраплений чужого голоса. Если же они есть, то вырезаем участки шума и конвертируем получившуюся дорожку в файл формата wav или mp3.

3. После того как вы подготовили файлы с желаемым голосом, создаём в корне любого диска папку с именем Dataset и переносим в неё нашу запись. В дальнейшим новая папка будет часто использоваться для работы с нейросетью.

Установка и обучение нейросети

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

1. Скачиваем портативный вариант нейросети. Она не требует установки сторонних библиотек, а благодаря энтузиасту, скрывающимся под ником Ba1yya, ещё и полностью переведена на русский язык.

Зеркало установщика нейросети.

2. Распаковываем файлы архива в любое удобное место и запускаем нейронную сеть через двойной клик по файлу go-web.bat.

Если всё прошло успешно, то вас автоматических перенесёт в вашем веб-браузере на страницу панели управления нейросетью по адресу localhost:7897. На открывшейся странице переходим в раздел «Тренировка» и последовательно следуем шагам, как показано на картинке.

  1. Задаём название будущей голосовой модели. (Не используйте кириллицу).
  2. Указываем количество ядер CPU. (Всегда ставьте на 1-2 меньше от макс. доступного числа ядер).
  3. Запускаем обработку датасета (Записей копируемого голоса).
  4. Выбираем алгоритм копирования тона. (Советую поставить, как показано на картинке выше).
  5. Задаём настройки частоты сохранения, максимальное число эпох (качество будущей модели) и нагрузки на GPU.
  6. Копируем индивидуальные черты голоса человека.
  7. Запускаем обучение голосовой модели.

Создание качественной голосовой модели может занять продолжительное количество времени. Например, на RTX 3060 Ti и Intel Core 12400F обучение с датасетом длинной 15-20 минут и 500 эпох занимает 3-4 часа реального времени. В консоли сmd вы можете отслеживать текущий прогресс обучения вашей голосовой модели. Перейдём к наглядному использованию.

Использование голосовой модели

Есть множество вариантов задействовать чужой голос: от шутливого поздравления с днём рождения голосом именинника до создания полноценной озвучки. Рассмотрим варианты применения технологии DeepFake Voice подробней.

Музыкальное произведение

Самое простое, что можно придумать с чужим голосом, — это заставить его спеть известную музыкальную композицию. Заставим Виталия Казунова спеть популярную песню «Ведьмаку заплатите чеканной монетой».

1. Находим в глобальной паутине выбранную музыкальную композицию в формате mp3/wav или конвертируем её сами. Помещаем её в любую удобную папку, не содержащую в пути или названии кириллицы.

2. Скачиваем бесплатную программу для отделения вокала (голоса) от инструментала (музыкальных инструментов).

Зеркало программы для отделения вокала от инструментала.

  1. Выбираем аудиотрек.
  2. Выбираем папку, куда будут распакованы файлы вокала и инструментала.
  3. Все настройки выставляем, как на скриншоте выше, и жмём кнопку Start.

В итоге у вас должны получиться два отдельных музыкальных файла. Переносим файл вокала оригинального аудиотрека в новую папку Vokal.

3. В панели нейронной сети переходим в раздел «Обработка модели».

  1. Выбираем обученную голосовую модель.
  2. Обновляем список (Если не видно модели).
  3. Указываем путь до папки Vokal, содержащую файл записанного голоса на замену.
  4. Выбираем файл модели голосовых черт.
  5. Запускаем замену голоса.
  6. Скачиваем обработанный файл.

4. Сводим полученную дорожку изменённого вокала со старым инструменталом с помощью видеоредактора.

Наслаждаемся результатом.

Конечно, получилось немного с шероховатостями, но мне, если честно, было уже лень обучать модель нейронной сети выше 350 эпох и 8 минут датасета. Однако как пример работы технологии замены голоса вполне сгодится.

Замена голоса в реальном времени

Заменим свой голос, передаваемый напрямую через микрофон в режиме реального времени. Такая шалость идеально подойдёт для онлайн игр и сетевых мессенджеров по типу Discord и Skype.

1. Скачиваем бесплатную утилиту для подмены голоса в режиме реального времени.

Зеркало утилиты для подмены голоса.

2. Скачиваем и устанавливаем драйвер ретранслятора звука Virtual Audio Cable (VAC) или его аналог Virtual Cable. У некоторых пользователей одна из двух программ может не работать. Лично я использую Virtual Audio Cable 4.67. Если всё в порядке, то после установки ПО и перезагрузки ПК в звуковом микшере Windows появится новое звуковое устройство.

3. Запускаем программу для подмены голоса через двойной клик по start_https.bat (Может не работать). В дальнейшем достаточно будет запускать ПО через MMVCServerSIO.exe.

  1. Выбираем устройство ввода звука (микрофон).
  2. Выбираем виртуальный микрофон, добавленный Virtual Audio Cable (VAC) или его аналогом Virtual Cable.
  3. Выставляем оптимальные настройки выбора алгоритма обработки голоса, как на картинке выше.
  4. Добавляем профиль обученной голосовой модели.
  5. Настраиваем громкость, тон голоса, повторение тембра. (Услышать свой изменённый голос можно, выставив устройством вывода колонки/наушники).
  6. Выбираем виртуальный микрофон в игре или ПО и жмём Start.

Наслаждаемся результатом.

Получилось весьма натурально.

Заключение

Вот и настало «тёмное» цифровое будущее, когда знакомый голос по телефону или в мессенджере уже не является 100% гарантией узнаваемости человека на другом конце провода. Однако не стоит волноваться и бежать удалять записи своего голоса из интернета. Ведь нейронные сети — это всего лишь инструмент, использование которого зависит от человека, а человек — существо наказуемое. Уважайте свободу, используйте только проверенное ПО и ни в коем случае не позволяйте компаниям диктовать вам свои условия. С вами был Павел. Ещё увидимся!

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

Pavel_Priluckiy
Если вам нужна помощь по DeepFakeVoice, я буду рад ответить на ваши вопросы.
1590143@vkontakte
под AMD графику похоже биты 7z выложен…
1590143@vkontakte
и реально ли модель запустить под линуксом, есть ли какие гайды на этот счет? чтобы это сделать на убунте в консоли к примеру…
Pavel_Priluckiy
Половина ПО содержит файлы sh и имеет открытый исходный код. Однако, из-за особенностей архитектуры, поддержка AMD ограничена. Нужны костыли.
1
а частота сохранение за что отвечает? 5 или 100 что поставить?
1
я сделал модель голоса по этой инструкции. Вот только проблема в том что голос с Армянским акцентом. Но после замены акцента нету. Можно как то это исправить? Может эпох больше сделать?
1
А как из текста то озвучить созданым голосом?
1
Подскажите, какие видеокарты поддерживают тренировку модели?
1
В гайде не сказано, откуда брать файл index. Обучил модель, как сказано в гайде, в итоге в папке у меня 4 файла — D40K.pth, f0D40K.pth, f0G40K.pth, G40K.pth. Так откуда брать файл index?
P
Как человек, кто реально заморачивался на тему переозвучки старой игры(для нас это было чудовищным ограничением),
могу сказать, что качество из записи Ремейка музяки — потрясное.
Лучше, что я слышал на тему русскоязычных сеток.
И эта штука может позволить нам сделать то, что ранее мы считали невыполнимым на достойном, качественном уровне.
Прекрасная статья, очень ценная в определенных условиях.
Pavel_Priluckiy
Спасибо за ваш комментарий.
P
Так это правда, а не просто продвижение статьи.
Великолепная работа(я про то, что автор нашел и сам обучился и красиво, креативно сделал).
Найти такую ценную штуку для обычных, скромных индивидуалистов-творцов.
Надеюсь Виталий на ближайших стримах покажет это людям в массы.
SedayaNoch
Программа для отделения вокала (голоса) от инструментала (музыкальных инструментов). а зачем искать… просто скачиваете МИНУС… это где только музыка без голоса))
P
Это не про это. Тут речь про то, что нейронка может по тексту его(текст) даже петь.
А текст можно вводить разный.
Pavel_Priluckiy
Можно использовать текст-> аудио, но в режиме реального времени получается более натурально.
1
Я не совсем понял, разве в этой нейронке можно использовать голос на котором она обучилась, с вводимым текстом? мне показалось что тут только трансформация голос-голос
Pavel_Priluckiy
Берёте говорилку, печатаете текст, скачиваете аудиофайл с набранным текстом и вставляете её в нейронку. Всё, у вас напечатанный текст, с вашим голосом.
1
А, в таком плане. Ну дубляж хороший из такого варианта не получится, ведь итоговый голос я так понимаю копирует интонации оригинальной дорожки.
Pavel_Priluckiy
Это реализуется заменой голоса в реальном времени.
1
Если там есть возможность ввода текста, тогда подскажите где…
Pavel_Priluckiy
Вперёд https://cloud.yandex.ru/ru/services/speechkit#demo (не реклама).
B
Мне кажется что это отличная технология для локализации игр и фильмов. Актер начитывает текст, далее обучается нейронная сеть и делается озвучка голосом одного и того же актера для всех языков. При этом все при деле, актеры озвучивания не будут ныть что их голоса украли, а игры при этом будут стоить дешевле.
В будущем в играх можно вообще на лету генерировать голос персонажа из текста, это увеличит нагрузку на систему, но зато уменьшит объем игры и позволить добавлять переводы на любые языки.
Pavel_Priluckiy
Мы на пороге революции в озвучке и синтезе голоса. Осталось только дождаться автоматических переводчиков на лету.
SedayaNoch
Это же статья идеально подойдёт «Как стать мошенником и обманывать людей их же голосом»
Pavel_Priluckiy
Вся инструкция представлена только в ознакомительном виде. Автор не несёт никакой ответственности за её использование.
S
Увы, мошенники и так уже всё знают, их обучать нечему.
100004608662445@facebook
"… запустили петицию о защите своих голосов от нелегального синтеза с помощью нейросетей. Поводом стала ситуация, которая произошла с актрисой дубляжа, чей голос начали продавать на площадках без ее согласия." :)
Pavel_Priluckiy
Петиция не прецедент, пока ещё можно баловаться).
100004608662445@facebook
Конечно можно, добавил просто как существующий «факт». Сам ничего против не имею)
Pavel_Priluckiy
В общем, обучаем модели и лампово сохраняем в папочку на жёстком диске).
107911794818098262618@google
Твоя статья у меня в ноновстной ленте на телефоне выскочела.
L
Скинь модель витали
1
Хм… А вообще, если помучится, то ведь можно использовать эту шляпу, что бы делать локализации голосами актеров.
Какой-нибудь там Джони Депп и бац, например на хинди вещает. Своим собственным голосом.
Такое было бы круто.
---
Увы, в моем случае этот инструмент не подходит — системные требования не позволяют пользоваться.
Но инструмент интересный, спасибо.
1
Судя по тому, что нагрузка на железо — не пошла, и в консоли всё встало на одном месте с ошибкой — то дальше процесс не пойдёт :(
(Железо Intel Xeon E5-2673 V.3 + RTX 3060 12 GB + 16 GB DDR 4)
Process Process-1:
Traceback (most recent call last):
File «multiprocessing\process.py», line 315, in _bootstrap
File «multiprocessing\process.py», line 108, in run
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 228, in run
train_and_evaluate(
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 452, in train_and_evaluate
loss_fm = feature_loss(fmap_r, fmap_g)
File «C:\VoicE\RVC_New\RVC_new\lib\train\losses.py», line 10, in feature_loss
loss += torch.mean(torch.abs(rl — gl))
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 12.00 GiB total capacity; 6.67 GiB already allocated; 4.08 GiB free; 6.86 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
А когда попробовал понизить пункт «Размер пачки для видеокарты» до «6», то получил такую ошибку:
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\worker.py», line 308, in _worker_loop
data = fetcher.fetch(index)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\fetch.py», line 54, in fetch
return self.collate_fn(data)
File «C:\VoicE\RVC_New\RVC_new\lib\train\data_utils.py», line 170, in __call__
phone_padded = torch.FloatTensor(
RuntimeError: [enforce fail at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 5492736 bytes.
1
UPD: Перезапустил всё с нуля, теперь поменяв только «Число процессов ЦП, используемое для вытаскивания тональностей и обработки данных» на «10», хоть и имею 12 ядер и 24 потока, в прошлый раз, когда были ошибки — выставил значение «20». Видимо — это как-то негативно повлияло тогда, но теперь — эпохи в консоли пошли, и вроде как всё хорошо; нагрузка на процессор и видеокарту пошла (в пределах 10-20% на CPU и 7-15% GPU правда, не знаю, нормально ли это, или можно было подвыжать из железа больше, и оно должно грузиться больше, или так всё и должно быть в моём случае...) CUDA ядра — грузятся по полной к слову. :). Огромное спасибо за гайд!
UPD 2: И снова, спустя время и примерно 20-25 эпох — ошибка:
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\multiprocessing\reductions.py», line 358, in reduce_storage
metadata = storage._share_filename_cpu_()
RuntimeError: Couldn't open shared file mapping: <000001C791CD00F2>, error code: <1455>
Process Process-1:
Traceback (most recent call last):
File «multiprocessing\process.py», line 315, in _bootstrap
File «multiprocessing\process.py», line 108, in run
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 228, in run
train_and_evaluate(
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 358, in train_and_evaluate
for batch_idx, info in data_iterator:
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 634, in __next__
data = self._next_data()
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 1346, in _next_data
return self._process_data(data)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 1372, in _process_data
data.reraise()
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\_utils.py», line 644, in reraise
raise exception
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\worker.py», line 308, in _worker_loop data = fetcher.fetch(index)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\fetch.py», line 54, in fetch
return self.collate_fn(data)
File «C:\VoicE\RVC_New\RVC_new\lib\train\data_utils.py», line 164, in __call__
wave_padded = torch.FloatTensor(len(batch), 1, max_wave_len)
RuntimeError: [enforce fail at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 2054400 bytes.
Места на SSD — в достатке, около 100 ГБ свободных, из них пока только 1-2 заняты файлами модели. Не пойму, что не так, за исключением того, что «не хватает памяти»… Эпох ставил 300, частоту сохранения — 10.
Pavel_Priluckiy
Попробуйте убрать галочку только для чтения с папки нейронки.
1
Спасибо! Галки убрал полностью, но проблема всё ещё осталась… Методом проб — убедился в одном, что процесс тренировки точно сыпет ошибками если задать параметр «Размер пачки для видеокарты» больше «6» (в моём случае по крайней мере, с RTX 3060 12 GB + Xeon E5-2673 V.3 + 16 GB DDR 4). А «Число процессов ЦП» — можно ставить любое, которое поддерживает процессор (а то сначала на него грешил, хоть и по логам видел, что проблема с памятью скорее). Лишних приложений на фоне не имею, даже какого-нибудь Стима/Дискорда, только браузер с оболочкой приложения, и всего двумя вкладками, "«Диспетчер задач», чтобы следить за нагрузкой, и антивирус… От того ещё больше не понимаю кстати, почему приложение в принципе придиралось с сообщением «Out of memory»… Благо что — сначала, когда получал ошибки при продолжении обучения — то приложение хотя бы загружало «контрольную точку», и продолжало с последней эпохи, на которой процесс сбоил, но теперь что-то — при указании точно такого же наименования модели, и пути до «Датасета» — тренировка началась с нуля… Эх… (
Pavel_Priluckiy
Отключайте антивирус и всё, что висит в фоне в Windows. На моей 3060 TI всё хорошо со значением настроек равной 12, но я использую оптимизированную ОС.
Вот например, только закончил делать.
https://www.youtube.com/watch?v=4l3S06r1Mt0
1
Не, ну… у меня в принципе никогда не запущено что-то лишнее, как написал выше, но факт что когда я пробовал закрывать окна, и запускать тренировку с тем же самым наименованием модели — то она спокойно подхватывала последнюю из сделанных эпох, и продолжало обучение. Но стоило мне только увеличить «Размер пачки для видеокарты» хотя бы до «8» — как я стал снова получать ошибки, и процесс тренировки даже не начинался из-за них (значения «11» и «12» — у меня тоже вызывают ошибки, только с немного другим текстом ошибок в консоли). Методом тыка, опять же, прочие показатели я повысил, но только с «Размер пачки для видеокарты» = «6» — процесс начинался без сбоев, и шёл хорошо (сейчас почти дошел до 100 эпох). Не подумайте лишнего только, я верю, что у Вас всё хорошо получилось на 3060 Ti, и претензий не имею, я сначала просто не совсем понимал, что именно вызывало проблему. Попробую поискать в инете то, как в оригинале звучит «Размер пачки для видеокарты», чтобы лучше понимать, за что оно отвечает, и для какого железа какие значения допустимы…
MitrikoR
да, раньше такое могли делать, только крутые специалисты монтажа, теперь любой уверенный пользователь виндовс может, конечно корявенько, но можем делать войс фейки.
Hoaxer_8D
А для датасета можно использовать аудио файл с нарезкой конкретного голоса и разными фразами надёрганными с примерно разных источников, особенно если не имеется длинного монолога минут на 10-30?
Pavel_Priluckiy
Конечно, главное их потом соедините вместе в один аудиофайл для более быстрого обучения модели.
1
Подскажите, пожалуйста, можно ли продолжить обучение уже готовой модели для лучшего результата?
Pavel_Priluckiy
Да, просто повторите изначальные настройки и название, модель автоматом подхватится.
12004372947383366371@mailru
Пробовал эту технологию.
Тренировал голос около 1000 эпох для озвучки аудиокниг голосом автора.
Как результат — не очень. Тембр голоса да, похож. Но, так как для накладки используется претренированный на английском датасете русский голос. При озвучке текста TTS много неправильных ударений в словах, а также интонации в вопросах, соответсвующие английскому языку. И управлять и изменять это невозможно.
То есть это не клонирование, а некоторая похожесть. Для баловства в накладке для песен подойдет, т.к. музыкальный фон может сгладить артефакты.
4
да, получается мега-картавый француз какой-то.
1
Решили как-нибудь?) Тоже хочу для озвучки аудиокниг использовать. Тоже как будто француз какой-то озвучивает с английским акцентом.
n
Да, вещь любопытная.
По сути, амплитудный рельеф оригинала и его фундаментальная частота используются, как опора для синтеза новой сущности, с приложением нового голоса, с его родным тембром, чтобы масиксимально приблизить «нового» исполнителя к «старому».
100019608688827903545@google
Я как понял, голос онлайн можно взять с любого ютубера? Я просто хочу обеднить свой голос с другим челом, для видео и дис.
1
Хочу загрузить свой голос ютубера, всё сделал по картинке, меня волнует только пару вещей, хватит ли 500 эпох, это как я понял качество речи? И самое главное на сколько минут нужно загрузить аудио голос и сколько штук? Мне просто нужно сделать без всяких артефактов, что бы было чётко как у вас на видео. Мне нужно озвучить книгу.
1
Вообщем, сделал я, результатом не доволен, звук лаганный как будто пинг, но звук похож. До этого сделал 20 чистых аудио нарезок по 10 сек, сделал как на картинке, за ночь обработало. Мб дело в программе?
Pavel_Priluckiy
Я же внятно написал, что минимум это 15 минут для датасета. Эпох хватает 400.
1
Здравствуйте а на видеочипе Nvidea Geforce GT540M с 1гб видеопамяти реально будет запустить это?
Pavel_Priluckiy
Нет, требуются CUDA. Но вы можете запустить на процессоре.
1
После нажатия кнопки переработать данные происходит start preprocess дальнейшие манипуляции приводят к ошибке((
Pavel_Priluckiy
Делаете что-то не правильно.
1
C:\D\Новая папка (2)\RVC_new>runtime\python.exe infer-web.py --pycmd runtime\python.exe --port 7897
2024-01-28 17:46:58 | WARNING | xformers | A matching Triton is not available, some optimizations will not be enabled.
Error caught was: No module named 'triton'
2024-01-28 17:46:58 | WARNING | xformers | Triton is not available, some optimizations will not be enabled.
This is just a warning: No module named 'triton'
Found GPU NVIDIA GeForce GTX 1650, force to fp32
Use Language: en_US
Running on local URL: http://0.0.0.0:7897
runtime\python.exe trainset_preprocess_pipeline_print.py «C:\Dataset» 40000 4 «C:\D\Новая папка (2)\RVC_new/logs/mi-test» False
['trainset_preprocess_pipeline_print.py', 'C:\\Dataset', '40000', '4', 'C:\\D\\Новая папка (2)\\RVC_new/logs/mi-test', 'False']
start preprocess
['trainset_preprocess_pipeline_print.py', 'C:\\Dataset', '40000', '4', 'C:\\D\\Новая папка (2)\\RVC_new/logs/mi-test', 'False']
Traceback (most recent call last):
File «C:\D\Новая папка (2)\RVC_new\trainset_preprocess_pipeline_print.py», line 139, in
preprocess_trainset(inp_root, sr, n_p, exp_dir)
File «C:\D\Новая папка (2)\RVC_new\trainset_preprocess_pipeline_print.py», line 133, in preprocess_trainset
println(sys.argv)
File «C:\D\Новая папка (2)\RVC_new\trainset_preprocess_pipeline_print.py», line 26, in println
f.write("%s\n" % strr)
File «encodings\cp1252.py», line 19, in encode
UnicodeEncodeError: 'charmap' codec can't encode characters in position 79-83: character maps to
start preprocess
Pavel_Priluckiy
«Новая папка (2)» ну не используйте вы кириллицу, ёкарный театр…
4
подскажите, пожалуйста, а что с тритоном делать? что это за ошибка такая? гуглю, никак ответ найти не могу…
Triton is not available, some optimizations will not be enabled. This is just a warning: No module named 'triton'
1
Прекрасная статья! Спасибо, что поделились плодами труда! Не подскажете, где можно найти подобную нейронку под MAC?
Pavel_Priluckiy
Только Windows и Linux. Про аналоги для MAC мне неизвестно.
SedayaNoch
Хороший урок как всё делать… а потом удивляемся как это по телефону мошенники звонят голосом ваших родственников и просят перевести им деньги))
Pavel_Priluckiy
Не арбалет убивает человека, а тот, кто стреляет из него.
1
а какую выбирать модель голосовых черт? У меня какие-то стандартные висят
1
голоса обновляются, а индексы нет(((
I
Задал количество эпох равным 500. В командной строке остановились записи на Epoch: 389. Прошло времени 21 час. При попытке использовать натренированную модель ее не видно в списке, значит она не натренирована, поскольку во вкладке «Тренировка» в самом правом нижнем окне до сих пор идет Processing. Характеристики компьютера: Ryzen 5 3600, RTX 3070, RAM 32 GB. В чем может быть причина, что модель до сих пор учится или хрен его знает, я не знаю, как проверить это, т.к. в папке Dataset ничего нет, ровно как и в папке RVC-new (в ней лежат только премоделенные сохраненные версии).
Pavel_Priluckiy
Что-то сделали неправильно.
I
Проблема решилась сама собой. Я просто обновил страницу, затем еще раз запустил тренировку и процесс пошел, а затем завершился. В чем была причина обрыва тренировки я не понял.
149067857@vkontakte
С чем может быть связана долгая обработка эпох?
Первый шаблон был на 500 эпох, со средней обработкой в районе 26 сек. Файлом было голосовое сообщение из тг.
Решил сделать второй: в независимости от длины аудио (аудио одно и то же, пытался обработать 5 мин и 10 мин), средняя обработка эпохи в районе 2х минут. Объем файла 5мб. Аудиодорожка из видео в хорошем качестве без посторонних шумов.
i5 12400f + 16gb 3600 + 3070ti (8гб видеопамяти).
Судя по мониторингу, видеопамять заполнена полностью, загрузка 99%, ОЗУ стабильно на 12гб из 16, ЦП загружен на 30-40%.
Pavel_Priluckiy
Что-то у вас не то. Уменьшите датасет до 10 минут.
1
добрый день. за ночь процес вроде бы завершился, но не моуг понятьгде сохранилась голосовая модель?
1
В папке датасет нет ничего кроме моего файла с голосом
Pavel_Priluckiy
Датасет это файлы для обучения. Итоговая модель хранится в папке скрипта нейросети.
1
Спасибо за ответ! А Как папка назыввается?
Pavel_Priluckiy
Поищите по названию модели.
30018604@vkontakte
«Размер пачки для видеокарты» — это число эпох, обрабатываемое за раз? Как подобрать оптимальное число, если у моей видеокарты 6ГБ памяти?
Pavel_Priluckiy
Это не связано, ставьте не больше 500 эпох.
109829541855382572347@google
Добрый день, есть ли возможность озвучивать напечатанный текст с помощью голосовой модели?
Pavel_Priluckiy
Напечатайте текст в говорилке, скачайте его в формате wav и прогоните в ПО.
Don_Maestro
Здравствуйте! Подскажите, пожалуйста, как можно улучшить выдаваемый результат? тренировал на 35 минутах голоса, 500 эпох. На выходе голос лишь отдаленно похож. но много каких-то шумов, будто лагов. При попытке этим голосом что-то спеть, частоты голоса совсем зашкаливают. В общем. даже близко не похоже на вот это космическое качество: https://www.youtube.com/watch?v=4l3S06r1Mt0
1
Постоянно пишет:
D:\voice neuro\RVC_new\RVC_new\runtime\lib\site-packages\torch\functional.py:641: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.
Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\SpectralOps.cpp:867.)
return _VF.stft(input, n_fft, hop_length, win_length, window, # type: ignore[attr-defined]
D:\voice neuro\RVC_new\RVC_new\runtime\lib\site-packages\torch\functional.py:641: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.
Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\SpectralOps.cpp:867.)
return _VF.stft(input, n_fft, hop_length, win_length, window, # type: ignore[attr-defined]
что делать?
4
Здравствуйте! Отличная статья, спасибо! Только нейронка не выдаёт адрес. В чём может быть проблема? подскажите, пожалуйста.
F:\AI\RVC_New>runtime\python.exe infer-web.py --pycmd runtime\python.exe --port 7897
Python path configuration:
PYTHONHOME = (not set)
PYTHONPATH = (not set)
program name = 'runtime\python.exe'
isolated = 1
environment = 1
user site = 1
import site = 1
sys._base_executable = 'F:\\AI\\RVC_New\\runtime\\python.exe'
sys.base_prefix = 'F:\\AI\\RVC_New\\runtime'
sys.base_exec_prefix = 'F:\\AI\\RVC_New\\runtime'
sys.platlibdir = 'lib'
sys.executable = 'F:\\AI\\RVC_New\\runtime\\python.exe'
sys.prefix = 'F:\\AI\\RVC_New\\runtime'
sys.exec_prefix = 'F:\\AI\\RVC_New\\runtime'
sys.path = [
'F:\\AI\\RVC_New\\runtime\\python39.zip',
'F:\\AI\\RVC_New\\runtime',
]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00005ebc (most recent call first):

F:\AI\RVC_New>pause
Для продолжения нажмите любую клавишу.. .
Скрин: https://disk.yandex.ru/i/3fJAerzSOQk0oQ
4
переустановил питон, теперь эта ошибка:
C:\WINDOWS\system32>runtime\python.exe infer-web.py --pycmd runtime\python.exe --port 7897
Системе не удается найти указанный путь.
C:\WINDOWS\system32>pause
Для продолжения нажмите любую клавишу...
4
снёс питон ещё раз, переустановил, перезагрузил комп — теперь ещё одна ошибка. помогите, пожалуйста, не пойму как решить эту проблему, так охота поработать с этой нейронкой и не пойму в чём проблема.
Triton is not available, some optimizations will not be enabled. This is just a warning: No module named 'triton'
что за тритон? я уже скачал какой-то файл с гитхаба, но куда его деть…
4
короче, всё заработало, всё чётко. правда, нейронка странно очень картавит. да и в итоге голос не похожим получился. вообще не похожим на то, с чего делалась модель.
R
Привет. как ты проблему решил с Triton is not available, some optimizations will not be enabled. This is just a warning: No module named 'triton'?
S
пробуйте https://pypi.org/project/triton-library/1.0.0rc3/
1
Не могу «победить» смену голоса в реал тайме. В Voice Changet Client ошибка при загрузке модели:
paramDict {'voiceChangerType': 'RVC', 'slot': 5, 'isSampleMode': False, 'sampleId': None, 'files': [{'name': 'G_2333333.pth', 'kind': 'rvcModel', 'dir': ''}, {'name': 'trained_IVF20_Flat_nprobe_1_lina_v2.index', 'kind': 'rvcIndex', 'dir': ''}], 'params': {}}
RVC:: slotInfo.modelFile G_2333333.pth
[Voice Changer] post_load_model ex: 'config'
Traceback (most recent call last):
File «restapi\MMVC_Rest_Fileuploader.py», line 92, in post_load_model
File «voice_changer\VoiceChangerManager.py», line 170, in loadModel
File «voice_changer\RVC\RVCModelSlotGenerator.py», line 37, in loadModel
File «voice_changer\RVC\RVCModelSlotGenerator.py», line 43, in _setInfoByPytorch
KeyError: 'config'
Уже что только не пробовал.
1
Решил проблему.
Нужно загружать модель из папки «weights».
1
А как в данном случае можно текст преобразовать в речь (обученной модели)?
Pavel_Priluckiy
Используйте «говорилку».
1
Как сильно улучшает качество увеличение количество эпох? Будет ли хотя бы немного заметна разница, если при недостостатке исходного голоса прогнать не, условные, 200 эпох, а 1000?
1
После пары эксперементов однаружил, что переполнение видео памяти сильно замедляет тренировку. Есть образец голоса в 2х файлах сумарно на ~39 минут. На 4070 ti super при переполнении памяти (было занято 4 до запуска нейронки и выставил размер пачки 16) 1 эпоха занимает от 1,5 до более 3 минут. Если же выставить 12, то переполнения не будет и 1 эпоха сокращается до стабильных 30 секунд, иногда даже меньше.
Upd: сделал разгон вместо андерклока (2610 мгц --> 2940 мгц и -300 по памяти --> +1000) и 30 сек сократились до 20-22
Pavel_Priluckiy
Оптимально 300-600 эпох. Излишнее обучение модели может только испортить результат.
105575809542494542559@google
Видеокарта… Я правильно понимаю, счастливые обладатели интегрированной графики идут лесом? )))
Pavel_Priluckiy
Да, вслед за обладателями видеокарт от AMD.
R
Обучилась нормально. При попытке обработать голос выдает это (как это победить):
Traceback (most recent call last):
File «Y:\RVC_new\lib\audio.py», line 14, in load_audio
ffmpeg.input(file, threads=0)
File «Y:\RVC_new\runtime\lib\site-packages\ffmpeg\_run.py», line 325, in run
raise Error('ffmpeg', out, err)
ffmpeg._run.Error: ffmpeg error (see stderr output for detail)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File «Y:\RVC_new\infer-web.py», line 188, in vc_single
audio = load_audio(input_audio_path, 16000)
File «Y:\RVC_new\lib\audio.py», line 19, in load_audio
raise RuntimeError(f«Failed to load audio: {e}»)
RuntimeError: Failed to load audio: ffmpeg error (see stderr output for detail)
Traceback (most recent call last):
File «Y:\RVC_new\runtime\lib\site-packages\gradio\routes.py», line 321, in run_predict
output = await app.blocks.process_api(
File «Y:\RVC_new\runtime\lib\site-packages\gradio\blocks.py», line 1007, in process_api
data = self.postprocess_data(fn_index, result[«prediction»], state)
File «Y:\RVC_new\runtime\lib\site-packages\gradio\blocks.py», line 953, in postprocess_data
prediction_value = block.postprocess(prediction_value)
File «Y:\RVC_new\runtime\lib\site-packages\gradio\components.py», line 2076, in postprocess
processing_utils.audio_to_file(sample_rate, data, file.name)
File «Y:\RVC_new\runtime\lib\site-packages\gradio\processing_utils.py», line 206, in audio_to_file
data = convert_to_16_bit_wav(data)
File «Y:\RVC_new\runtime\lib\site-packages\gradio\processing_utils.py», line 219, in convert_to_16_bit_wav
if data.dtype in [np.float64, np.float32, np.float16]:
AttributeError: 'NoneType' object has no attribute 'dtype'
3899225@vkontakte
Все делаю как по картинке
но постонно ошибка в переработке данных
Голос длится 30 минут, загрузил в папку С датасет, но ошибка Connektion errored out
100751347999750504890@google
У меня на виндовс 10 не запускается пишет
WARNING | xformers | Triton is not available, some optimizations will not be enabled.
This is just a warning: No module named 'triton'
11885236305642768010@mailru
Не работает
----------
C:\Program Files\RVC_new>runtime\python.exe infer-web.py --pycmd runtime\python.exe --port 7897
2024-07-24 17:37:07 | WARNING | xformers | A matching Triton is not available, some optimizations will not be enabled.
Error caught was: No module named 'triton'
2024-07-24 17:37:07 | WARNING | xformers | Triton is not available, some optimizations will not be enabled.
This is just a warning: No module named 'triton'
Found GPU GeForce RTX 3050 Ti Laptop GPU
Use Language: en_US
Running on local URL: http://0.0.0.0:7897
---------------
И самое главное — выглядит без стилей. Белый фон, огромные иконки. Что не так?
1
И не будет… Статья НЕ ПОЛНАЯ и сдешний автор не является автором этой статьи… Как принято ща в интернете все капипастят и воруют у других записи сами не понимая что за статья и о чем речь
M
Не настолько продвинутый юзер, поэтому банальный по всей видимости вопрос: всё сделал по мануалу, всё прошло хорошо, но что дальше? куда загрузить текст, который должен быть озвучен голосом? В мануале об этом ни слова.
Pavel_Priluckiy
У вас уже должна быть готовая звуковая запись с нужным текстом.
M
Так, ничего не понял. У меня есть текст, и мне его нужно озвучить определённым голосом. Я обучил модель на голосе, который расположен в папке Dataset. А что дальше?
M
В папке Dataset у меня файл с нужным мне голосом. Куда мне разместить «готовую запись с нужным текстом»? И где потом услышать результат?
M
можно чуть подробнее или это тайна какая-то? или вопрос слишком тупой?
M
Записал говорилку. Её нужно закинуть также в папку датасет? Но я так понял там файл только для обучения. Значит в какую-то другую папку закинуть? Статья не полная явно.
Pavel_Priluckiy
В статье всё описано, читайте внимательнее.
M
Сейчас обратил внимание, что шаг 3 это указать папку с вокалом, но у меня другой интерфейс совершенно и нету такой опции.
Также в информации о видеокартах сообщение: «К сожалению, у вас нет видеокарты, которая поддерживает тренировку модели». У меня Nvidia GeForce GTX 960M.
Проблема из-за видеокарты?
M
Скрин некуда скинуть
1
Не все описано а поверхносно… Такое чувстыо что скапипастено копировано от куда то
M
Думал это раздельные статьи, поэтому сразу не понял. Но тем не менее не получается, после того как модель натренировал во вкладке Обработка модели во всплывающем списке Обработка голоса пусто.
C:\Users\User\Downloads\RVC_New\RVC_new>runtime\python.exe infer-web.py --pycmd runtime\python.exe --port 7897
2024-07-27 18:15:16 | WARNING | xformers | A matching Triton is not available, some optimizations will not be enabled.
Error caught was: No module named 'triton'
2024-07-27 18:15:16 | WARNING | xformers | Triton is not available, some optimizations will not be enabled.
This is just a warning: No module named 'triton'
Found GPU NVIDIA GeForce GTX 960M
Use Language: en_US
Running on local URL: http://0.0.0.0:7897
runtime\python.exe trainset_preprocess_pipeline_print.py «D:\Dataset» 40000 4 «C:\Users\User\Downloads\RVC_New\RVC_new/logs/mark_test» False
['trainset_preprocess_pipeline_print.py', 'D:\\Dataset', '40000', '4', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'False']
start preprocess
['trainset_preprocess_pipeline_print.py', 'D:\\Dataset', '40000', '4', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'False']
Fail. Traceback (most recent call last):
File «C:\Users\User\Downloads\RVC_New\RVC_new\trainset_preprocess_pipeline_print.py», line 111, in pipeline_mp_inp_dir
for idx, name in enumerate(sorted(list(os.listdir(inp_root))))
PermissionError: [WinError 21] Устройство не готово: 'D:\\Dataset'
end preprocess
start preprocess
['trainset_preprocess_pipeline_print.py', 'D:\\Dataset', '40000', '4', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'False']
Fail. Traceback (most recent call last):
File «C:\Users\User\Downloads\RVC_New\RVC_new\trainset_preprocess_pipeline_print.py», line 111, in pipeline_mp_inp_dir
for idx, name in enumerate(sorted(list(os.listdir(inp_root))))
PermissionError: [WinError 21] Устройство не готово: 'D:\\Dataset'
end preprocess
runtime\python.exe trainset_preprocess_pipeline_print.py «D:\Dataset» 40000 4 «C:\Users\User\Downloads\RVC_New\RVC_new/logs/mark_test» False
['trainset_preprocess_pipeline_print.py', 'D:\\Dataset', '40000', '4', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'False']
start preprocess
['trainset_preprocess_pipeline_print.py', 'D:\\Dataset', '40000', '4', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'False']
Fail. Traceback (most recent call last):
File «C:\Users\User\Downloads\RVC_New\RVC_new\trainset_preprocess_pipeline_print.py», line 111, in pipeline_mp_inp_dir
for idx, name in enumerate(sorted(list(os.listdir(inp_root))))
PermissionError: [WinError 21] Устройство не готово: 'D:\\Dataset'
end preprocess
start preprocess
['trainset_preprocess_pipeline_print.py', 'D:\\Dataset', '40000', '4', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'False']
Fail. Traceback (most recent call last):
File «C:\Users\User\Downloads\RVC_New\RVC_new\trainset_preprocess_pipeline_print.py», line 111, in pipeline_mp_inp_dir
for idx, name in enumerate(sorted(list(os.listdir(inp_root))))
PermissionError: [WinError 21] Устройство не готово: 'D:\\Dataset'
end preprocess
runtime\python.exe extract_f0_rmvpe_dml.py «C:\Users\User\Downloads\RVC_New\RVC_new/logs/mark_test»
['extract_f0_rmvpe_dml.py', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test']
no-f0-todo
['extract_f0_rmvpe_dml.py', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test']
no-f0-todo
runtime\python.exe extract_feature_print.py cuda:0 1 0 «C:\Users\User\Downloads\RVC_New\RVC_new/logs/mark_test» v2
2024-07-27 18:34:42 | WARNING | xformers | A matching Triton is not available, some optimizations will not be enabled.
Error caught was: No module named 'triton'
2024-07-27 18:34:42 | WARNING | xformers | Triton is not available, some optimizations will not be enabled.
This is just a warning: No module named 'triton'
['extract_feature_print.py', 'cuda:0', '1', '0', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'v2']
C:\Users\User\Downloads\RVC_New\RVC_new/logs/mark_test
load model(s) from hubert_base.pt
move model to cuda
no-feature-todo
['extract_f0_rmvpe_dml.py', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test']
no-f0-todo
['extract_feature_print.py', 'cuda:0', '1', '0', 'C:\\Users\\User\\Downloads\\RVC_New\\RVC_new/logs/mark_test', 'v2']
C:\Users\User\Downloads\RVC_New\RVC_new/logs/mark_test
load model(s) from hubert_base.pt
move model to cuda
no-feature-todo
write filelist done
use gpus:
runtime\python.exe train_nsf_sim_cache_sid_load_pretrain.py -e «mark_test» -sr 40k -f0 1 -bs 12 -te 300 -se 100 -pg pretrained_v2/f0G40k.pth -pd pretrained_v2/f0D40k.pth -l 1 -c 0 -sw 1 -v v2
INFO:mark_test:{'train': {'log_interval': 200, 'seed': 1234, 'epochs': 20000, 'learning_rate': 0.0001, 'betas': [0.8, 0.99], 'eps': 1e-09, 'batch_size': 12, 'fp16_run': False, 'lr_decay': 0.999875, 'segment_size': 12800, 'init_lr_ratio': 1, 'warmup_epochs': 0, 'c_mel': 45, 'c_kl': 1.0}, 'data': {'max_wav_value': 32768.0, 'sampling_rate': 40000, 'filter_length': 2048, 'hop_length': 400, 'win_length': 2048, 'n_mel_channels': 125, 'mel_fmin': 0.0, 'mel_fmax': None, 'training_files': './logs\\mark_test/filelist.txt'}, 'model': {'inter_channels': 192, 'hidden_channels': 192, 'filter_channels': 768, 'n_heads': 2, 'n_layers': 6, 'kernel_size': 3, 'p_dropout': 0, 'resblock': '1', 'resblock_kernel_sizes': [3, 7, 11], 'resblock_dilation_sizes': [[1, 3, 5], [1, 3, 5], [1, 3, 5]], 'upsample_rates': [10, 10, 2, 2], 'upsample_initial_channel': 512, 'upsample_kernel_sizes': [16, 16, 4, 4], 'use_spectral_norm': False, 'gin_channels': 256, 'spk_embed_dim': 109}, 'model_dir': './logs\\mark_test', 'experiment_dir': './logs\\mark_test', 'save_every_epoch': 100, 'name': 'mark_test', 'total_epoch': 300, 'pretrainG': 'pretrained_v2/f0G40k.pth', 'pretrainD': 'pretrained_v2/f0D40k.pth', 'version': 'v2', 'gpus': '0', 'sample_rate': '40k', 'if_f0': 1, 'if_latest': 1, 'save_every_weights': '1', 'if_cache_data_in_gpu': 0}
INFO:torch.distributed.distributed_c10d:Added key: store_based_barrier_key:1 to store for rank: 0
INFO:torch.distributed.distributed_c10d:Rank 0: Completed store-based barrier for key:store_based_barrier_key:1 with 1 nodes.
gin_channels: 256 self.spk_embed_dim: 109
INFO:mark_test:loaded pretrained pretrained_v2/f0G40k.pth

INFO:mark_test:loaded pretrained pretrained_v2/f0D40k.pth

Process Process-1:
Traceback (most recent call last):
File «multiprocessing\process.py», line 315, in _bootstrap
File «multiprocessing\process.py», line 108, in run
File «C:\Users\User\Downloads\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 228, in run
train_and_evaluate(
File «C:\Users\User\Downloads\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 397, in train_and_evaluate
) = net_g(phone, phone_lengths, pitch, pitchf, spec, spec_lengths, sid)
File «C:\Users\User\Downloads\RVC_New\RVC_new\runtime\lib\site-packages\torch\nn\modules\module.py», line 1501, in _call_impl
return forward_call(*args, **kwargs)
File «C:\Users\User\Downloads\RVC_New\RVC_new\runtime\lib\site-packages\torch\nn\parallel\distributed.py», line 1156, in forward
output = self._run_ddp_forward(*inputs, **kwargs)
File «C:\Users\User\Downloads\RVC_New\RVC_new\runtime\lib\site-packages\torch\nn\parallel\distributed.py», line 1110, in _run_ddp_forward
return module_to_run(*inputs[0], **kwargs[0]) # type: ignore[index]
File «C:\Users\User\Downloads\RVC_New\RVC_new\runtime\lib\site-packages\torch\nn\modules\module.py», line 1501, in _call_impl
return forward_call(*args, **kwargs)
File «C:\Users\User\Downloads\RVC_New\RVC_new\lib\infer_pack\models.py», line 756, in forward
o = self.dec(z_slice, pitchf, g=g)
File «C:\Users\User\Downloads\RVC_New\RVC_new\runtime\lib\site-packages\torch\nn\modules\module.py», line 1501, in _call_impl
return forward_call(*args, **kwargs)
File «C:\Users\User\Downloads\RVC_New\RVC_new\lib\infer_pack\models.py», line 520, in forward
xs += self.resblocks[i * self.num_kernels + j](x)
File «C:\Users\User\Downloads\RVC_New\RVC_new\runtime\lib\site-packages\torch\nn\modules\module.py», line 1501, in _call_impl
return forward_call(*args, **kwargs)
File «C:\Users\User\Downloads\RVC_New\RVC_new\lib\infer_pack\modules.py», line 305, in forward
xt = F.leaky_relu(xt, LRELU_SLOPE)
File «C:\Users\User\Downloads\RVC_New\RVC_new\runtime\lib\site-packages\torch\nn\functional.py», line 1632, in leaky_relu
result = torch._C._nn.leaky_relu(input, negative_slope)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 2.80 GiB already allocated; 0 bytes free; 2.93 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
M
и поздрительно быстро тренировка прошла, меньше минуты, сам дататест на 3 мин
1
а частота сохранение за что отвечает? 5 или 100 что поставить?
943597@vkontakte
Интересно, а почему такая разница в размере RVC_AMD_test 1.76Gb, а RVC_New 3.35 Gb?
Мне, как обладателю AMD с интегрированной видеокартой интересно, в чем разница версий.
И просто комент: годная нейронка, у меня уже на пятой эпохе RVC_New выдало хороший результат, несмотря на то, что образец голоса был всего 4 минуты.
И
Добрый вечер, ошибка: RuntimeError: Error in __cdecl faiss::FileIOWriter::FileIOWriter(const char *) at D:\a\faiss-wheels\faiss-wheels\faiss\faiss\impl\io.cpp:98: Error: 'f' failed: could not open C:\RVC-beta-v2-0618\RVC-beta-v2-0618/logs/ария/trained_IVF2042_Flat_nprobe_1_ария_v2.index for writing: No such file or directory
что это может быть?
Pavel_Priluckiy
Написано, что файл не найден. Проверьте пути к файлам, отсутствие кириллицы и пробелов.
А
Все очень интересно, лаконично и по делу, лайк)
Посоветуете с высоты ваших знаний, предположим у меня есть видео, (мною записанное), я
хочу заменить свой голос на голос скажем Бурунова, как мне это можно сделать??
P.s железо у меня уж точно не подходит по требованию(ноутбук), есть ли возможность в данный момент использовать для обучения модели — какие то не свои ресурсы( насколько понял раньше гугл давал свои резервы, сейчас вроде перестал)
Есть какие-то варианты?)
И второй вопрос, если мне сделают голосовую модель
В пункте использование голосовой модели
Музыккальное произведение
пункт 3
(В панели нейронной сети переходим в раздел «Обработка модели».)
Нужна ли тут производительность компуктера как для создания самой модели или я могу найти обученную голосовую модель и провести данные манипуляции пункта 3 на слабеньком ноуте?)
Pavel_Priluckiy
Посоветуете с высоты ваших знаний, предположим у меня есть видео, (мною записанное), я
хочу заменить свой голос на голос скажем Бурунова, как мне это можно сделать??

Обучаете модель на голосе Бурунова.
Запись со своим голосом помещаете в папку датасет.
В настройках программы выбираете обученную ранее модель.
Запускаете процесс замены.
Для идеальной замены голоса подбираете тональность.
Есть какие-то варианты?)

Доступна обработка ресурсами CPU (Долго).
Нужна ли тут производительность компуктера как для создания самой модели или я могу найти обученную голосовую модель и провести данные манипуляции пункта 3 на слабеньком ноуте?)

Показан процесс обучения и замены. Для всего необходима производительность.
А
Что производительность нужна для всего это я понимаю ))
Я само обучения модели со всякими эпохами и т, д пробовал — не выходит, потом прочитал требования железа и все стало кристально ясно.
Может неправильно я что=то понял — имелось ввиду имея обученную модель(скажем просто нашел в инете) сильно требовательная по железу операция ''Обработка модели'' или в принципе потянет на слабых мощностях для более-менее нормальной записи???
Можете посоветовать какие-то хорошие (обработки ресурсами CPU) и насколько это будет дольше чем работать с компа?
Pavel_Priluckiy
Даже не пробуйте. Накопите на достойное оборудование и приступайте.
А
Благодарю, а сколько финансово нужно вложить во все железо, чтобы норм выходило?
Ориентировочно, чтобы понимать сколько недель/ месяцев/ лет копить? xD
k
Мне вышло в 60 тыс. рублей.
108742294395465908206@google
Добрый вечер.
Подскажите пожалуйста, путь к натренированной модели, куда и что указывать? если оставлять как есть что будет? где потом искать эту модель?
Pavel_Priluckiy
Основной диск, имя модели.
108742294395465908206@google
Доброе утро!
А сильно страшно что я на ogg файлах обучал?
Вот такое в консоли выдает, после того как я стал уже обученную модель запускать, все сделал и указал как скрине
Traceback (most recent call last):
File «D:\all\_self_proj\test\voice changer\RVC_New\runtime\lib\site-packages\gradio\routes.py», line 321, in run_predict
output = await app.blocks.process_api(
File «D:\all\_self_proj\test\voice changer\RVC_New\runtime\lib\site-packages\gradio\blocks.py», line 1007, in process_api
data = self.postprocess_data(fn_index, result[«prediction»], state)
File «D:\all\_self_proj\test\voice changer\RVC_New\runtime\lib\site-packages\gradio\blocks.py», line 953, in postprocess_data
prediction_value = block.postprocess(prediction_value)
File «D:\all\_self_proj\test\voice changer\RVC_New\runtime\lib\site-packages\gradio\components.py», line 2076, in postprocess
processing_utils.audio_to_file(sample_rate, data, file.name)
File «D:\all\_self_proj\test\voice changer\RVC_New\runtime\lib\site-packages\gradio\processing_utils.py», line 206, in audio_to_file
data = convert_to_16_bit_wav(data)
File «D:\all\_self_proj\test\voice changer\RVC_New\runtime\lib\site-packages\gradio\processing_utils.py», line 219, in convert_to_16_bit_wav
if data.dtype in [np.float64, np.float32, np.float16]:
AttributeError: 'NoneType' object has no attribute 'dtype'
108742294395465908206@google
Заработало, надо было прям точь в точь как на скрине все делать, в моем случае видомо не нравилось что не прописал название файла исходника с неймингом полным
1
Здравствуйте, подскажите при тренировке на этапе переработать данные выдает ошибку ['trainset_preprocess_pipeline_print.py', 'D:\\Dataset', '40000', '14',
'D:\\RVC_new/logs/ostrov', 'False']
D:\Dataset/ostrov.wav->Suc.
end preprocess
Где то читал что ошибка в этом файле trainset_preprocess_pipeline_print.py'
1
На форумах читал, что аудиофайл лучше разбивать на 10-20 секунд и чтоб меньше было пауз и пустот и тогда будет замечательная RVC модель.Вопрос можно ли добавить аудио «смеха», чтоб модель могла смеяться? Или это шляпа будет?
Z
Добрый день! Всё работает, только вопрос. Одна эпоха грузит в среднем 8-10 минут. Так и должно быть?
И как можно тормознуть процесс и потом продолжить? А то я пробовал закрывать, затем запускал с тем же параметрами, но началось всё с первой эпохи
Z
На что влияет параметр «Размер пачки для видео карты»? Я выставил его на 2 и скорость тренировки стала не 10, а 2 минуты.
r
Привет. Спасибо за прогу.
А есть вариант когда текст воспроизводит? Хочу мамин голос в стихи. мамы уже нет. И подскажи, пожалуйста, как сохранить обученные файлы, чтобы каждый раз не обучать по 5 часов. Я тут полистал, но не ношел информации которая была бы понятна. Спасибо.
1
Что то ничего не работает… Автор не указал подробно что после нажимать там стартов 3 штуки и как выставить поумолчания драйвер в звук устройствах по умолчанию или нет

Добавить комментарий

Сейчас на главной

Новости

Публикации

Как земные микробы перестраивают свою анатомию, чтобы выжить при 1000 атмосферах, и почему они идеально подходят для инопланетных океанов

Если попытаться оценить распределение жизни на Земле через массу углерода, из которого состоят все живые организмы, мы получим картину, сильно отличающуюся от привычной нам биологии поверхности. На...

А ваша собака «подпевает» музыке? Как древний инстинкт псовых доказал, что мы научились петь раньше, чем говорить

Способность петь в группе кажется одной из самых естественных форм человеческого поведения. В любой культуре люди собираются вместе, чтобы сплотить свои голоса в хоре, ритуальных песнопениях или во...

История манипулятора: от контактного датчика угла до цифровой системы анализа изображения

Почти все пользователи ПК и ноутбуков в повседневной работе используют манипулятор — мышь. Это могут быть обычные офисные модели с базовым оптическим сенсором, высокоточные игровые...

Вами играют, а вы не знаете: как Теория игр спасет вас от манипуляций и лишних трат

Продолжаем знакомиться с ментальными фишками, которые сделают вас более эффективными и успешными в жизни. Сегодня мы поговорим о Теории игр. Как она работает и советы как ее эффективно использовать.

Сто лет делают доступные швейцарские часы: обзор модели Grovana Tradition

Бренд Grovana - это «тихая Швейцария». Компания завоевывает внимание сегодня не кричащей рекламой, а последовательным, можно сказать, методичным изготовлением практичных и недорогих...

Первый оцифрованный мозг обрел тело: как цифровая копия дрозофилы впервые начала ходить в симуляторе

На протяжении десятилетий развитие вычислительных систем шло по пути создания искусственного интеллекта. Этот подход подразумевает написание программного кода и использование алгоритмов, которые...