Диспетчер речи перестал работать, spd-say запускается, но останавливается после нескольких слов [дубликат]

У меня проблема с реч-диспетчером.Как сказано: перестал работать речевой диспетчер . spd-say запускается, но останавливается после нескольких слов.

Точнее:

  1. У меня был более длинный текст. (Это https://github.com/systemd/systemd/blob/master/NEWS от ИЗМЕНЕНИЙ НА 246 до ИЗМЕНЕНИЙ НА 245)
  2. Я отправил его на spd-say: spd- say -l de -r 50 -t male1 "$ (cat temp.txt)"
  3. Я заметил, что он читает английский по-немецки. Так что я убил всех диспетчеров речи . Вот что на самом деле доставило мне неприятности.
  4. Я выполнил перезапуск речевого диспетчера службы sudo . Затем spd-say -l en -r 50 -t male1 "$ (cat temp.txt)" Второе предложение никогда не заканчивается. Функция чтения вслух в Firefox также больше не работает.

Я думаю, что использовать killall в целом не лучшая идея, и я пропустил следующие параметры для spd-say:

-w, --wait          Wait till the message is spoken or discarded
-S, --stop          Stop speaking the message being spoken
-C, --cancel            Cancel all messages

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

Редактировать 1: Только что загрузил виртуальную машину, и она терпит неудачу с тем же образцом текста, а также с другими. Я попытался скормить ему немного меньше текста, убрав начальные пробелы и звездочки, но он все равно прерывается в середине второго предложения. В другом примере он останавливается после первого предложения (здесь: https://docs.ansible.com/ansible/latest/network/dev_guide/developing_plugins_network.html ).С хорошей стороны: я начал использовать эту команду, когда не нашел в Firefox опции чтения текста на странице или в файле. Я только что заметил, что он, по крайней мере, может нормально читать журнал изменений systemd.

Правка 2: Firefox снова работает, ему просто потребовался перезапуск после всех моих попыток решить исходную проблему.

2
задан 6 August 2020 в 13:13

1 ответ

Вам понадобится -w с spd-say, чтобы предотвратить это.

Без этого spd-say отправит запрос на сообщение в Speech-dispatcher, Speech-dispatcher скажет "хорошо , Я это сделаю!" и вскоре после этого spd-say выйдет. Если диспетчер речи не закончил говорить на этом этапе, он останавливается, как только spd-say выходит.

Я не знаю, почему было принято архитектурное решение, сделайте это так. Поскольку это было так, для меня более логично, что spd-say будет иметь --no-wait, чем --wait, но я думаю, что мы оба согласимся с тем, что документация не так ясна по этому вопросу, как это, вероятно, должно быть.

2
ответ дан 11 August 2020 в 20:11

Другие вопросы по тегам:

Похожие вопросы: