Как из четырёх минут речи мы воссоздали голос молодого Леонида Куравлёва

Всем привет! Меня зовут Олег Петров, я руковожу группой R&D в группе компаний ЦРТ (и это тоже Сбер!). Мы давно работаем не только над распознаванием речи, но и умеем синтезировать голоса. Недавно к нам пришли коллеги с предложением поучаствовать в развлекательной истории — «озвучить» героя Леонида Куравлёва в новом ролике.

Лицо Куравлева для него было воссоздано по кадрам из фильма «Иван Васильевич меняет профессию» и наложено на лицо другого актера с помощью технологии Deepfake. Чтобы мы смогли не только увидеть, но и услышать в 2020 году Жоржа Милославского, мы решили помочь коллегам. Ведь с годами голос у всех нас меняется и даже если бы Леонид Вячеславович озвучил героя, эффект был бы не тот.

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

«Иван Васильевич меняет профессию» вышел в прокат в 1973 году. В это десятилетие Леонид Куравлёв успел сняться в паре десятков полнометражных фильмов. Тем не менее это никак не упрощало нам задачу:

  • У персонажей могло быть мало длинных монологов
  • В художественных фильмах на речь накладываются акустические эффекты, фоновая музыка и пр.
  • Сам по себе звук старых фильмов 70-х годов, пусть даже оцифрованных, содержит дефекты
  • Актер всегда подстраивает манеру речи под персонажа, отыгрывает различные эмоции, а было необходимо повторить манеру речи именно персонажа Жоржа Милославского.

И, несмотря на большой уровень неопределённости, мы взялись за эту задачу, и вот как подошли к ее решению.

Сбор данных для обучения TTS

TTS (Text-to-speech) — это технология перевода печатного текста в звучащую речь. В настоящее время она реализуется, как правило, на стеке методов глубинного обучения, что позволяет добиться высокого качества звучания синтезированного голоса по сравнению с другими подходами. Например, используя возможности суперкомпьютера «Кристофари» модель для этого можно обучить всего за пару часов.

Основным источником речевого материала послужили фрагменты аудио из кинофильмов с участием Леонида Куравлева — «Глубокие родственники», «Не может быть», «Иван Васильевич меняет профессию», «Суета сует». Далеко не все эпизоды появления героя фильма являются подходящими для цели обучения системы TTS. Необходимо минимизировать наличие фоновой музыки и шумов, речи других актёров, различных неречевых проявлений. После кропотливого поиска подходящих фрагментов у нас набралось от силы 7 минут речи, довольно экспрессивной и разнообразно звучащей в зависимости от характера персонажа, которого играл Леонид. Кроме того, в каждом фильме была своя акустическая картина, что также сильно влияет на восприятие и усложняет задачу.

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

Точное расположение фонем на записи не так важно для модели-синтезатора, если она содержит так называемый модуль внимания (Attention). Механизм внимания позволяет обучить модель самостоятельно различать фонемы, однако разметка по паузам куда более важна — во-первых, паузы могут сильно различаться по длине, и знание точной длины позволяет сохранить стабильность при обучении, а во-вторых, паузы часто являются индикаторами границ синтагм — самостоятельных структурных единиц речи — по которым часто можно провести границы независимых высказываний. Это позволяет разбить слишком длинные фразы на фразы покороче для более эффективного использования памяти GPU в процессе обучения, а также несколько увеличить набор данных путем перебора всех возможный вариантов разбиения.

Очистка данных

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

Для того, чтобы исправить это мы воспользовались двумя open-source проектами: моделью для улучшения качества речи, работающей непосредственно на сыром аудиосигнале, а также алгоритмом для разделения музыкальной композиции на партии: голос, барабаны, басы и остальное. Нам было необходимо получить чистые записи голоса диктора с максимальным качеством звука (для нашей системы TTS — 22050 Гц). Любые артефакты непременно просачиваются в нейронную модель голоса диктора, особенно когда речь идет о столь малой обучающей выборке. Благодаря перечисленным проектам удалось полностью отделить музыку от голоса без существенной потери качества примерно для половины собранных примеров.

В итоге, после всех манипуляций у нас осталось равно 4 минуты и 12 секунд чистой речи голоса Леонида Вячеславовича Куравлева. Стало понятно, что наша боевая архитектура TTS, которую, к слову, вы можете послушать в облаке), не подходит для такого случая. Однако, как нельзя кстати под рукой была относительно свежая необычная модель TTS от NVidia под названием Flowtron, основанная на методе обратных авторегрессионных потоков (Inverse Autoregressive Flow, IAF).

Главной особенностью модели Flowtron является то, что с её помощью можно синтезировать различные варианты произношения одного и того же текста, с большим разнообразием интонаций и стиля речи. Но это свойство — «палка о двух концах», так как генерируемые моделью примеры получаются далеко не всегда адекватными с точки зрения восприятия. Интонации могут меняться очень резко и неестественно, частота основного тона (высота голоса) может изменяться в широких пределах, порождая забавное, но не требуемое звучание. Чем больше исходных данных для обучения, тем естественнее и стабильнее получается генерировать речь. Но даже при малом количестве материала иногда получается синтезировать хорошие примеры. Их мы и решили получить.

Для начала нужно было уже имеющуюся модель, обученную на большом экспрессивном наборе данных, обучить говорить новым голосом. Если просто взять и «скормить» ей все 4 минуты 12 секунд данных то, в зависимости от параметра, регулирующего чувствительность обучения, модель либо сразу переобучится (будет говорить очень плохо), либо обучится очень-очень плохо (тоже говорить новым голосом не будет). И «ловить» оптимальное значение параметра можно долго и увлеченно. Хорошей практикой является замешивание новых данных со «старыми» в удобной пропорции (например, один к десяти). Тогда до начала процесса переобучения, новые данные успеют неплохо «усвоиться». Так и поступили, но сначала нарезали примеры по паузам с перекрытием, что легким движением пальцев по клавиатуре превращает 4 минуты речи в 23.

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

Тут нам на помощь приходят нормализующие потоки, на которых и построена сама модель. По сути, Flowtron обучается отображать акустические признаки речевого сигнала с учетом текста в точки из нормального распределения той же размерности, причем это отображение обратимое. Во время синтеза идет обратный процесс (поэтому потоки обратные и нормализующие). Таким образом можно взять запись, отобразить ее с помощью модели в конкретные точки, а из этих точек получить обратно эту же запись. Бесполезно? Не совсем! Можно эти точки аккуратно смешать с такими же из другой записи и тем самым частично перенести стиль последней. Можно к ним добавить немного шума и получить почти исходную запись, немного отличную от оригинала. Но если добавить много шума, то получится белиберда. Таким образом можно размножить исходный датасет, получив много похожих, но не совсем одинаковых примеров!

Однако полностью полагаться на порядочность модели в этом случае нельзя. Она может насинтезировать много всякого. Пришлось прослушать несколько тысяч таких примеров размноженного датасета и экспертно отобрать качественные. Такой подход можно назвать «модель с ушами». Он позволил из исходных 23 минут (с учетом нарезки по паузам) получить целый час обучающих данных.

Такая многостадийная схема обучения дала свои плоды. Хоть и большая часть синтезируемых с её помощью примеров уже звучала вполне достойно, все равно потребовался «brute force». К исходным точкам мы подмешали точки от примеров из «Ивана Васильевича». Где-то получился эффект старой пленки или большого помещения. Или фраза получилась голосом артиста, но не по-«милославски». Выбирать уже пришлось «всего» из пары тройки тысяч сэмплов. Получилось около трех сотен примеров требуемых коротких фраз с большим разнообразием стилей и интонаций, для чего мы, собственно, и отобрали семплы для проморолика Сбера.

Таким образом, проведя своеобразный недельный хакатон в нашей команде синтеза речи ЦРТ, мы смогли всего лишь по 4-м минутам речи воссоздать голос 50-ти летней давности. Технология, опробованная нами, открывает возможности по воссозданию давно утраченных голосов известных личностей по экстремально малому объему материала. То, что из всего этого получилось в итоге, вы можете посмотреть.

Прочитав все это, вы наверняка подумали, что такие технологические возможности ставят под сомнение надежность биометрических систем, ведь голос любого публичного человека, видеоблогера или обычного пользователя соцсетей, который публикует любительские видеоролики, легко подделать. Несмотря на то, что на слух синтезированный голос Леонида Куравлева неотличим от реального, — это все-таки синтез. А значит содержит такие характеристики звука, которые указывают на то, что голос не является живым. Антиспуфингу, защите от хакеров, часто посвящают специальные научные конкурсы, в том числе мировые, где наша команда не раз побеждала. Мы в ЦРТ считаем, что разработчики всегда должны быть на шаг впереди, и не только создавать новые технологии и продукты на их основе, но и постоянно искать новые средства защиты, не останавливаясь на достигнутом.

{ "author_name": "Сбер", "author_type": "editor", "tags": [], "comments": 82, "likes": 25, "favorites": 37, "is_advertisement": false, "subsite_label": "services", "id": 183175, "is_wide": false, "is_ugc": false, "date": "Wed, 02 Dec 2020 14:18:52 +0300", "is_special": false }
0
82 комментария
Популярные
По порядку
Написать комментарий...
81

Вопрос про воссоздание советских вкладов уже был или еще не задавался? 

Ответить
27

ваши вклады в надёжных руках, не переживайте.

Ответить
71

А чья была идея вообще сделать вора лицом банка?

Ответить
10

плюсанул, но удивительное дело, на эмоциональном уровне зашло, и ностальгия и увидеть знакомого персонажа пересилило род деятельности этого персонажа.

Ответить
–1

Простота хуже воровста.

Ответить
–1

Рыбак рыбака

Ответить
0

То есть в фильме это не смущало, и вопрос решили задать только на второй итерации рекламы?

Ответить
2

Что вор в фильме с издевкой предлагает не хранить деньги дома? 
А в рекламе - радостно отрывается с сервисами банка?

Вы как-то странно фильм смотрели... а смотрели вообще?  А рекламу?

Ответить
0

Смотрел и фильм, и рекламу. В рекламе он жадно смотрит на котлету денег, что девушка достала из банкомата, надевает перчатки и потирает руки для получения того (взлом/кардинг?), что позволит ему одеться в клоунскую одежду и сфоткаться каким-то хмырём на сцене.

Ответить
51

Дорогой Сбербанк, после того, как вы саботировали СБП, пока вас Центробанк не оштрафовал, после того, как вы запрятали подключение СБП в такую глубину, чтобы точно никто не нашел, а продолжаете втирать людям дичь про процент за перевод внутри банка и ограничиваете 50К суточную выдачу денег с московской карты в ближнем подмосковье (другой регион для вас), после того, как вы залили в уши всей стране ад про «карточный счёт» (и теперь две трети населения уверены, что карточка и счёт — это одно и то же) и годами держите людям открытые фантомные счёта по давно закрытым картам, выбор Милославского в качестве амбассадора выглядит очень логичным.

Этим летом я столкнулся с феерией абсурда – случайно отправил свои деньги со счёта ИП на свой счёт физика в Сбербанке, не обратив внимания, что этой карты давно нет. Вы думаете, что деньги вернулись назад из-за мёртвых реквизитов? Или упали на другой мой счёт? Нет, они благополучно повисли без ответа на фантомом счёте, которого не видно ни в приложении, ни на сайте. Мой банк клялся, что платёж успешно прошел, Сбербанк деньги принял, а дальше тишина. Только четвёртый по счёту ваш специалист поддержки увидел их, и ответил, что вы не можете перевести мои деньги с одного моего счёта в Сбербанке на другой мой счёт Сбербанке никаким образом. КАК ЭТО!? Что мне нужно в разгар ковида  идти в отделение, и писать вам заявление. Но даже по этому заявлению вы не можете перевести эти средства на мой счёт внутри банка, а только выдать их мне наличными через кассу!! В 2020–м. Но, поскольку «карта открыта в Москве», а я на самоизоляции в подмосковье, выдавать вы будете мне их порциями по 50 000 руб. в сутки. Я как идиот ходил в отделение, как на работу, стоял в очереди с талончиком, подписывал кучу бумаг, и вынимал каждый раз по 50 000 руб, Пока не вытащил весь свой платёж. После этого я закрыл все счета в сбере, и больше не хочу иметь с вами дел вообще. Единственное, зачем вы были нужны – переводить чаевые курьерам, поскольку перевести их по СБП из других банков вашими усилиями невозможно. Ситуацию спасло то, что тинькофф позволяет переводить на счета Сбербанка без комиссии. После этого смысл в зелёной карте пропал. 

Ответить
11

Кстати да. СБП так запрятано, что еле найдешь

Ответить
4

Спасибо Тинькофф-банку, который написал подробную инструкцию как найти это в он-лайн сберкассе и подключить. 

Ответить
15

Все для удобства клиентов :)

Ответить
5

"С 10 декабря меняем тарифы по дебетовым картам за переводы в Сбербанк по номеру телефона.
Бесплатными остаются переводы через Систему быстрых платежей.
Если же перевод идет не через СБП, будет комиссия 1,5%, но не менее 30 рублей:"

Ответить
–1

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

Ответить
2

А когда планируется введение комиссии за СБП?

Ответить
0

Об этом нет никаких новостей. СБП бесплатна.

Ответить
1

новостей нет, а планы есть?

Ответить
0

Если только у ЦБ

Ответить
0

Думаю, Тинькофф более, чем мы осведомлён о планах ЦБ

Ответить
–1

И планов нет.

Ответить
0

а толку - скоро 100к будут мало что стоить, тут или лимит повышать или же проводить анальное зондирование всем банкам. 

Ответить
2

Почему таааааак дорого? 1.5% - это же пздс :(

Ответить
–2

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

Ответить
0

Ну вот… А я только их похвалил за бесплатные переводы на Сбер... Такое ощущение, что прочитали мой пост и спохватились – а почему у нас это бесплатно? >< 

Ответить
0

Ну теперь то удобство с комиссией )

Ответить
–2

И здесь проплаченная реклама Тинькова 🤦🏻‍♂️

Ответить
0

Честно скажу, я заказал карточку тинькофф в ковидное время этим летом, когда выбесил сбер описанной ситуацией. Друзья сказали, что тинькофф позволяет переводить на сбер «по номеру телефона» и по номеру карты без комиссий (не по СБП). Мой основной банк (который я менять не собираюсь) увы, хочет за это комиссию. А необходимость мелких переводов на сбер постоянно есть – то чаевые курьеру оставить, то оплатить ветеринара для кошки, то перевести по номеру, если зашёл на рынок. Немного раздражает обилие акций и рекламных уведомлений в их приложении, но дело своё делает. Для меня тинькофф стал просто заменой Сберу - дешёвая карточка, которую не жалко, и которая позволяет переводить кому угодно в сбер мелкие суммы. Но Тиньковым был скорее приятно удивлён.

Ответить
0

Да мне по фигу на ваш рекламный пост. Гуляйте

Ответить
7

Приемная по другому адресу

Ответить
0

Ситуацию спасло то, что тинькофф позволяет переводить на счета Сбербанка без комиссии

Это вчера, а сегодня вот:

Ответить
6

Если не придираться, то ролик вышел крутым, особенно аудио ряд хорош. Прям не похоже на сбер )))

Ответить
15

Герман Оскарович, хватит уже.

Ответить
0

Паранойя - она такая. =)

Ответить
13

Вот скажите, мне одному кажется использовать вора (а он для меня ассоциируется только с вором) для рекламы банка странным?

Ответить
8

Дорогой Сбер. Вы каждый день будете на этом по кусочкам хайпиться?)
Ну ладно. Где наглядный материал для юных дипфейкеров? Вся статья о том, как 24 минут выжимали образцы голоса Куравлева, когда можно было просто взять и добавить к обучению как минимум ближайшие фильмы из его фильмографии))

Ответить
1

1. В ближайших фильмах тот же персонаж? С таким же голосом и оборотами?
2. «Каждый день» - да этой рекламе второй день. Реклама (если отбросить смыслы, широко раскритикованные в соседней статье) - довольно яркая (хотя и прямолинейная). Есть про что рассказать. Это сайт про предпринимателей или маркетинг ведь, не все же про проблемы Озона в приемной читать.
3. Пиарится не самолично Сбер, тут немного смещены акценты.

Ответить
2

Я может не секу в голосовом дипфейкинге, но обороты речи "машине" не особо то и нужны. Манера речи - может быть, но не речевые обороты. ИИшка же не фразы для персонажа рекламы продумывала?

Ответить
0

Тут соглашусь, но хотелось бы узнать мнение @Сбер 

Ответить
6

Так толсто, что даже тонко. Даже для сбера, который под другим именем спиzдил триллионы в 90х, а в 2020х хвастается триллионом, но уже прибыли, и не думает что-то там кому-то возвращать. Национализируйте уже эту зелёную полностью, смотреть противно. 

Ответить
6

Потренировались на рекламе, теперь давайте серьёзным делом займитесь - Брюса Ли возвращайте на экраны, "Кулак ярости 2" снимайте.

А ещё Бодрова вертайте, "Брат 3" много людей ждут!! 1

Ответить
2

Как и новые фильмы со Шварценеггером и умственно отсталым Сталлоне.

Ответить
7

Скажите,а сколько образцов речи абонента нужно чтобы обмануть голосовую индентификацию Сбера?)

Ответить
4

Ролик клёвый, Жорж хорош. Но, статью могли бы и получше выверить. "Леонид Вячеславовича...", "все-равно", "Суета суёт", где-то ещё ляпы. 

Дипфейк-то чем делали? DFL?

Ответить
0

В профиль он просто ужасен. Монголоид без сходства.

Ответить
3

Надеюсь Куравлеву вы компенсировали его фейсэндвойсбрендинг?

Ответить
1

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

Ответить
3

Как неловко-то... Он жив!

Ответить
0

Так этого никто и не утверждал, если разобраться 😂

Ответить
1

Куравлев пока еще жив, не торопитесь хоронить человека

Ответить
2

Почему все без масок?

Ответить
2

А в чем проблема обучить ИИ голосу Куравлева? И почему только 4 минуты если у него было очень много разных ролей и "образцов" голоса соответственно очень много?

Ответить
1

Так 4 минуты и получилось из разных.

Ответить
0

А пригласить самого Куравлева из уважения и вежливости влом оказалось?

Ответить
2

В посте же написано почему так.

Ответить
0

и где же там это написано?

Ответить
0

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

Ответить
3

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

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

Ответить
0

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

Зачем?

Ответить
3

Чтобы молодой подрезал у старого кошелек с наличкой и сказал "А надо было держать деньги на карте!.."

Ответить
0

а лучше использовать тупо лицо и всё? Не показав самого уважаемого артиста зрителю?. Причем явно большая часть аудитории спросит, "что за кривое убогое гавно".

И им будет абсолютно насрать, что это необычно и рекламно-ново. Они видят косую и кривую бредятину.

Ответить
0

Ну вы загнули - ебануться! ))

Ответить
1

Куравлев в курсе?

Ответить
1

Классная статья с точки зрения механики, но вот результат... Еще не зная предыстории, когда в первый раз увидел ролик, обратил внимание, насколько неестественно звучат фразы Милославского - теперь понимаю, что это из-за специфической акустики в советских фильмах, которая не вяжется с современной картинкой (видимо, в одном месте это настолько не сочеталось, что пришлось исказить голос эффектами). Практичней было бы привлечь обычного пародиста, но так, конечно, ЦРТ не отрекламируешь

Ответить
0

Кайфово что у сбера по-моему получается все, кроме банкинга непосредственно. Ну, приложение справедливости ради кайфовое.

Ответить
0

Что то уже слишком много Сбера становится...

Ответить
0

ЦРТ, какие же вы все-таки долбае*ы.
У меня все.

Ответить
0

Сбера становится много. И он порой отрицательно влияет на купленные компании. Поддержку продуктов ЦРТ испортили , заставив пользователей их софта и железа платить за каждый чих. И это не смотря на то что продукты ЦРТ не из дешевых. 

Ответить
–1

А нельзя "гнусавый" голос из телефона в начале ролика тоже поправить? А зачем так было ломать звуковой ряд, где Милославский забивает мяч в кольцо, это же сложно воспринимать. А нельзя эту рожу вырезать целиком, которая "любимка"? А то блевать очень тянет.

Ответить
–1

Че сказал?!

Ответить
3

Кто это за хмырь вообще?

Ответить
0

То сказал

Ответить

Комментарий удален

0

"Суета суЁт"? Однако...

Ответить
0

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

Ответить
0

Не понял, он в ролике не говорит практически ничего кроме фразы из фильма? Тут же про голос статья? Где голос? 

Ответить
0

Интересно, сначала Сбер записывает голоса клиентов для идентификации, а потом учит ии синтезировать голоса...

Ответить
0

Лицо выглядит не плохо, но голос не получился. 

Ответить
0

Многая лета Леониду Вячеславовичу Куравлеву!

Ответить
0

Искусственный интеллект в телефоне какойто кривой сделали, который на вопросы отвечает. На 0:11 секунде его спрашивают "Где я?" а он про то какой год отвечает.
Это как если спросить "Сколько время?" а в ответ услышать "Вы на 195 километре Киевского шоссе".

Ответить
0

Сбер недаром сделал ролик с вором Милославский, потому что сам Сбербанк - это такой всероссийский вор! Ведь они до сих пор не вернули людям вклады, украденные в 90-91 годах. Что скажете, Сбер?

Ответить
0

Безотносительно банка и его репутации, ролик - пушка! Один из самых высокотехнологичных на сегодняшний день, ИМХО.

Ответить

Комментарии

null