Услуги

  • Сайты

  • Контент

  • Продвижение

  • Битрикс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 году внедрило автоматическое озвучивание текстов на сайтах своих проектов. Над заголовком материала расположена кнопка «Слушать», которая запускает аудиоверсию статьи.

01

/ 02

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

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

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

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