Я часто использую Mac для преобразования текста в речь. В разделе «Настройки»> «Речь»> «Текст в речь» я также установил «Ключ» для быстрого доступа.
Поскольку я также хочу, чтобы Text to Speech читал по-немецки, а OS Lion предлагает голоса для других языков, я хотел бы иметь второй ярлык для немецкого языка.
Кто-нибудь знает, где я могу установить это? Или это единственный способ постоянно изменять системный голос, прежде чем я хочу, чтобы текст на немецком языке читался? (А затем сбросить голос на Алекса для английских текстов)? А что на счет французского текста?
Какие варианты существуют для этой общей проблемы?
macos
keyboard
text-to-speech
Джозеф
источник
источник
Ответы:
Скажи как ...
Вы можете использовать
say
команду с другими голосами OS X, чтобы получить разные языки. ИспользуйтеThomas
голос, чтобы получить французское произношение илиYannick
для немецкого языка.В этом примере я буду использовать Томас и французский, так как это то, что я знаю, но
Yannick
должно работать и для немецкого текста.Попробуйте следующую команду в « Приложения»> «Служебные программы»> «Terminal.app» :
Если это приемлемо, вы можете
say
заключить команду в службу Automator; что мы будем делать дальше.Автоматизатор Сервис
Чтобы создать службу Automator:
Скопируйте и вставьте в AppleScript ниже:
Чтобы воспользоваться услугой:
И вуаля ! Другие языки и голоса доступны.
Этот подход Automator позволяет вам поддерживать голос по умолчанию на вашем компьютере. Позволяя читать выбранный текст альтернативным голосом.
Доступные голоса и языки
Вы можете перечислить доступные голоса и связанные с ними языки с помощью команды:
Доступные голоса могут меняться между версиями macOS. В macOS 10.13 команда возвращает:
источник
Вид старого поста и, возможно, вы уже нашли решение. Один из способов упростить это с Automator.
Откройте Automator, выберите «Служба», «Служба получит выделенный текст», перетащите действие «Speak Text», чтобы создать рабочий процесс, и выберите «Голос» (например, «Ryan Speaking»). Сохранить
Повторите с разными голосами.
(Список служб можно редактировать / очищать с помощью приложения Service Scrubber и частично в Системных настройках> Клавиатура> Сочетания клавиш> Службы)
Изменить: Теперь, когда у вас есть два или более Голоса в Меню Сервисов, вы можете перейти к: Системные настройки> Клавиатура> Сочетания клавиш> Сочетания клавиш приложения и создать новый ярлык для каждого голоса.
Пока что на моем компьютере это работает следующим образом (ОС 10.6.8): Системный голос по умолчанию: Ярлык Райана (Infovox), выбранный в Speech Pref to Control + S. Это запускает и останавливает текст на английском языке.
Немецкий голос мне назначил Control + Y (голос Янника из Lion OS). Ctrl + Y запускает немецкий голос для выбранного текста на немецком языке; который можно остановить, дважды щелкнув по основному ярлыку «Пуск / Стоп», здесь Control + S + S. Причина двойного заключается в том, что нажатие на него один раз запускает английский голос вместо немецкого. Это лучшее, что я мог придумать. Убедитесь, что ярлыки не конфликтуют с другими ярлыками. Вы заметите, что дополнительный ярлык позволяет вам запускать несколько голосовых потоков, разговаривая друг с другом, а также системный голос по умолчанию, который повышает нагрузку на процессор, но не проблема, если кто-то помнит, чтобы остановить речь, дважды выполнив ярлык для голос по умолчанию.
Не уверен, что это работает в масштабе всей системы, но работает в моих браузерах, Mail и приложении BookReader, которое я использую.
Редактирование 2: Я заметил, что при активации вторичного текста в речь через службу Automator процесс Automator Runner увеличивает нагрузку на процессор до 100% с ускорением вентиляторов. Не уверен, что есть решение для этого.
источник
Вы также можете установить системный голос на французский.
Перейдите в « Системные настройки»> «Диктовка и речь»> «Текст в речь» и, например, установите системный голос
Thomas
.Потом:
Существует также возможность установить ярлык, так что вы можете просто выбрать любой текст и нажать ярлык, чтобы начать говорить по-французски.
источник
Я написал инструмент для этого, просто перейдите по ссылке:
https://github.com/Fredmf/polyglott
источник
Запустить Automator.app
Создать новый сервис
Добавить Speak Текст действия
Выберите Саманту
Сохранить сервис как SpeakSamantha
Настройте сочетание клавиш для службы
Настройки открытой системы
Выбрать клавиатуру
Выберите ярлыки
Выберите Услуги
Создать ярлык, Ctrl + Alt + 1 для SpeakSamantha
Чтобы воспользоваться услугой
Открыть браузер
Выберите некоторые английские тексты
Нажмите Ctrl + Alt + 1
Чтобы остановить речь (Метод 1)
Чтобы остановить речь (Метод 2)
Нажмите на значок вращающейся шестерни в строке меню.
Нажмите ⨂
Добавить второй голос
Повторите процесс выше, добавив следующие незначительные изменения
Выберите второй голос, например, Анна , немецкий голос
Сохранить сервис как SpeakAnna
Создайте сочетание клавиш, Ctrl + Alt + 2 для SpeakAnna
Известная небольшая проблема: не нажимайте ярлык еще раз, прежде чем закончить речь или закончить речь. В противном случае вы получите сообщение об ошибке, подобное следующему.
источник
Использование пользовательского сервиса со стандартным
Speak Text
действием для произнесения выбранного текста определенным альтернативным голосом имеет один существенный недостаток, как подробно описано в ответе Mikofox :Вы не можете легко остановить воспроизведение, как вы можете с помощью встроенного сервиса TTS, просто нажав сочетание клавиш снова.
Есть два решения :
Раскрытие информации: я создал расфасованные сервисы и
voices
CLIВместо этого создайте пользовательский сервис с
Run Shell Script
действием , в котором вы используетеsay
CLI , который позволяет реализовать переключение воспроизведения (остановка речи, если она вызывается во время разговора из предыдущего вызова)В качестве альтернативы, создайте сервис, который переключает голос по умолчанию по требованию , который затем позволяет вам использовать встроенный сервис TTS с его функцией переключения воспроизведения.
voices
CLI :следуйте инструкциям здесь или используйте прямую ссылку для загрузки (будет оставаться актуальной).
Простая реализация сервиса с переключением воспроизведения :
Как уже говорилось, это не учитывает пользовательские скорости разговора, настроенные для выбранного голоса.
Run Shell Script
действие и вставьте следующее:источник
Как упоминал Mikofox, вы можете создать службу Automator для произнесения текста:
В 10.8 и 10.7 есть ошибка, из-за которой ярлыки для служб Automator не всегда работают, пока вы не наведете курсор мыши на меню служб из строки меню.
WorkflowServiceRunner также может использовать более 100% ЦП при произнесении текста.
Я использовал FastScripts, чтобы назначить ярлык для этого сценария:
Другой вариант - просто запустить что-то вроде
pbpaste | say -v kyoko
.источник
echo 'Guten Tag. Wie geht es?' | pbcopy && pbpaste | say -v Anna