Как пропустить часть текста во время разговора с помощью SSML

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


person Priyank Bolia    schedule 03.02.2009    source источник


Ответы (4)


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

Возможно, что-то из этого поможет вам:

   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>
person Jiri    schedule 24.02.2009
comment
Спасибо, я, наконец, сделал это с помощью функций манипуляции со строками, так как гораздо проще и эффективнее удалить неиспользуемый текст. Но ваш ответ правильный и принятое решение. Спасибо за ответ, не могу отметить как принятый, так как срок действия награды истек. - person Priyank Bolia; 26.02.2009

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

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

Or:

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

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

person Luca Matteis    schedule 07.02.2009
comment
нет, не комментирую, мне нужен другой способ пропустить раздел - person Priyank Bolia; 07.02.2009

Быстро просмотрев документацию по SSML от W3C, я нашел просодия.

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

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

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

person lc.    schedule 10.02.2009
comment
всегда есть максимальная скорость, которую вы можете установить для произнесения текста, также не все голоса сами справятся с громкостью. - person Priyank Bolia; 10.02.2009
comment
Да, но я не думаю, что у тебя есть другой вариант. Если вы можете вставить препарсер между вашим XML и синтезатором, вы можете определить тег ‹dont-say› и удалить его с помощью строковых функций, как вы говорите. По крайней мере, текст все еще будет в исходном XML, поскольку это, по-видимому, ваше требование. - person lc.; 10.02.2009

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

<speak>This is spoken <meta  content="this is not spoken"/> </speak>
person SRB    schedule 16.08.2018