4

Я использую службу tts Chrome в своем расширении. Согласно документации chrome.tts:chrome.tts.speak ограничение личности

Максимальная длина текста 32768 символов.

Однако, когда я передаю строку, содержащую более 250 символов, двигатель не будет читать все высказывания (он просто перестанет читать его в середине слова). Теперь я задаюсь вопросом, является ли это ошибкой, или это по дизайну. API веб-речи имеет аналогичный предел символов, описанный в spec, и он ведет себя аналогичным образом.

Я хотел бы знать, что я делаю что-то неправильно или это зависит только от TTS Engine в браузере, и я ничего не могу с этим поделать?

+0

Вы можете получить ссылку на этот: http://stackoverflow.com/questions/21947730/chrome-speech-synthesis-with-longer-texts – gui47

+0

Спасибо за ответ @ gui47, я уже видел это сообщение. Я был более любопытным, если у chrome.tts есть другой предел, чем API Web Speech. –

ответ

1

Я прочитал официальные документации и как вы сообщили, что написано, что:

The maximum length of the text is 32,768 characters. 

Может быть, они относятся к SSML файл максимальной длине!

Я использовал хром апите на некоторое время, и я могу сказать вам, что:

  • Преломление высказываний происходит только тогда, когда голос не родной голос,
  • вырезания обычно происходит между 200-300 символов, Когда он сломается, вы можете его заморозить, выполняя функцию speechSynthesis.cancel();
  • Событие «onend» иногда решает не стрелять. Причудливое обходное отношение к этому - к console.log() из объекта высказывания, прежде чем говорить об этом. Также я обнаружил, что обматывание вызова вызова в callbackTimeout помогает сгладить эти проблемы.

Я решил текст проблема расщепления:

  • Во-первых, в предложениях (пытаясь Некоммерческие разделить их и поддерживать стихосложение);
  • Если первый шаг не является достаточным, разделите предложение еще раз на суб-предложения;

Поэтому предлагаю устранить проблему таким образом.

+0

Сообщите мне, если вы устранили проблему. – Giuseppe

Смежные вопросы