У меня есть приложение IVR, которое работает SSML 2.0 на Voice Server 4.0
Я могу успешно замедлить вывод TTS при использовании
<prosody rate="slow"> Hello </prosody>
Я также могу использовать, скажем, как говорить цифры, а не целое число
<say-as interpret-as="number_digit">1234567890</say-as>
Тем не менее, я, кажется, не могу быть в состоянии использовать оба сразу. Пока <say-as>
активен, скорость не меняется.
например
<prosody rate="slow">
<say-as interpret-as="number_digit">1234567890</say-as>
</prosody>
Производит вывод однозначных цифр, но не в медленном темпе. Есть какая-то проблема совместимости или что-то, чего мне не хватает? Или есть другой способ достичь моей цели. Говорящий номер — это длинный номер, который пользователь должен проверить, поэтому замедление работы TTS очень важно.
Это может работать:
<say-as interpret-as="number_digit">
<prosody rate="slow">1234567890</prosody>
</say-as>
Это будет работать:
<prosody rate="slow">1</prosody>
<prosody rate="slow">2</prosody>
<prosody rate="slow">3</prosody>
...
Вот как это сделать с помощью PHP:
<?php
for($i = 0; $i < strlen($number.""); $i++){ //$number."" to cast it as string.
?>
<prosody rate='slow'><?=substr($number, $i, 1)?></prosody>
<?php
}
?>
Других решений пока нет …