Копируем и воспроизводим голос другого человека: ультимативный гайд по 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% гарантией узнаваемости человека на другом конце провода. Однако не стоит волноваться и бежать удалять записи своего голоса из интернета. Ведь нейронные сети — это всего лишь инструмент, использование которого зависит от человека, а человек — существо наказуемое. Уважайте свободу, используйте только проверенное ПО и ни в коем случае не позволяйте компаниям диктовать вам свои условия. С вами был Павел. Ещё увидимся!

104 комментария

87638502@vkontakte
Если вам нужна помощь по DeepFakeVoice, я буду рад ответить на ваши вопросы.
1590143@vkontakte
под AMD графику похоже биты 7z выложен…
1590143@vkontakte
и реально ли модель запустить под линуксом, есть ли какие гайды на этот счет? чтобы это сделать на убунте в консоли к примеру…
87638502@vkontakte
Половина ПО содержит файлы sh и имеет открытый исходный код. Однако, из-за особенностей архитектуры, поддержка AMD ограничена. Нужны костыли.
P
Как человек, кто реально заморачивался на тему переозвучки старой игры(для нас это было чудовищным ограничением),
могу сказать, что качество из записи Ремейка музяки — потрясное.
Лучше, что я слышал на тему русскоязычных сеток.
И эта штука может позволить нам сделать то, что ранее мы считали невыполнимым на достойном, качественном уровне.
Прекрасная статья, очень ценная в определенных условиях.
87638502@vkontakte
Спасибо за ваш комментарий.
P
Так это правда, а не просто продвижение статьи.
Великолепная работа(я про то, что автор нашел и сам обучился и красиво, креативно сделал).
Найти такую ценную штуку для обычных, скромных индивидуалистов-творцов.
Надеюсь Виталий на ближайших стримах покажет это людям в массы.
10147917009600730427@mailru
Программа для отделения вокала (голоса) от инструментала (музыкальных инструментов). а зачем искать… просто скачиваете МИНУС… это где только музыка без голоса))
P
Это не про это. Тут речь про то, что нейронка может по тексту его(текст) даже петь.
А текст можно вводить разный.
87638502@vkontakte
Можно использовать текст-> аудио, но в режиме реального времени получается более натурально.
Г
Я не совсем понял, разве в этой нейронке можно использовать голос на котором она обучилась, с вводимым текстом? мне показалось что тут только трансформация голос-голос
87638502@vkontakte
Берёте говорилку, печатаете текст, скачиваете аудиофайл с набранным текстом и вставляете её в нейронку. Всё, у вас напечатанный текст, с вашим голосом.
Г
А, в таком плане. Ну дубляж хороший из такого варианта не получится, ведь итоговый голос я так понимаю копирует интонации оригинальной дорожки.
87638502@vkontakte
Это реализуется заменой голоса в реальном времени.
Г
Если там есть возможность ввода текста, тогда подскажите где…
87638502@vkontakte
Вперёд https://cloud.yandex.ru/ru/services/speechkit#demo (не реклама).
B
Мне кажется что это отличная технология для локализации игр и фильмов. Актер начитывает текст, далее обучается нейронная сеть и делается озвучка голосом одного и того же актера для всех языков. При этом все при деле, актеры озвучивания не будут ныть что их голоса украли, а игры при этом будут стоить дешевле.
В будущем в играх можно вообще на лету генерировать голос персонажа из текста, это увеличит нагрузку на систему, но зато уменьшит объем игры и позволить добавлять переводы на любые языки.
87638502@vkontakte
Мы на пороге революции в озвучке и синтезе голоса. Осталось только дождаться автоматических переводчиков на лету.
10147917009600730427@mailru
Это же статья идеально подойдёт «Как стать мошенником и обманывать людей их же голосом»
87638502@vkontakte
Вся инструкция представлена только в ознакомительном виде. Автор не несёт никакой ответственности за её использование.
S
Увы, мошенники и так уже всё знают, их обучать нечему.
100004608662445@facebook
"… запустили петицию о защите своих голосов от нелегального синтеза с помощью нейросетей. Поводом стала ситуация, которая произошла с актрисой дубляжа, чей голос начали продавать на площадках без ее согласия." :)
87638502@vkontakte
Петиция не прецедент, пока ещё можно баловаться).
100004608662445@facebook
Конечно можно, добавил просто как существующий «факт». Сам ничего против не имею)
87638502@vkontakte
В общем, обучаем модели и лампово сохраняем в папочку на жёстком диске).
107911794818098262618@google
Твоя статья у меня в ноновстной ленте на телефоне выскочела.
102655002127258554820@google
Хм… А вообще, если помучится, то ведь можно использовать эту шляпу, что бы делать локализации голосами актеров.
Какой-нибудь там Джони Депп и бац, например на хинди вещает. Своим собственным голосом.
Такое было бы круто.
---
Увы, в моем случае этот инструмент не подходит — системные требования не позволяют пользоваться.
Но инструмент интересный, спасибо.
K
Судя по тому, что нагрузка на железо — не пошла, и в консоли всё встало на одном месте с ошибкой — то дальше процесс не пойдёт :(
(Железо 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.
K
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.
87638502@vkontakte
Попробуйте убрать галочку только для чтения с папки нейронки.
K
Спасибо! Галки убрал полностью, но проблема всё ещё осталась… Методом проб — убедился в одном, что процесс тренировки точно сыпет ошибками если задать параметр «Размер пачки для видеокарты» больше «6» (в моём случае по крайней мере, с RTX 3060 12 GB + Xeon E5-2673 V.3 + 16 GB DDR 4). А «Число процессов ЦП» — можно ставить любое, которое поддерживает процессор (а то сначала на него грешил, хоть и по логам видел, что проблема с памятью скорее). Лишних приложений на фоне не имею, даже какого-нибудь Стима/Дискорда, только браузер с оболочкой приложения, и всего двумя вкладками, "«Диспетчер задач», чтобы следить за нагрузкой, и антивирус… От того ещё больше не понимаю кстати, почему приложение в принципе придиралось с сообщением «Out of memory»… Благо что — сначала, когда получал ошибки при продолжении обучения — то приложение хотя бы загружало «контрольную точку», и продолжало с последней эпохи, на которой процесс сбоил, но теперь что-то — при указании точно такого же наименования модели, и пути до «Датасета» — тренировка началась с нуля… Эх… (
87638502@vkontakte
Отключайте антивирус и всё, что висит в фоне в Windows. На моей 3060 TI всё хорошо со значением настроек равной 12, но я использую оптимизированную ОС.
Вот например, только закончил делать.
https://www.youtube.com/watch?v=4l3S06r1Mt0
K
Не, ну… у меня в принципе никогда не запущено что-то лишнее, как написал выше, но факт что когда я пробовал закрывать окна, и запускать тренировку с тем же самым наименованием модели — то она спокойно подхватывала последнюю из сделанных эпох, и продолжало обучение. Но стоило мне только увеличить «Размер пачки для видеокарты» хотя бы до «8» — как я стал снова получать ошибки, и процесс тренировки даже не начинался из-за них (значения «11» и «12» — у меня тоже вызывают ошибки, только с немного другим текстом ошибок в консоли). Методом тыка, опять же, прочие показатели я повысил, но только с «Размер пачки для видеокарты» = «6» — процесс начинался без сбоев, и шёл хорошо (сейчас почти дошел до 100 эпох). Не подумайте лишнего только, я верю, что у Вас всё хорошо получилось на 3060 Ti, и претензий не имею, я сначала просто не совсем понимал, что именно вызывало проблему. Попробую поискать в инете то, как в оригинале звучит «Размер пачки для видеокарты», чтобы лучше понимать, за что оно отвечает, и для какого железа какие значения допустимы…
MitrikoR
да, раньше такое могли делать, только крутые специалисты монтажа, теперь любой уверенный пользователь виндовс может, конечно корявенько, но можем делать войс фейки.
Hoaxer_8D
А для датасета можно использовать аудио файл с нарезкой конкретного голоса и разными фразами надёрганными с примерно разных источников, особенно если не имеется длинного монолога минут на 10-30?
87638502@vkontakte
Конечно, главное их потом соедините вместе в один аудиофайл для более быстрого обучения модели.
А
Подскажите, пожалуйста, можно ли продолжить обучение уже готовой модели для лучшего результата?
87638502@vkontakte
Да, просто повторите изначальные настройки и название, модель автоматом подхватится.
12004372947383366371@mailru
Пробовал эту технологию.
Тренировал голос около 1000 эпох для озвучки аудиокниг голосом автора.
Как результат — не очень. Тембр голоса да, похож. Но, так как для накладки используется претренированный на английском датасете русский голос. При озвучке текста TTS много неправильных ударений в словах, а также интонации в вопросах, соответсвующие английскому языку. И управлять и изменять это невозможно.
То есть это не клонирование, а некоторая похожесть. Для баловства в накладке для песен подойдет, т.к. музыкальный фон может сгладить артефакты.
И
да, получается мега-картавый француз какой-то.
n
Да, вещь любопытная.
По сути, амплитудный рельеф оригинала и его фундаментальная частота используются, как опора для синтеза новой сущности, с приложением нового голоса, с его родным тембром, чтобы масиксимально приблизить «нового» исполнителя к «старому».
100019608688827903545@google
Я как понял, голос онлайн можно взять с любого ютубера? Я просто хочу обеднить свой голос с другим челом, для видео и дис.
Ф
Хочу загрузить свой голос ютубера, всё сделал по картинке, меня волнует только пару вещей, хватит ли 500 эпох, это как я понял качество речи? И самое главное на сколько минут нужно загрузить аудио голос и сколько штук? Мне просто нужно сделать без всяких артефактов, что бы было чётко как у вас на видео. Мне нужно озвучить книгу.
Ф
Вообщем, сделал я, результатом не доволен, звук лаганный как будто пинг, но звук похож. До этого сделал 20 чистых аудио нарезок по 10 сек, сделал как на картинке, за ночь обработало. Мб дело в программе?
87638502@vkontakte
Я же внятно написал, что минимум это 15 минут для датасета. Эпох хватает 400.
Н
Здравствуйте а на видеочипе Nvidea Geforce GT540M с 1гб видеопамяти реально будет запустить это?
87638502@vkontakte
Нет, требуются CUDA. Но вы можете запустить на процессоре.
Ф
После нажатия кнопки переработать данные происходит start preprocess дальнейшие манипуляции приводят к ошибке((
87638502@vkontakte
Делаете что-то не правильно.
Ф
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
87638502@vkontakte
«Новая папка (2)» ну не используйте вы кириллицу, ёкарный театр…
И
подскажите, пожалуйста, а что с тритоном делать? что это за ошибка такая? гуглю, никак ответ найти не могу…
Triton is not available, some optimizations will not be enabled. This is just a warning: No module named 'triton'
Г
Прекрасная статья! Спасибо, что поделились плодами труда! Не подскажете, где можно найти подобную нейронку под MAC?
87638502@vkontakte
Только Windows и Linux. Про аналоги для MAC мне неизвестно.
10147917009600730427@mailru
Хороший урок как всё делать… а потом удивляемся как это по телефону мошенники звонят голосом ваших родственников и просят перевести им деньги))
87638502@vkontakte
Не арбалет убивает человека, а тот, кто стреляет из него.
Ф
а какую выбирать модель голосовых черт? У меня какие-то стандартные висят
Ф
голоса обновляются, а индексы нет(((
I
Задал количество эпох равным 500. В командной строке остановились записи на Epoch: 389. Прошло времени 21 час. При попытке использовать натренированную модель ее не видно в списке, значит она не натренирована, поскольку во вкладке «Тренировка» в самом правом нижнем окне до сих пор идет Processing. Характеристики компьютера: Ryzen 5 3600, RTX 3070, RAM 32 GB. В чем может быть причина, что модель до сих пор учится или хрен его знает, я не знаю, как проверить это, т.к. в папке Dataset ничего нет, ровно как и в папке RVC-new (в ней лежат только премоделенные сохраненные версии).
87638502@vkontakte
Что-то сделали неправильно.
I
Проблема решилась сама собой. Я просто обновил страницу, затем еще раз запустил тренировку и процесс пошел, а затем завершился. В чем была причина обрыва тренировки я не понял.
149067857@vkontakte
С чем может быть связана долгая обработка эпох?
Первый шаблон был на 500 эпох, со средней обработкой в районе 26 сек. Файлом было голосовое сообщение из тг.
Решил сделать второй: в независимости от длины аудио (аудио одно и то же, пытался обработать 5 мин и 10 мин), средняя обработка эпохи в районе 2х минут. Объем файла 5мб. Аудиодорожка из видео в хорошем качестве без посторонних шумов.
i5 12400f + 16gb 3600 + 3070ti (8гб видеопамяти).
Судя по мониторингу, видеопамять заполнена полностью, загрузка 99%, ОЗУ стабильно на 12гб из 16, ЦП загружен на 30-40%.
87638502@vkontakte
Что-то у вас не то. Уменьшите датасет до 10 минут.
A
добрый день. за ночь процес вроде бы завершился, но не моуг понятьгде сохранилась голосовая модель?
A
В папке датасет нет ничего кроме моего файла с голосом
87638502@vkontakte
Датасет это файлы для обучения. Итоговая модель хранится в папке скрипта нейросети.
A
Спасибо за ответ! А Как папка назыввается?
87638502@vkontakte
Поищите по названию модели.
30018604@vkontakte
«Размер пачки для видеокарты» — это число эпох, обрабатываемое за раз? Как подобрать оптимальное число, если у моей видеокарты 6ГБ памяти?
87638502@vkontakte
Это не связано, ставьте не больше 500 эпох.
109829541855382572347@google
Добрый день, есть ли возможность озвучивать напечатанный текст с помощью голосовой модели?
87638502@vkontakte
Напечатайте текст в говорилке, скачайте его в формате wav и прогоните в ПО.
Don Maestro
Здравствуйте! Подскажите, пожалуйста, как можно улучшить выдаваемый результат? тренировал на 35 минутах голоса, 500 эпох. На выходе голос лишь отдаленно похож. но много каких-то шумов, будто лагов. При попытке этим голосом что-то спеть, частоты голоса совсем зашкаливают. В общем. даже близко не похоже на вот это космическое качество: https://www.youtube.com/watch?v=4l3S06r1Mt0
Д
Постоянно пишет:
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]
что делать?
И
Здравствуйте! Отличная статья, спасибо! Только нейронка не выдаёт адрес. В чём может быть проблема? подскажите, пожалуйста.
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
И
переустановил питон, теперь эта ошибка:
C:\WINDOWS\system32>runtime\python.exe infer-web.py --pycmd runtime\python.exe --port 7897
Системе не удается найти указанный путь.
C:\WINDOWS\system32>pause
Для продолжения нажмите любую клавишу...
И
снёс питон ещё раз, переустановил, перезагрузил комп — теперь ещё одна ошибка. помогите, пожалуйста, не пойму как решить эту проблему, так охота поработать с этой нейронкой и не пойму в чём проблема.
Triton is not available, some optimizations will not be enabled. This is just a warning: No module named 'triton'
что за тритон? я уже скачал какой-то файл с гитхаба, но куда его деть…
И
короче, всё заработало, всё чётко. правда, нейронка странно очень картавит. да и в итоге голос не похожим получился. вообще не похожим на то, с чего делалась модель.
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/
U
Не могу «победить» смену голоса в реал тайме. В 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'
Уже что только не пробовал.
U
Решил проблему.
Нужно загружать модель из папки «weights».
Д
А как в данном случае можно текст преобразовать в речь (обученной модели)?
87638502@vkontakte
Используйте «говорилку».
L
Как сильно улучшает качество увеличение количество эпох? Будет ли хотя бы немного заметна разница, если при недостостатке исходного голоса прогнать не, условные, 200 эпох, а 1000?
L
После пары эксперементов однаружил, что переполнение видео памяти сильно замедляет тренировку. Есть образец голоса в 2х файлах сумарно на ~39 минут. На 4070 ti super при переполнении памяти (было занято 4 до запуска нейронки и выставил размер пачки 16) 1 эпоха занимает от 1,5 до более 3 минут. Если же выставить 12, то переполнения не будет и 1 эпоха сокращается до стабильных 30 секунд, иногда даже меньше.
Upd: сделал разгон вместо андерклока (2610 мгц --> 2940 мгц и -300 по памяти --> +1000) и 30 сек сократились до 20-22
87638502@vkontakte
Оптимально 300-600 эпох. Излишнее обучение модели может только испортить результат.
105575809542494542559@google
Видеокарта… Я правильно понимаю, счастливые обладатели интегрированной графики идут лесом? )))
87638502@vkontakte
Да, вслед за обладателями видеокарт от 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'

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

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

Новости

Публикации

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

Лето — пора яркого солнца и прогулок на свежем воздухе. Но высокая температура может стать настоящим вызовом, если тщательно не продумать образ. Поговорим о том, как правильно одеваться...

Обзор MobaPad M6S: максимально удобная альтернатива Joy-Conn для Nintendo Switch

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

Обзор веб-камеры Ugreen 2К: автофокус, два микрофона, удобное крепление

Веб-камера Ugreen представляет собой качественное устройство для видеосвязи и стриминга. Она имеет компактный пластиковый корпус в сочетании серого и чёрного цветов, который обеспечивает надёжную...

Выставка Computex 2024 на Тайване, взгляд визитера. Часть 2 -Произведения искусства в виде ПК, стенды ASrock, MSI, Manli. Leadtek, Зал2, центр Тайбэя

Ежегодная выставка IT-технологий и компаний Computex 2024 на Тайване. Стенды ASRock, MSI, Manli, Leadtek, Общее по Залу 1, Зал 2 кратко, прогулка по Тайбэю: Мемориальный комплекс Чан Кай Ши,...

Почему наш спорт превратился в рекламный трэш. Мнение болельщика

Знаете, я иногда не прочь посмотреть футбол, в том числе — отечественный. Недавно включил очередной матч, и поймал себя на странной мысли: это уже не футболисты, а бегающие по огромному...

Что делать, если вам пришел штраф за чужое нарушение?

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