Услуги

  • Сайты
  • Контент
  • Продвижение
  • Битрикс24
  • Приложения
Все услуги Оплата
Все услуги Оплата

Поиск

  • Разработка интернет-магазина под ключ
  • Разработка сайтов
  • Разработка леднигов
  • Разработка на битрикс24
  • Разработка на Вордпресс

Озвучка текстов через Yandex SpeechKit API

Задача

Нашему клиенту, популярному блоггеру Мили Котляровой, необходимо было озвучивать определённые фрагменты текстов. Перед нами стояла задача разработать максимально простой сервис: чтобы можно было вставить текст, нажать кнопку и получить mp3-файл с озвученным текстом.

Выбор технологии и её особенности

Мы решили генерировать озвучивание с помощью технологии Yandex SpeechKit. Она позволяет распознать или озвучить любой текст, на её основе работает голосовой помощник Яндекса «Алиса». Решение от Яндекса наиболее естественно ставит ударения и использует интонации, так как их нейросеть обучена на множестве примеров из реальной жизни.

Banner

Однако у Yandex SpeechKit есть ограничение на длину текста для озвучивания за один раз — 5000 символов. Если длина текста больше, то необходимо разбивать текст на части и делать несколько запросов. Наш клиент не хотел думать об этих ограничениях, озвучивая тексты любой длины.

Мы создали предельно простой сервис, который обходит эти ограничения и выглядит даже слишком минималистично — кроме текстового поля и кнопки «Генерация» на экране ничего нет.

Как работает сервис

Алгоритм работы следующий:

  1. Если вставляемый текст длиной больше 5000 символов, то он дробится на фрагменты программными методами. Например, текст на 14578 символов будет разделён на три фрагмента.
  2. Получаем IAM-токен, который указываем при обращении к ресурсам Yandex SpeechKit.
  3. Отправляем последовательно несколько запросов (фрагментов текста).
  4. Яндекс возвращает нам аудиофайлы в формате ogg. Не самый подходящий формат для нашего клиента, поэтому дальше мы решим эту проблему.
  5. Полученные файлы сохраняются на сервере нашего клиента. Дальнейшие операции над ними будут производиться с помощью утилиты SoX, которую мы подключили к серверу нашего клиента.
  6. Полученные ogg файлы конвертируются в формат mp3.
  7. mp3-файлы объединяются в один.
  8. Публикуется ссылка на скачивание аудиофайла в подходящем клиенту формате.

Если некоторые ударения были проставлены неправильно, а интонации не слишком естественны — это исправимо. Изменения можно внести расставив специальные символы в нужных местах текста. Например, для передачи слов-омографов следует использовать «+» перед ударной гласной: «з+амок» или «зам+ок». Для паузы между словами используется «-».

Для демонстрации примера работы мы с помощью сервиса озвучили его же алгоритм работы. Интонации и ударения не корректировались.

Озвучка текста на сайте

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

Такая функциональность пользуется популярностью у пользователей из-за повышенного удобства потребления:

  1. поток новостного контента гораздо удобнее слушать во время готовки на кухне, прогулки или поездки за рулём;
  2. качество начитки, которое уже довольно близко к человеческому, позволяет воспринимать материал с комфортом и без отторжения;
  3. в некоторых случаях набор лучших озвученных статей можно выделять в отдельный информационный поток, например, в подкаст.

Внедрение начитки на практике

Издательство «Комитет» ещё в 2019 году внедрило автоматическое озвучивание текстов на сайтах своих проектов. Над заголовком материала расположена кнопка «Слушать», которая запускает аудиоверсию статьи.

Banner

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

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

Нужно озвучить тексты с помощью синтезатора голоса?

Мы использовали для этого Yandex SpeechKit API! Свяжитесь с нами, чтобы обсудить задачу по интеграции с этим сервисом для Вашего сайта, блога или онлайн-сервиса.

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x