Skip to content

A small browser extension that adds the ability to voice text. Online TTS in Russian, Ukrainian, Turkish and English

Notifications You must be signed in to change notification settings

Alkohole/machine-reading-text

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[MRT] - Машинное чтение текста

Расширение позволяет воспроизвести написанный текст синтезированным голосом, теперь доступен не только в Yandex Browser версии Windows. Признателен Yandex.Translate за такую возможность.

  • Функция Слушать имеет лимит в 20k символов (≈3000 слов / ≈11 минут) на запрос. (✅ Стабильна)
From To Date
Расширение v0.5.3 v0.5.4(js) 09.06.24
Страница окна v0.3.4 v0.4(web) 09.04.24

Навигация

Демо (Dec 9, 2023):

Demo_1.mp4

Интерфейс и Управление:

Интерфейс веба Интерфейс плагина Интерфейс плагина (свернутый)
Кнопка Действие
Воспроизводит озвучивание текста.
Останавливает озвучивание текста.
✖▶ Невозможность прочитать текст, превышение лимита.
Настройки
  • Имеется обработчик дропа в окно ввода (Выделите текст и перетащите его в окно ввода, ранее находящийся в окне текст автоматически стирается).
  • Имеется счетчик количества символов в окне (Если превышение лимита - вы увидите сообщение).
  • Имеется выбор голосов озвучки: 9 женских и 9 мужских голоса.
  • Имеется возможность самостоятельно выставлять ударения в словах омографах используя + перед ударной буквой, также имеется пауза между словами -. Пример: З+амок, Зам+ок

var offset = 0; // измените это значение, чтобы установить уровень сдвига по горизонтали для умолчания
var charPos = "right"; // переключение позиционирования left/right для умолчания
В этих двух переменных вы можете указать значение сдвига по умолчанию и позиционирование по умолчанию.
var offset = - число сдвига в пикселях (пиксели не указываются)
var charPos = - сторона по умолчанию left/right

Установка и Обновление:

Установка скрипта

  1. Установите расширение Tampermonkey (Альтернатива для Safari: UserScripts).
  2. Установите Скрипт.

Ручное обновление (Рекомендуется):

  1. Перейдите по ссылке.
  2. Нажмите кнопку Перезаписать

Авто обновление (Не рекомендуется):

  1. В расширениях браужера откройте расширение Tampermonkey.
  2. Войдите в раздел Утилиты.
  3. Нажмите на кнопку Проверить обновления скриптов.

Голоса и Эмоции:

В качестве примера для голоса служит глава 3 стихотворения Томаса Стернза Элиота "Полые люди"

TTS Name 😈 😐 ☺️ 🥳 Model Examples
Alice (♀)дефолтный tatyana_shitova.gpu Tatyana.ogg
Oksana (♀) ** ** oksana.gpu RU / UA
Jane (♀) ** ** jane.gpu Jane.wav
Omazh (♀) ** omazh.gpu Omazh.wav
Nastya (♀) ** nastya.gpu Nastya.wav
Sasha (♀) ** ** sasha.gpu Sasha.wav
Tatyana (♀) tatyana_abramova.gpu Tatyana.wav
Ermil (♂) ** ** ermil.gpu Ermil.wav
Zahar (♂) ** ** zahar.gpu Zahar.wav
Kolya (♂) ** ** kolya.gpu Kolya.wav
Kostya (♂) ** ** kostya.gpu Kostya.wav
Anton (♂) anton_samokhvalov.gpu Anton.wav
Levitan (♂) ** ** levitan
Nick (♂) ** ** ** nick
Zhenya (♂) ** ** ** zhenya
Selay Tr (♀) selay.gpu Selay.ogg
Silaerkan En (♀) ** silaerkan
Erkanyavas En (♂) ** ** ** erkanyavas Erkanyavas.ogg

- Поддерживается.
** - Доступно только в CPU версии модели. На данный момент доступна для языков отличных от Русского
- Нет поддержки.

⚠️ Возможные планы:

  • Поблочная озвучка и визуализация блоков.
  • Кэштрование параметров селектора. (память)
  • Плавающее окно.
  • Настройки, позиционирование окна расширения.
  • Возможности переключатся между CPU и GPU. (На данный момент частично)
  • Возможности смены языка. (Ru, Tr, Uk, En)
  • Переход с WAV формат на WEBM/OGG форматы.
  • Возможность менять скорость.
  • Возможность менять эмоции.
  • Выбор голоса озвучки.
  • Исправить ошибки в README.md...

Окно объявлений

Update in v0.5.4(js)

  • Добавлена капсуляция Shadow DOM - теперь css/js сайтов не будет влиять на интерфейс плагина.
  • offsetRight был переименован в offset.
  • Остальная молочь

Предыдущее обновление:

Update in v0.5.3(js)

  • Добавлена возможность изменения позиционирования окна.
  • Добавлена кнопка настроек.

Update in v0.4(web)

  • Добавлен голоса: Selay, Erkanyavas, Silaerkan.
  • Добавлены языки: Tr, Uk, En.
  • Добавлена дополнительные скорости речи.
  • Добавлена возможность выставлять ударения используя + перед ударной буквой, и пауза -.
  • Интерфейс переработан.

Fix+Add in v0.4(web)

  • Исправлена проблема когда модель для Английского языка использовала Русский язык.
  • Удалены голоса Erkanyavas и Silaerkan из Турецкого языка.
  • Добавлены 3 голоса: Levitan, Nick и Zhenya.

Окно сообщений

Add 26.05.24
Интересный баг получился: при вызове prompt()(настройки) в момент озвучки текста - озвучка ставится на паузу...
Баг этот интересен потому, что функции паузы нету и я до сех пор не могу разобрать большую часть скрипта tts...
PS: Один баг(не этот), признаюсь, я заныкал под ковер)

Add 18.04.24
Когда на утро фикс превращается в крысу:

Add 09.04.24
Переработан интерфейс, и удалена страница Скачать.
Я заметил, что украинский язык можно давать обычным моделям для русского языка, с минимальными погрешностями в произношении.
Добавлена возможность вручную выставлять ударения используя + перед ударной буквой. Пример: З+амок, зам+ок
В этой системе так же есть - который добавляет пайзу.

Add 24.03.24
Что происходит с GitHub?! Это просто пиз__Ц... Постоянно мой README.md саморедактируется и откатывается, чо это за на__Й?!

Add 23.03.24
В скором времени буду работать над функцией скачивания.

Add 10.03.24
Не представлюя как я умудрился пропустить еще 6 моделей TTS... Вроде бы они не работали раньше...
В дополнение, я чуть почистил скрипт TTS... Надо бы еще чуток почитить...
Фикс поля ввода для браузеров построенных на Chromium.

Add 24.02.24
Оригинальный скрипт TTS полный ад, переменные и константы просто однобуквенные приколы (пример: a, e, t, g, ...) и ищи-свищи кто есть что.

Add 23.02.24
Искал громкость, но случайно наткнулся на смену TTS модели.

Add 22.02.24
Забавно, но это расширение работает на телефоне Android.




Important

Этот проект - мой личный каприз, и он не рассчитан на что-то серьезное.
Из-за того что данный tts доступен только в браузере Yandex и только под Windows, а обладателям MacOS и Linux даже с браузером Yandex данная читалка не доступна, я захотел реализовать такую возможность для любых браузеров и OS'ей.

Tip

Если вам нужна английская версия - воспользуйтесь Edge TTS или любым другим TTS.
Если вам интересны реализации другого функционала из Yandex браузера:

  • [VOT] - voice-over-translation - позволяет переводить видео на YouTube (и не только) в виде озвучки и/или субтитров.

Important

В случае неполадок - перезагрузите браузер.
1 запрос размером около 20k символов приблизительно равен 10MB,
102 запроса в 20k будет приближаться к 1GB,
это забивает вашу оперативную память и может вызвать зависания,
на данный момент, я пытаюсь решить эту проблему, а временное решение - перезагрузка браузера.

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

About

A small browser extension that adds the ability to voice text. Online TTS in Russian, Ukrainian, Turkish and English

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published