Диспетчер речи перестал работать, 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 service voice-dispatcher restart . Затем 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: Просто загрузил VM, и он терпит неудачу с тем же образцом текста, а также с другими. Я попытался скормить ему немного меньше текста, убрав ведущие пробелы и звездочки, но он все равно прерывается в середине второго предложения. В другом примере он останавливается после первого предложения (здесь: 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

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

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