2

Тесная интеграция Apple с POSIX-совместимыми путями к файлам и интерфейсом командной строки, а также их исторически сильными аппаратными и производственными стандартами привели меня на платформу Mac в течение многих лет. Тем не менее, недавнее разочарование и слабая ориентация Apple на MacOS и их аппаратное обеспечение, а также Lenovo X1 Yoga 2-го поколения привлекли мое внимание.

Однако переключение ОС имеет две, казалось бы, непреодолимые области, которые меня беспокоят. Этот пост посвящен интеграции ОС Text-to-Speech.

Я просмотрел документацию Microsoft Narrator, которая мне показалась бесполезной. Конечно, мой вариант использования не связан с нарушениями зрения. Один из моих вариантов использования для рассказчика - читать только выбранный текст, как я обрисовал в общих чертах ниже. Например, в этом посте SuperUser 2012 года у спрашивающего возникла та же проблема, без удовлетворительного ответа.

Я также хотел бы подчеркнуть, что "копирование и вставка в стороннее приложение TTS" является неудовлетворительным. На моем Mac я могу предоставить вход и получить файл MP3 TTS без вмешательства пользователя, для моего сценария № 1 ниже. Я выполняю это только с помощью инструментов с открытым исходным кодом, за исключением команды "сказать".

Я давно пользуюсь преимуществами интеграции текста в речь Mac. Я использую его тремя конкретными способами, хотя комбинация ниже определяет 90% моих вариантов использования.

  1. Преобразование переформатированного текста из электронных писем, которые я хотел бы прочитать мне позже
    • Мой текущий рабочий процесс на Mac: я копирую источник из своей электронной почты, использую скрипт vim, который удаляет HTML, оставляя текст, который я хочу прочитать. Например, этот скрипт вставляет команду " Безмолвие " [slnc 2000] которая помогает мне идентифицировать маркеры абзаца, когда я слушаю прочитанный текст.
    • После завершения разметки текста я передаю форматированный текст с помощью команды "say", которая создает AIFF для преобразования текста в речь.
    • Используя lame, я затем конвертирую это в mp3 и, используя dropcaster, помещаю mp3 в статическое общедоступное место, где мой клиент подкаста может получить его.
    • Благодаря bash-скриптам, вышеупомянутое занимает 5 секунд моего времени. В последний раз, когда я переключался с Mac на Windows, мне очень не хватало этого. В прошлом я пользовался программным обеспечением TTA от ReadAloud, но всегда был более хитрым, чем описанный выше.
  2. Живая корректура электронных писем или документов, которые я создаю. Я легче нахожу ошибки, когда мой Mac читает мне свой письменный текст.
    • Да, я могу скопировать и вставить в Блокнот, но это неуклюже. Глядя на интерфейс Narrator, я обнаружил, что очень трудно понять, как заставить Narrator читать выбранный текст в приложениях, например, в Outlook, Firefox, Word и так далее.
  3. Использование TTS для чтения выбранного текста браузера в длинных статьях, которые я хотел бы услышать, пока выполняю не требующие внимания задачи.
    • Это похоже на # 2, однако, я мог бы решить, что стоит создать файл для подкаста, если прочитанный текст привлечет мое внимание, и я перейду к процессу # 1.
    • Firefox имеет режим "чтения", который в значительной степени помогает и хорошо работает под Windows.

Мои вопросы:

  1. Существует ли эквивалентный способ передачи отформатированного текстового файла на Win10 в двоичный файл MS для обработки, аналогичный команде "say" на Mac? Я вижу Docker изображения , которые TTS конкретных, думал , что кажется более запутаны.
  2. Какой родной способ заставить Windows 10 Narrator читать выбранный текст так же просто, как выделять текст в любом приложении, вызывать команду клавиатуры и Win10 выполнять службы TTS?

Я открыт, их могут быть разные, но похожие способы сделать выше. "Скопируйте и вставьте в блокнот", однако, это также клудж. Я надеюсь, что MS выполнила свою домашнюю работу по обеспечению доступности и развертывание так же, как Apple.


Некоторые примечания к себе, поскольку я продолжаю исследовать этот вопрос

  • Существует несколько пакетов Python, которые включают TTS в скрипте Python. Сначала это выглядело многообещающе, но есть несколько фатальных проблем, сосредоточенных на методах python, описанных здесь: https://pythonprogramminglanguage.com/text-to-speech/
    • У меня были проблемы с установкой pyttsx. Я установил brew py2.7.13 и py3.6.1 и, используя pip3 или pip, не смог успешно установить ни одну из версий. Исходный pyttsx - это py2, с вилкой для py3. Это очень плохо, так как дизайн требует, чтобы модуль python использовал собственный движок TTS. Если бы pyttsx работал на python3, и проект был более активным, я был бы более склонен устранять неисправности модуля. Вы можете прочитать мои комментарии к предложенному ответу здесь.
    • pyTTS использует Google TTS. Это звучит хорошо, но обязательно требует подключения к интернету. Так как я хочу соответствовать встроенным возможностям TTS, эта опция будет включена.
  • Существует опция докера, https://github.com/parente/espeakbox прекрасно работает, но голос - это то, где TTS был 6+ лет назад. Хотя я уважаю желание автора создать эффективный движок TTS, мне нравится родной TTS Mac, и я хотел бы быть в одном ряду с этим.
    • Играя с другими не родными опциями TTS, такими как Merlin или Festival, качество TTS не соответствует стандарту TTS для Mac или Windows.
  • Согласно предложению Лю Вон Фука, автоматизировать родной Windows TTS действительно легко, согласно этой странице: https://www.pdq.com/blog/powershell-text-to-speech-examples/. Я подхожу ближе к решению.

1 ответ1

3

MS Office поддерживал преобразование текста в речь задолго до его интеграции в Windows (начиная с Vista). В результате вы всегда можете открыть MS Word и прочитать документ за вас. Просто добавьте кнопку « Speak на ленте / на панели быстрого доступа, затем выберите текст и щелкните по нему или назначьте ярлык для функции разговора.

Говорить меню

Рассказчик также поддерживает эту функцию. Вам просто нужно проверить список ярлыков

Ctrl + Shift + Spacebar         Read the entire selected window
Ctrl + Alt + Spacebar           Read the items that are selected in the current window
Insert + Ctrl + G               Read a description of the items that appear next to the currently selected element
Ctrl                            Stop Narrator from reading text
Insert + F3                     Read the current character
Insert + F4                     Read the current word
Insert + F5                     Read the current line
Insert + F6                     Read the current paragraph
Insert + F7                     Read the current page
Insert + F8                     Read the current document

Caps Lock + H                   Read document
Caps Lock + U                   Read next page
Caps Lock + Ctrl + U            Read current page
Caps Lock + Shift + U           Read previous page
Caps Lock + I                   Read next paragraph
Caps Lock + Ctrl + I            Read current paragraph
Caps Lock + Shift + I           Read previous paragraph
Caps Lock + O                   Read next line
Caps Lock + Ctrl + O            Read current line
Caps Lock + Shift + O           Read previous line
Caps Lock + P                   Read next word
Caps Lock + Ctrl + P            Read current word
Caps Lock + Shift + P           Read previous word

Swipe up with three fingers     Read current window
Swipe down with three fingers Start reading explorable text

Слушайте текст прочитанный вслух с рассказчиком

Как заставить Windows 8 Narrator читать только то, что я специально ему говорю, чтобы читать и оставаться абсолютно безмолвным в противном случае?

Windows 10 поддерживает режим сканирования, чтобы помочь вам быстрее. Может быть переключен с помощью Caps Lock+пробел


Однако в MS Office не работает Narrator, поэтому вам нужно скопировать текст во внешнее приложение. Это может быть достигнуто с помощью AutoHotkey. Нужно будет скопировать выделенный текст и передать его в приведенный ниже скрипт VBS.

Dim text, sapi
Set text = WScript.Arguments(0)
Set sapi = CreateObject("sapi.spvoice")
sapi.Speak text

Трюки с глупыми выродками: как заставить компьютер разговаривать с вами

Я не думаю, что есть что-то другое при чтении веб-страницы по сравнению с простым текстом. Но отметьте это. Как использовать рассказчик для чтения содержимого веб-страниц?

Некоторые другие приложения TTS для Windows можно найти здесь


Вывод текста для чтения может быть записан с тоннами программного обеспечения там. Если вы не хотите его слышать и вам просто нужно сохранить выходной файл, используйте любое программное обеспечение для смешивания потоков, такое как GraphStudioNext (входит в пакет кодеков K-lite) и перенаправьте выходной поток в файл; преобразовать в mp3 перед этим, если это необходимо

GraphStudioNext

Все вышеперечисленное можно автоматизировать с помощью скрипта. Забудьте о командном файле, PowerShell очень мощный и может делать все, что можно сделать с помощью Bash. Он может вырезать формат из текста и редактировать его, поэтому нет необходимости в vimscript. Там также VIM для Windows. Или при необходимости вы всегда можете установить bash на Windows или Cygwin. Автоматизация графического интерфейса также может быть выполнена с помощью AutoHotKey.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .