15 августа 2023 , Обновлено 27 августа 2023
Атрибута telephone SSML тега say-as предназначен для более точного произношения номера телефона.
Если номер записать с пробелами и дефисами, например так 8 800 555-777-8, то нейросеть прочитает корректно. Тег telephone поможет, когда вам не хочется вручную разбивать цифры пробелами и записываете номер набором цифр. Вот так:
<say-as interpret-as="telephone">88005557778</say-as>
Если не использовать это тег, то нейросеть слитные цифры интерпретирует как число. Сравните для примера. Сначала он прочитает набор цифр с тегом telephone, затем без него.
<say-as interpret-as="telephone">88005555550</say-as>. 88005555550
Если есть код страны, его можно указать в формате +7, 7 или 8.
Для указания кода оператора или кода города можно, но необязательно, использовать скобки. Код будет сгруппирован в следующем формате:
(123) — XXX;
(1234) — XX-XX;
(12345) — XXX-XX;
(123456) — XX-XX-XX;
(1234567) — XXX-XX-XX.
Если код города не указан, будет обработан только номер.
При разделении групп цифр номера дефисами, произношение будет осуществляться по этим группам. Группы должны содержать не более трех цифр подряд, в противном случае произойдет ошибка. Допускается использование номеров различных форматов с разделителями, а также применение скобок и знака "+" в начале номера.
Некоторые наши голоса поддерживают произнесение слова "ровно" для трехзначных чисел в номере телефона. Это задается дополнительным атрибутом detail="use-round-word", вот так:
<say-as interpret-as="telephone" detail="use-round-word">+7 (495) 600-35-56</say-as>
Это применимо только для нескольких голосов: Наталья, Борислав, Марфа, Тарас, Александра, Сергей.
К сожалению, не все наши голоса поддерживают атрибут telephone. Например, Филипп, Эрмил, Захар, Алена, Оксана не могут пока еще корректно обработать этот тег. Они могут прочесть номер, только если он начинается со знака + и без каких либо разделителей, вот так:
<say-as interpret-as="telephone">+74957660166</say-as>