Тесная интеграция Apple с POSIX-совместимыми путями к файлам и интерфейсом командной строки, а также их исторически сильными аппаратными и производственными стандартами привели меня на платформу Mac в течение многих лет. Тем не менее, недавнее разочарование и слабая ориентация Apple на MacOS и их аппаратное обеспечение, а также Lenovo X1 Yoga 2-го поколения привлекли мое внимание.
Однако переключение ОС имеет две, казалось бы, непреодолимые области, которые меня беспокоят. Этот пост посвящен интеграции ОС Text-to-Speech.
Я просмотрел документацию Microsoft Narrator, которая мне показалась бесполезной. Конечно, мой вариант использования не связан с нарушениями зрения. Один из моих вариантов использования для рассказчика - читать только выбранный текст, как я обрисовал в общих чертах ниже. Например, в этом посте SuperUser 2012 года у спрашивающего возникла та же проблема, без удовлетворительного ответа.
Я также хотел бы подчеркнуть, что "копирование и вставка в стороннее приложение TTS" является неудовлетворительным. На моем Mac я могу предоставить вход и получить файл MP3 TTS без вмешательства пользователя, для моего сценария № 1 ниже. Я выполняю это только с помощью инструментов с открытым исходным кодом, за исключением команды "сказать".
Я давно пользуюсь преимуществами интеграции текста в речь Mac. Я использую его тремя конкретными способами, хотя комбинация ниже определяет 90% моих вариантов использования.
- Преобразование переформатированного текста из электронных писем, которые я хотел бы прочитать мне позже
- Мой текущий рабочий процесс на Mac: я копирую источник из своей электронной почты, использую скрипт vim, который удаляет HTML, оставляя текст, который я хочу прочитать. Например, этот скрипт вставляет команду " Безмолвие "
[slnc 2000]
которая помогает мне идентифицировать маркеры абзаца, когда я слушаю прочитанный текст. - После завершения разметки текста я передаю форматированный текст с помощью команды "say", которая создает AIFF для преобразования текста в речь.
- Используя lame, я затем конвертирую это в mp3 и, используя dropcaster, помещаю mp3 в статическое общедоступное место, где мой клиент подкаста может получить его.
- Благодаря bash-скриптам, вышеупомянутое занимает 5 секунд моего времени. В последний раз, когда я переключался с Mac на Windows, мне очень не хватало этого. В прошлом я пользовался программным обеспечением TTA от ReadAloud, но всегда был более хитрым, чем описанный выше.
- Мой текущий рабочий процесс на Mac: я копирую источник из своей электронной почты, использую скрипт vim, который удаляет HTML, оставляя текст, который я хочу прочитать. Например, этот скрипт вставляет команду " Безмолвие "
- Живая корректура электронных писем или документов, которые я создаю. Я легче нахожу ошибки, когда мой Mac читает мне свой письменный текст.
- Да, я могу скопировать и вставить в Блокнот, но это неуклюже. Глядя на интерфейс Narrator, я обнаружил, что очень трудно понять, как заставить Narrator читать выбранный текст в приложениях, например, в Outlook, Firefox, Word и так далее.
- Использование TTS для чтения выбранного текста браузера в длинных статьях, которые я хотел бы услышать, пока выполняю не требующие внимания задачи.
- Это похоже на # 2, однако, я мог бы решить, что стоит создать файл для подкаста, если прочитанный текст привлечет мое внимание, и я перейду к процессу # 1.
- Firefox имеет режим "чтения", который в значительной степени помогает и хорошо работает под Windows.
Мои вопросы:
- Существует ли эквивалентный способ передачи отформатированного текстового файла на Win10 в двоичный файл MS для обработки, аналогичный команде "say" на Mac? Я вижу Docker изображения , которые TTS конкретных, думал , что кажется более запутаны.
- Какой родной способ заставить 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, и я хотел бы быть в одном ряду с этим.
- Согласно предложению Лю Вон Фука, автоматизировать родной Windows TTS действительно легко, согласно этой странице: https://www.pdq.com/blog/powershell-text-to-speech-examples/. Я подхожу ближе к решению.