Теги Google TTS <par>работают не так, как ожидалось - PullRequest
0 голосов
/ 17 февраля 2020

Я заглянул в Google TTS и нашел следующий пример с тегом par:

https://cloud.google.com/text-to-speech/docs/ssml#par

В этом примере звук построен правильно. На заднем плане есть два предложения и несколько звуков. Однако, если вы на самом деле используете это с их API или консолью, это не сработает. Вы получаете только два предложения назад, и звук не воспроизводится. Ссылка на консоль TTS:

https://cloud.google.com/text-to-speech

Я использовал SSML:

<par>
    <media xml:id="question" begin="0.5s">
      <speak>Who invented the Internet?</speak>
    </media>
    <media xml:id="answer" begin="question.end+2.0s">
      <speak>The Internet was invented by cats.</speak>
    </media>
    <media begin="answer.end-0.2s" soundLevel="-6dB">
      <audio
        src="https://actions.google.com/sounds/v1/cartoon/cartoon_boing.ogg"/>
    </media>
    <media repeatCount="3" soundLevel="+2.28dB"
      fadeInDur="2s" fadeOutDur="0.2s">
      <audio
        src="https://actions.google.com/sounds/v1/animals/cat_purr_close.ogg"/>
    </media>
  </par>

Что я делаю неправильно ? Или что-то не так с самим сервисом TTS?

1 Ответ

1 голос
/ 17 февраля 2020

В консоли TTS определенно есть что-то странное, для начала. Если вы посмотрите на JSON, который, как он говорит, должен использоваться, вы заметите, что в нем пропущен тег <par>. Проверка сетевого трафика c показывает то же самое. Я также заметил, что тег <speech> необходимо пропустить.

Если вы попробуете это как часть консоли симулятора действий, вывод будет работать правильно. Вы можете добраться до Симулятора Действий, перейдя на https://console.actions.google.com/, выбрав проект для работы и перейдя на вкладку «Тест». В самом симуляторе вы затем выбираете вкладку «Аудио» и можете ввести SSML (включая тег <speech>) в редактор, а затем нажать кнопку «Обновить и прослушать».

illustration of simulator highlighting steps to take

...