{"id":14270,"url":"\/distributions\/14270\/click?bit=1&hash=a51bb85a950ab21cdf691932d23b81e76bd428323f3fda8d1e62b0843a9e5699","title":"\u041b\u044b\u0436\u0438, \u043c\u0443\u0437\u044b\u043a\u0430 \u0438 \u0410\u043b\u044c\u0444\u0430-\u0411\u0430\u043d\u043a \u2014 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u0440\u0435","buttonText":"\u041d\u0430 \u043a\u0430\u043a\u043e\u0439?","imageUuid":"f84aced9-2f9d-5a50-9157-8e37d6ce1060"}

​Синтезируем голос бабушки, дедушки и Ленина + новости нашего публичного синтеза

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

Вопреки этому тренду, в этой статье мы постараемся на пальцах и близко к народу:

  • На реальных примерах показать возможности генерации голоса на малом числе данных или на данных с неидеальным качеством;
  • Немного порассуждать на тему цифровых памятников (это чем-то похоже на интерактивные или трехмерные фотографии), сделанных из голоса человека;
  • Также немного порассуждать на тему того, какую объективную опасность это представляет для общества;

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

И да, заранее приношу извинения за то, что не смог залить аудио непосредственно в интерфейс VC.ru, а приложил ссылки на Soundclound - при попытке использовать инструмент "Аудио" неизвестные ошибки возникают с любым форматом, кроме MP3. Но MP3 не особо подходит для речи в стандартных битрейтах (мы обычно выкладываем WAV, чтобы избежать вопросов про сжатие).

Оглавление:

Границы возможного

Сейчас вовсю лютует эпоха пост-модернизма. Тренд на утерю рационального мышления принял системный характер. Развитие Интернета скорее привело не к массовому распространению "fake news", а скорее массовой низкопробной фантастики (самый яркий пример — Hyperloop), которая согласуется с чаяниями обычных граждан. Скорее получается не "fake news", а усилитель неграмотности с локальной спецификой. Я постоянно вижу какие-то новости на тему того, что или кого должны уже заменили роботы сильный ИИ нейросети. Отсюда также растут тренды про плоскую землю, чипирование, вышки 5G и прочее мракобесие.

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

В самом-самом эпизоде сериала Черное Зеркало "White Christmas" четко прослеживается идея цифрового посмертия и сохранения каких-то цифровых артефактов.

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

В принципе "успехи" так называемых больших языковых моделей (LLM) могут сделать примеры из Черного Зеркала с созданием полных цифровых аватаров людей чем-то извращенно похожим на реальность. Но при детальном общении они будут рассыпаться буквально через 1-2 фразы и в лучшем случае пока будут примером грубой "китайской комнаты", которая сделала лишь один маленький шаг от бредогенераторов. Но голос, если вынести за скобки огромную палитру человеческих эмоций и интонаций, сохранить в принципе можно уже более менее точно и неотличимо.

Отдельный философский вопрос возникает: вот я сделал "копию" голоса близкого человека, но что будет с этим файлом через 50 лет? С одной стороны веса нейросети так и останутся матрицами, но все теперешнее окружение (например PyTorch) скорее всего уже уйдет в небытие. Возникает некая аналогия с тем, что HiFi электроника из 70х является условно самодостаточной (если есть розетка 220V и заменить резиновые ремни), а современные "подписочные сервисы" не будут найдены археологами. По этой причине интересно будет посмотреть на маркетинговые материалы инвестиционных стартапов, которые рано или поздно возьмутся за такое дело.

Будут ли они предлагать саппорт на 1 год, 5 лет, 50 лет, или будут как обычно все умалчивать и потом тихо пропадать? Логичной кажется конечно генерация большого количества каких-то неслучайных (?) фраз и просто хранение их тупо на диске или в какой-то физической оболочке. Например, если человек записал книгу или статью, можно ее озвучить и показывать потомкам.

Критерии успеха при создании голоса

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

  • Качество и количество аудио;
  • Качество и свойства самого голоса, четкая дикция, консистентность (мы не умеем сохранять всю палитру эмоций);
  • Соответствие канонам произношения и соответствие фонем их типичному произношению, точность произнесенного написанному (да, внезапно);
  • Похожесть на существующих спикеров и наличие базы "идеальных" спикеров на нужном языке;

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

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

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

Чтобы не растекаться мыслью по древу, сведу все итоги по абстрактным типам экспериментов в одну несколько упрощенную таблицу:

Что интересно, в случае (6) пол, язык и похожесть голоса особой роли не играют, если язык похожий по звучанию. Если построить ментальную модель происходящего, то усилия дикторов можно экономить имея в загашнике много дикторов даже не с похожими голосами, а с похожими соответствиями между произносимыми звуками и "фонемами", которые с листа читает диктор. Простым языком — похожий диалект / акцент / набор часто произносимых фонем.

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

Примеры

Мой голос на малом числе плохого аудио

Вводные:

  • Мало аудио (около 12 минут после чисток);
  • Плохое качество (пьезо-микрофон в гарнитуре);
  • В оригинале это был недельный звонок в Телеграме, я говорил быстро и без дикции;

Теплый старт на нормальном количестве аудио

Вводные:

  • Известный язык (русский), без акцента и прочих сложностей;
  • Нормальное количество аудио (от 5 минут до нескольких часов);
  • Хорошее качество и микрофон, но шум на фоне;
  • Не очень хорошая дикция;

В.И. Ленин

Вводные:

  • Мало аудио, аудио записано около 100 (!) лет назад (в 1919—1921 годах);
  • Для аудио столетней давности, качество очень высокое;
  • Шума на фоне не слышно, но есть сильные артефакты записи (пластинки или цилиндра);
  • Очень своеобразная манера разговора, длинные фразы, небольшие проблемы с дикцией;
  • Поскольку дедушка Ленин этими речами поднимал людей на трудовые подвиги, речь очень "неровная" и отчасти эмоциональная;

Голоса бабушки и дедушки

  • Мало аудио (20-30 минут на человека);
  • Средней руки микрофон (3000 рублей), небольшой шум и эхо;
  • Записывали мои бабушка и дедушка. Они уже в возрасте, поэтому это вносит некие коррективы;
  • Синтез немного хромает, но очень четко передает манеру их речи;
  • Они оба не далеко не дикторы, но старались просто четко литературно читать предложения без особых изысков;

Более качественное говорение на другом языке

  • Самая главная недавняя находка наших изысканий — дикторы могут говорить на других языках гораздо качественнее;
  • Тут приведен самый яркий пример этого прогресса на английском языке. Просто послушайте;
  • Примеры даны парами — сначала аудио примерно соответствующее нашей старой публичной мультиспикерной модели, а потом новая улучшенная модель;

Более качественное говорение на другом языке 2

  • Аналогичный пример, но с другими языками;

Существует ли массовая опасность со стороны "ИИ"

Короткий ответ именно для вас — пока вероятно нет.

Длинный ответ — it depends. Наши примеры и опыт (у нас не по 10-30 фразам конечно, но 5-15 минутам, что тоже немного) и примеры из статьи подсказывают, что:

  • Ключевым является именно качество аудио, его все-таки надо еще где-то взять (аудио и видео с хорошим звуком люди обычно не постят направо-налево);
  • У реальных продакшен систем там относительно низкие шансы успеха атак даже на качественных студийных аудио;
  • При атаке на другом языке / акценте / диалекты шансы успеха еще падают;
  • В случае простых атак… можно просто записать голос и проиграть, зачем париться (и почему мы не слышали про массовое применение таких атак);

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

Но чтобы постоянно атаковать миллионы людей подходят наверное только zero-shot системы. А они ограничиваются тем, что нужно во-первых разбираться в них (а публичные системы всегда хуже чем коммерческие), а во-вторых все-таки надо собрать качественные примеры аудио для всех атакуемых.

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

И на всякий случай очевидная мысль — если ваш банк использует голос в качестве единственного (а не составного ключа, допустим из телефона, 2FA и SMS) ключа — то немедленно бегите. А если проверка еще text-independent (то есть сказать можно любую фразу) или только по одной фиксированной не меняющейся фразе (без какого-то сценария в духе "прочитайте эти три слова или решите капчу 2 + 3 = ?"), то это обходится банально записью одного телефонного разговора с вами по нужному сценарию. По этой причине — не только не берите трубку, когда вам звонят из "службы поддержки Сбербанка", но если взяли — не говорите ни в коем случае и не ведите пространные беседы.

Новости нашего синтеза

Публичные голоса народов СНГ

Вместе с комьюнити мы сделали и опубликовали полностью уникальные модели языков народов СНГ:

  • Башкирский (aigul_v2);
  • Калмыцкий (erdni_v2);
  • Татарский (dilyara_v2);
  • Узбекский (dilnavoz_v2);

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

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

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

К сожалению пока публичного украинского языка не будет, но просто в качестве дразнилки, вот пример того как это может звучать (автор голоса не разрешил нам публиковать модель) на голосе профессионального диктора:

Воспользоваться моделями можно по ссылке или напрямую в Colab .

Улучшенные и приватные голоса

Когда мы делали публичный релиз нашего синтеза номер два у нас был нелегкий выбор между:

  • Работой с комьюнити, чтобы создать хоть какие-то голоса народов СНГ;
  • Увеличение скорости (которое всё еще не вышло сделать до конца);
  • Качеством существующих голосов;

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

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

Тем не менее максимально возможное качество получилось еще улучшить, послушайте:

Дальнейшая работа

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

Выполнено:

  • Еще большее снижение требований по данным;
  • Добавление малых языков и языков народностей России и СНГ по мере сбора датасетов;
  • Дальнейшая работа над качеством (в следующем большом релизе будет сюрприз!);

Осталось:

  • Высота голоса и скорость;
  • Радикальное ускорение моделей (10+ раз);
  • Эмоции, управление интонацией;
  • Добавление новых голосов по мере появления открытых голосов на других языках;

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

0
12 комментариев
Написать комментарий...
Евгений

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

Ответить
Развернуть ветку
Alexander Veysov
Автор

(0)
Правовая и этическая сторона вопроса.
Мы пробовали общаться с авторами интересных персонажей и голосов (Сыендук, Масяня, Мистер Фримен) - им это или неинтересно, или они это рассматривают как угрозу своей репутации.
(1)
Неясна цель + нежелание участвовать в политике.
(2)
Зачастую качество подкастов оставляет желать лучшего - там музыка, шум, несколько людей говорит, итд итп.

Ответить
Развернуть ветку
Николай Козлов

Ваши речевые синтезаторы будут платными? И, если я правильно понял, до появления удобного интерфейса взаимодействия с ними, рассчитанного не на IT-специалистов, а на обычных пользователей, ждать ещё пару лет, так?

Ответить
Развернуть ветку
Alexander Veysov
Автор

Наши речевые синтезаторы уже платные. Мы не рассматриваем b2c как целевой сегмент.

Ответить
Развернуть ветку
Николай Козлов

Эх, жаль, что не b2c. Придётся ждать, пока кто-нибудь другой сделает калмыцкий синтезатор не для крупного бизнеса, а для рядовых платёжеспособных потребителей. Я бы заплатил за доступ к нему, если бы это потребовалось. Недавно к азербайджанскому синтезатору купил доступ, например - https://azreco.az/ru/tts/

Ответить
Развернуть ветку
Alexander Veysov
Автор

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

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

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

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

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

Ответить
Развернуть ветку
Николай Козлов

Так нет у Вас демки-то, в этом-то и дело. Вот как демка выглядит - https://www.sestek.com/text-to-speech/tts-demo/ У меня нет коммерческого интереса. Я учу языки для себя. Такое у меня хобби. Я инвалид, сижу дома, учу языки не для прибыли, а просто так, потому что увлекаюсь этим со школьных лет. Очень обрадовался, когда узнал, что Вы сделали калмыцкий синтезатор. Думал, что наконец-то смогу набирать предложения из калмыцкой грамматики и слушать, как они звучат. В принципе был готов купить платный доступ, если бы такой существовал. И тут вдруг оказалось, что нет ни платного доступа, ни бесплатного. И что вместо нормального интерфейса: окна ввода текста и кнопки синтеза речи, мне предлагают разобраться с каким-то жутко неудобным, запутанным и непонятным Колабом. Я очень простой человек, и куча кода на Питоне, приправленная обилием каких-то элементов настройки и прочего, не для меня. Готов научиться пользоваться Колабом, если есть пошаговое руководство, написанное для новичка, не обладающего техническим складом ума.

Ответить
Развернуть ветку
Валентин Потапов

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

Ответить
Развернуть ветку
Alexander Veysov
Автор

Тут проще найти человека, кто знает этот язык.

Ответить
Развернуть ветку
Валентин Потапов

Т.е. нет или вы не знаете готовых инструментов, которые помогут обучить правильному чтению ?

Ответить
Развернуть ветку
Николай Козлов

Добрый день. Спасибо, что создаёте синтезаторы для языков России и СНГ. Ваша технология очень поможет всем тем, кто увлекается языкознанием. Только вот неподкованному в технических нюансах человеку весьма непросто разобраться с запуском Colab. Существует ли какой-то более простой интерфейс доступа к созданной Вами системе речевого синтеза? Очень хочется послушать как звучит калмыцкий синтезатор, но я не разбираюсь в Python-e и поэтому не могу запустить Ваш движок на своём ПК. P.S: Несколько месяцев тому назад Вы анонсировали начало работ по разработке таджикского синтезатора, но потом упоминаний о нём больше не было. Работа над ним прекращена? P.P.S: Планируете ли Вы создание других синтезаторов: чувашского, коми-зырянского, эрзянского?

Ответить
Развернуть ветку
Alexander Veysov
Автор

Банально мы смогли сделать те голоса, где комьюнити поделилось голосами. Какой-то супер мега маркетинг мы не делали. С какими-то языками не получилось или просто получилось не очень. Скорее всего рано или поздно подъедет такой "маленький" язык как Украинский. Если кто-то приведет дикторов или базы качественных записей, то мы конечно попробуем.

Насчет более простого запуска и доступа - по идее можно сделать того же бота в телеграме (что люди из комьюнити и делали), но честно говоря не хочется решать технические вопросы, которые нам не очень полезны в работе (плюс инвестировать в отдельный сервер, думать как уместить там по-умному сразу все десятки наших моделей и продумать логику быстрого запуска если модель не "готова"). Может я сильно заморачиваюсь, но если мы бы стали браться за что-то такое, там еще много продуктовых моментов и хочется, чтобы пользователь мгновенно получал ответ, итд итп. После успешного релиза бота для распознавания, может рано или поздно сподобимся, хз. Но наверное сначала все-таки ускорим модели в 5 раз, сделаем 8-24-48 kHz и сделаем в несколько раз больше языков.

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

Кажется какие-то примеры я выкладывал в статьях, там даже народ конкретно тот же вопрос спрашивал. Вообще "новые" модели (V2) в колабе тупо прокликиванием соответствующих областей запускаются.

Ответить
Развернуть ветку
9 комментариев
Раскрывать всегда