24 августа 2023 , Обновлено 27 августа 2023
Параметр currency в SSML относится к атрибуту interpret-as тега say-as и используется для корректного произношения сумм денежных средств в различных валютах. Этот атрибут позволяет указать системе синтеза речи, что число представляет собой сумму денег в определенной валюте.
К сожалению, не все голоса обрабатывают этот параметр. Его поддерживают только следующие дикторы: Карина, Дмитрий, Анна, Борис, Катя, Денис, Дарья, Даниил, Светлана, Екатерина.
Голоса Наталья, Борислав, Марфа, Тарас, Александра, Сергей вместо currency используют money и имеют продвинутый режим установки падежа.
<say-as interpret-as="currency">99.9 USD</say-as>
<say-as interpret-as="currency">42.1 EUR</say-as>
Особенно хорошо обрабатывается на английском языке:
<say-as interpret-as="currency">99.9 USD</say-as>
<say-as interpret-as="currency">€42.1</say-as>
<say-as interpret-as="currency">10.5 EUR</say-as>
Параметр money поддерживают только Наталья, Борислав, Марфа, Тарас, Александра, Сергей. Используйте следующий шаблон кода:
<say-as interpret-as="money" format="CASE" detail="CURRENCY_short-form_say-null-cents">VALUE</say-as>
Вот самый простой пример:
<say-as interpret-as="money" detail="USD">21</say-as>
В format можно указать падеж:
В detail можно указать валюту и дополнительный параметр произношения через знак _ нижнего подчеркивания. По умолчанию используется рубль. Доступные только такие валюты:
Приведу примеры по падежам.
В detail после валюты через знак нижнего подчеркивания можно (но не обязательно) указать форму произношения:
Рассмотрим примеры с формой произношения.
<say-as interpret-as="money" detail="USD_full-form">21,15</say-as>
<say-as interpret-as="money" detail="USD_short-form">21,15</say-as>
<say-as interpret-as="money" detail="USD_say-null-cents">10</say-as>
Все параметры можно использовать одновременно. Скажем в родительном падеже "пятнадцати рублей ноля копеек"
<say-as interpret-as="money" format="prepositional" detail="RUB_short-form_say-null-cents">15</say-as>
Если вам нужно красиво диктовать суммы, например в автоматической телефонии для Интернет-торговли в России, то используйте голоса, которые поддерживают money. Для зарубежных проектов используйте голоса с поддержкой currency.