Цифровой голос
Озвученные ролики, умные колонки, аудиокниги… Как думаете, все ли фразы, слова и предложения в них заранее записаны? Лишь отчасти, ведь всевозможные варианты предзаписать просто невозможно. В этом материале разберем, как компьютер синтезирует речь, что «под капотом» у голосового ассистента и каким образом можно «подделать» человека.
А как оно говорит?
Вся наша коммуникация с помощью голоса происходит за счет звуковых волн, распространяющихся в некой среде. При этом громкость звука определяется амплитудой, а тон — частотой. То есть для синтеза голоса достаточно знать, какие волны нужно создавать. Но не все так просто.
Чаще всего алгоритмы синтеза речи работают не с самой волной, а с каким-то ее представлением, например, спектрограммой — изображением, показывающим спектр частот сигнала, изменяющегося со временем. Механизм, способный переводить волну в такое представление и обратно, называется вокодер (от англ. voice encoder). Удивительно, что впервые его стали использовать еще в XX веке, правда, тогда он применялся для безопасных радиопередач. Сегодня вокодеры используются в синтезе речи и музыке, а также как алгоритмы в нейросетях и плагины в виртуальных студиях.
Два главных требования к генерации голоса — естественность и разборчивость. Первое описывает, насколько синтезированная речь похожа на человеческую, а второе — насколько легко ее понять. Архитектуры моделей для генерации голоса бывают разные, и у каждой свои преимущества. Грубо их можно разделить на две части: использующие вокодер с генератором представления звуковой волны и «склеивающие» предзаписанные аудиодорожки. В первом варианте есть модель, которая генерирует звук в определенном формате, например все той же спектрограмме, а позже вокодер это переводит в аудиодорожку. Такой способ позволяет создавать речь без ошибок в грамматике, но она не всегда получается естественной. Во втором же есть некоторая база данных с уже записанным голосом и для получения нового предложения выбираются определенные отрывки записи, например с помощью нейросети, и соединяются. Этот вариант позволяет генерировать наиболее естественную речь, но часто содержит отличия и ошибки.
Подменим человека
Синтез речи используется в различных сферах. Один из способов его применения — создание дипфейков (англ. deepfake от deep learning, «глубокое обучение» + fake, «подделка»). Это метод генерации изображений и голоса, очень похожих на реальные. С помощью дипфейков можно получить поддельное видео, на котором будет реальный человек, фото или аудиодорожку, которую человек никогда сам не записывал.
Конечно, это очень опасная технология, ведь с помощью нее получают материалы, которые впоследствии можно использовать для шантажа, мошенничества или дезинформации. Но есть от нее и польза: дипфейки появляются в фильмах, в основном для улучшения внешнего вида актеров. Например, Disney применяет технологию для омоложения артистов. Такие инструменты используются и в российском кино: так в четвертом сезоне сериала «Диверсант» появляется капитан Калтыгин, герой Владислава Галкина, который к этому моменту уже умер. Дипфейки создаются и для развлечения: так появился интернет-мем с людьми, поющими припев «Baka Mitai» — песню из игры Yakuza 0.
Маленькие помощники
Генерация звука — важная часть умных ассистентов. Но для того чтобы ответить пользователю с помощью синтезированного голоса, нужно понять, что он сказал. Это подводит к еще одной важной в машинном обучении задаче — распознаванию речи. Оно работает похожим на синтез образом, только нейросеть учится генерировать не аудио, а текст.
После того как помощник распознал, что ему сказали, он должен понять, что ему необходимо сделать. В этом тоже помогают нейросети, а конкретно языковые модели, которые работают с текстом. Они на основе запроса пользователя предсказывают, что должен совершить ассистент: сказать, какая сейчас погода, ответить на вопрос или включить музыку. Далее помощнику нужно сообщить о выполненном действии, и здесь как раз используются нейронные сети для генерации голоса по тексту, который тоже может создаваться языковой моделью.
Похожие боты для общения, к примеру Алиса или Siri, получили большой толчок в развитии с появлением больших языковых моделей, таких как ChatGPT. Например, появились AI-стримеры, которые ведут прямые трансляции, проходят игры и взаимодействуют с аудиторией.
Генерируем своими руками
Перейдем от теории к практике. В этом блоке мы собрали для вас несколько сервисов по генерации голоса, так что вы сможете самостоятельно создать припев к песне или озвучить забавную фразу голосом любимого персонажа.
Suno AI — это программа на основе генеративной нейросети для создания полноценных музыкальных композиций, включая вокал, текст и аранжировку. Сервис поддерживает русский язык и обладает огромной вариативностью в треках, жанрах и инструментах.
ElevenLabs — платформа для синтеза речи, клонирования голоса и дубляжа. Сервис поддерживает множество языков, в том числе и русский, а также возможность создать свою голосовую модель при платной подписке.
Yandex SpeechKit — облачный сервис от «Яндекса», позволяющий генерировать речь и переводить ее в текст. На выбор предлагается несколько языков, эмоций и типов голоса, а также можно менять скорость воспроизведения речи.
Фото на обложке unsplash.com
