Как с помощью python синтезировать голос моего знакомого?

Пишу умного голосового ассистента. Хочу заставить его говорить голосом своего друга. Ясное дело, что можно просто озвучить каждый звук русского алфавита по отдельности, а затем просто из этих звуков составлять слова, но этот способ мне не нравится из-за низкого качества результата. Слышал про технологию DeepFake. Можно ли с ее помощью как-то решить проблему?


Ответы (1 шт):

Автор решения: S.H.

Это очень хороший вопрос!

Дело в том, что даже голоса тех ассистентов, которые "доступны публично", построены на основе голоса живого человека, конкретного диктора.

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

Возможен другой путь - обучение сети с нуля, на основе только голоса конкретного человека. Но при этом возникает проблема: нужна а)большая и б) тщательно размещенная обучающая выборка

Что такое "размещенная выборка"? Это значит, что про любую фразу известен исходный текст, и некая "метаинформация", которую упрощённо можно назвать "интонационная окраска". К примеру, если Вы проспали и опаздываете, логично, что "помощник" сообщит Вам об этом взволнованно.

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

→ Ссылка