vlomme / Multi-Tacotron-Voice-Cloning

Phoneme multilingual(Russian-English) voice cloning based on
https://github.com/CorentinJ/Real-Time-Voice-Cloning
Other
379 stars 97 forks source link

Вопрос по поводу поддержки #13

Closed Snuffy4 closed 4 years ago

Snuffy4 commented 4 years ago

Здравствуйте. У меня видео-карта GeForce GT 630M. Уж очень нужно запустить программу, но там у PyTorch минимум compute capability 3.0, а на моей видеокарте 2.1 Нужен именно интерфейс, для изучения графиков, на Colab только ввиде командной строки. Если устанавливаю версию только CPU, то пишет, что не поддерживается. Может быть есть способ отключить использование GPU и перейти на CPU?

vlomme commented 4 years ago

Здравствуйте. К сожалению, нет. Я собираюсь летом заняться улучшением модели

Snuffy4 commented 4 years ago

А можете мне объяснить по подробнее про demo_cli и demo_toolbox? Я в Colab загрузил свою запись голоса, попробовал сгенерировать запись с другим текстом, но получилось не похоже, некоторые звуки заедали. Что нужно делать?

vlomme commented 4 years ago

Дообучить на большом объёме данных(>1000 часов и голосов). К сожалению, сейчас она работает плохо=(

Snuffy4 commented 4 years ago

А я могу вырезать фразы из фильма одного героя, дообучить ими, и затем сгенерировать уже другие фразы голосом этого героя?

vlomme commented 4 years ago

В данном модели нет. Здесь нужно обучать сразу всеми голосами. Возьмите обычный Tacotron, там так можно сделать

Snuffy4 commented 4 years ago

А подойдет для моей видео-карты?

vlomme commented 4 years ago

Можно найти CPU версию

Snuffy4 commented 4 years ago

Спасибо!

Snuffy4 commented 4 years ago

А где-то есть инструкция на русском, никак разобраться с обучением не могу

vlomme commented 4 years ago

Видел только тут https://habr.com/ru/company/speechpro/blog/358816/

Snuffy4 commented 4 years ago

Подскажите пожалуйста, Jupyter - это наподобии Colab? И в чем отличие? У меня слабая видеокарта, которая уже не поддерживается, в Jupyter можно выбрать поддерживающуюся видеокарту, как в Colab?

vlomme commented 4 years ago

Jupyter - работает на локальная машине, там только своё железо(или железо арендованного сервера) Colab - сервис гугл, на котором можно бесплатно использовать видеокарту гугла По функционалу они похожи

Snuffy4 commented 4 years ago

Добрый вечер. Вот решил попробовать Tacotron 2 NVIDIA. Все установилось на Google Colab, скачал предварительно обученные модели - все работает. Но никак не могу понять, то есть чтобы заговорить голосом нужного персонажа, мне нужно создать новую чистую модель, далее загрузить папку с .wav файлами с отрывками его речи и обучить эту новосозданную модель? Если это так, то как создать новую модель? Буду очень благодарен за помощь.

vlomme commented 4 years ago

Нужно дообучить предобученную модель нужным голосом. А как это делать,, нужно читать инструкцию на самом репозитории

Snuffy4 commented 4 years ago

А если дообучить предобученную модель, то будет вероятнее смесь голосов (если персонаж - мужчина, а предобученная модель - женский голос). Как-то можно создать чистую модель или эту очистить?

vlomme commented 4 years ago

Конечно можно, но нужно 10 часов чистой, размеченной речи

Snuffy4 commented 4 years ago

А если что, то как создается?

vlomme commented 4 years ago

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

Snuffy4 commented 4 years ago

У меня есть еще вопрос. Т.е записывать открывками, по сколько секунд каждый, формат WAV? И какие дополнительно файлы нужно загрузить в папку с этими записями?

vlomme commented 4 years ago

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

Snuffy4 commented 4 years ago

В вашей статье на хабр есть готовые библиотеки с русскоязычными голосами, объясните пожалуйста для чего необходим файл metadata? Файл с текстовой расшифровкой звука вы имеете ввиду вот такого типа файл: (Сейчас при обучении в настройках по умолчанию был указан путь на .txt файл с примерно такими строчками)

DUMMY/LJ050-0234.wav|It has used other Treasury law enforcement agents on special experiments in building and route surveys in places to which the President frequently travels.
DUMMY/LJ019-0373.wav|to avail himself of his powers, as it was difficult to bring home the derelictions of duties and evasion of the acts. Too much was left to the inspectors.
DUMMY/LJ050-0207.wav|Although Chief Rowley does not complain about the pay scale for Secret Service agents,
vlomme commented 4 years ago

Вы хотите создать модель синтеза, соответсвенно на вход модели поступает текст, а на выходе должен получиться звук. в metadata содержится или текст, или ссылка на звук и текст. Вы задаёте очень старнные вопросы, попробуйте поискать ответ сами, это куда полезнее, чем задавать вопросы

Snuffy4 commented 4 years ago

Просто очень мало русскоязычных источников

vlomme commented 4 years ago

Метод проб и ошибок. Плюс переводчики сейчас неплохо работают

Snuffy4 commented 4 years ago

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

vlomme commented 4 years ago

Тот, что вы сможете обучить. Начните с повторения инструкции https://habr.com/ru/company/speechpro/blog/358816/

Snuffy4 commented 4 years ago

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

ZirumAndBigBro commented 4 years ago

У меня получилось запустить вот этот вариант такотрона2 https://github.com/Rayhane-mamah/Tacotron-2 . Тут важно использовать tensorflow версии 1.10. С другими версиями проблемы будут. Для того чтобы сделать свой датасет, можете воспользоваться небольшой программкой https://github.com/ZirumAndBigBro/Audio-transcriptor-russian-

panichmaxim commented 4 years ago

Hi guys, I am getting error in Colab Online Demo: https://colab.research.google.com/github/vlomme/Multi-Tacotron-Voice-Cloning/blob/master/Multi_Tacotron_Voice_Cloning.ipynb

Can you please tell me how to fix it? Cell !python demo_cli.py -p "ex.wav" -t "Hello my friends. Я многоязычный синтез построенный на tacotron. Шла саша по шоссе и сосала сушку" --no_sound Output /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint8 = np.dtype([("qint8", np.int8, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint8 = np.dtype([("quint8", np.uint8, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint16 = np.dtype([("qint16", np.int16, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint16 = np.dtype([("quint16", np.uint16, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint32 = np.dtype([("qint32", np.int32, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. np_resource = np.dtype([("resource", np.ubyte, 1)]) Traceback (most recent call last): File "demo_cli.py", line 3, in <module> from synthesizer.inference import Synthesizer File "/content/Multi-Tacotron-Voice-Cloning/synthesizer/inference.py", line 1, in <module> from synthesizer.tacotron2 import Tacotron2 File "/content/Multi-Tacotron-Voice-Cloning/synthesizer/tacotron2.py", line 3, in <module> from synthesizer.models import create_model File "/content/Multi-Tacotron-Voice-Cloning/synthesizer/models/__init__.py", line 1, in <module> from .tacotron import Tacotron File "/content/Multi-Tacotron-Voice-Cloning/synthesizer/models/tacotron.py", line 1, in <module> import tensorflow as tf File "/usr/local/lib/python3.6/dist-packages/tensorflow/__init__.py", line 28, in <module> from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/__init__.py", line 83, in <module> from tensorflow.python import keras File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/__init__.py", line 26, in <module> from tensorflow.python.keras import activations File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/activations.py", line 24, in <module> from tensorflow.python.keras.utils.generic_utils import deserialize_keras_object File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/__init__.py", line 39, in <module> from tensorflow.python.keras.utils.multi_gpu_utils import multi_gpu_model File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/multi_gpu_utils.py", line 22, in <module> from tensorflow.python.keras.engine.training import Model File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py", line 40, in <module> from tensorflow.python.keras.engine import network File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/network.py", line 39, in <module> from tensorflow.python.keras import saving File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/saving/__init__.py", line 33, in <module> from tensorflow.python.keras.saving.saved_model import export_saved_model ImportError: cannot import name 'export_saved_model'

vlomme commented 4 years ago

this problem is the new TensorFlow https://stackoverflow.com/questions/60879608/tensorflow-raised-error-importerror-cannot-import-name-export-saved-model

panichmaxim commented 4 years ago

Yeah, I found this post and was trying to fix it like that, but then another error occurred, then another and in the end, I was stuck for several hours =(( Can you please update Colab Online Demo so it would work?