Как пропустить часть текста во время разговора с использованием SSML - PullRequest
2 голосов
/ 03 февраля 2009

Существуют ли некоторые теги SSML и т. Д., Чтобы удалить определенную строку текста из речи. Да, я знаю, что могу удалить это, используя строковые функции, перед отправкой в ​​синтезатор речи. Но мой вопрос, есть ли способ пометить или пометить какой-нибудь текст, чтобы он не воспроизводился. Я ищу решение на основе XML для этой проблемы.

Ответы [ 4 ]

3 голосов
/ 25 февраля 2009

Есть много способов, вы должны уточнить, чего вы хотите достичь.

Может быть, вам поможет один из них:

   1. standard XML comment <!-- -->
   2. <sub alias=" "> your text </sub>
   3. <audio src='short_silence.wav'> your text </audio>
   4. <prosody volume='silent'> your text </prosody>
1 голос
/ 10 февраля 2009

Посмотрев быстро на документацию SSML от W3C , я нашел элемент prosody .

Похоже, что вы можете пропустить раздел, установив громкость на 0 и установив длительность на очень маленькое значение.

Установка громкости на ноль должна подавлять вывод звука, но, скорее всего, потребуется то же время, чтобы «прочитать» раздел, как если бы он читался вслух. Если вы также установите продолжительность, вы сможете «пропустить» раздел (быстро прочитайте его молча).

Вам придется поэкспериментировать, чтобы проверить, работает ли это.

1 голос
/ 07 февраля 2009

Мне интересно, является ли комментирование XML правильным решением для того, чего вы пытаетесь достичь:

<!-- <say-as interpret-as="telephone" format="39">+39.347.7577577</say-as> -->

Или:

<say-as interpret-as="telephone" format="39"><!-- +39.347.7577577 --></say-as>

Надеюсь, это поможет.

0 голосов
/ 16 августа 2018

Использование метатега может предложить какое-то решение.

<speak>This is spoken <meta  content="this is not spoken"/> </speak>
...