Всем привет! Меня зовут Евгений, я создал расширение ListenIt для браузера Google Chrome. Расширение позволяет автоматически создавать аудиоверсии статей, а читателям прослушивать их прямо с сайта.

Идея


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

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

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

Расширение


На сегодняшний день расширение имеет только функционал озвучки определенного количества сайтов, а именно 5 сайтов.

Список озвученных сайтов на текущий момент
image

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

Кнопка озвучки на сайте meduza.io
image

Для озвучки используется Yandex SpeechKit, хорошей альтернативы для работы с русским языком я пока что не нашел.

Расширение имеет достаточно простой интерфейс, если сайт «озвучен» расширение покажет всем своим видом, что Вы можете прослушивать материал с этого сайта, или же наоборот не можете.

Интерфейс расширения
image
image

Планы на будущее


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

Так же из функционала сейчас доступна только одна кнопка «плей» что тоже будет меняться, будут добавлены кнопки для перемотки статьи вперед\назад.

Итоги


На данный момент расширение в стадии тестирования, отсутствует любая монетизация, всё делается «для людей от людей». Я уверен что будут ошибки которые нужно исправить, по этому буду очень благодарен за фидбэк об ошибках на почту listenit.extension@gmail.com или в комментарии. Буду рад Вашим предложениям по тому, какие сайты еще добавить и какие изменения внести.

P.S. У пользователей с Украины могут быть проблемы из-за отсутствия доступа к Yandex

Комментарии (6)


  1. Houston
    27.06.2019 00:12

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


    1. Распарсить контент, как это делают много других утилит для "distraction free mode"
    2. Отправить основной контент в говорилку


  1. kovert99
    27.06.2019 10:21

    Я так понимаю, что контент на странице берется через какой-то родительский элемент с определенным id или классом, откуда вытаскиваются параграфы, цитаты и т.д.?
    Если так — то по сути, чтобы добавить сайт в ваш список, необходимо лишь как-то обозначить родительский элемент. Тогда почему сайтов так мало и какого рода ошибки возникают при парсинге страницы?


    1. forumrulez Автор
      28.06.2019 21:13

      Да, в страницу встраивается JS скрипт, который вытаскивает данные по определенным id\именам класса. Ошибки могут быть разные, например, некоторые сайты могут использовать одинаковые имена классов как на главной странице так и в самой статье в результате чего на главной странице сайта будет срабатывать расширение и пытаться что-то там озвучить и отрабатывать не правильно. Приходится добавлять вручную разные условия для точного определения тела статьи и т.д.


  1. KMiNT21
    27.06.2019 14:47

    Кстати, если кому интересно повесить «говорилку» на свой сайт, то можно использовать HTML5 Speech Synthesis API. Вполне юзабельно. Правда, есть известный глюк, но его можно легко обойти. Вот тут демка и подробности, если что.


  1. nokimaro
    27.06.2019 16:44

    Я всё понимаю, но зачем ваше расширение на «поддерживаемых сайтах» включает режим анти-отладки?
    Я уже было подумал сперва что это разработчики meduza.io так извращаются, вставив anti-debug код, который всё-равно отключается нажатием ctrl+F8 (disable breakpoints), а это оказывается ваше расширение занимается вредительством.
    habrastorage.org/webt/0w/2f/p9/0w2fp9uw8wpujs0yzdqk95kopry.png
    конкретно вот этот js
    listenit-eur1.firebaseapp.com/u/meduza.io.js


    1. forumrulez Автор
      28.06.2019 21:14

      Извините за неудобства, в ближайшем времени исправлю