$imputer.generateAudioUrl
Метод $imputer.generateAudioUrl
возвращает URL реплики с переданными значениями переменных.
За основу JAICP берет шаблон реплики из списка в разделе Гибридный синтез речи.
Чтобы воспроизвести в сценарии аудио по полученному URL, используйте тег audio
.
Синтаксис
Принимаемые аргументы
Метод $imputer.generateAudioUrl
принимает аргументы:
Аргумент | Тип | Описание | Обязательный |
---|---|---|---|
| Строка | Идентификатор шаблона реплики. | Да |
| Объект | Имена и значения переменных для подстановки в шаблон. Для записи значения можно использовать кириллицу, числа и знаки препинания. Нужно указать столько переменных, сколько есть в шаблоне. Если в шаблоне нет переменных, передайте пустой объект. Подробнее о причинах использования реплик без переменных смотрите в статье Гибридный синтез от Just AI. Шаблоны реплик поддерживают упрощенную разметку ударения в значениях переменных.
Чтобы указать ударение в значении переменной, вставьте символ
| Да |
| Число | Скорость произнесения переменных. Если в разделе Гибридный синтез речи вы уже указывали скорость произнесения переменных для реплики, это значение учитываться не будет. Будет применяться скорость, переданная в аргументе. Возможные значения: от | Нет |
Возвращаемое значение
Метод возвращает URL реплики с указанными значениями переменных и заданной скоростью.
Примеры вызова
- ECMAScript 5
- ECMAScript 6
$imputer.generateAudioUrl("offer", {});
$imputer.generateAudioUrl("offer", {"amount": "десять"});
$imputer.generateAudioUrl("offer", {"amount": "тридцать шесть", "what": "гигаба+йт", "where": "Свердло+вской области"}, 2);
В среде ECMAScript 6 метод является асинхронным:
await $imputer.generateAudioUrl("offer", {});
await $imputer.generateAudioUrl("offer", {"amount": "десять"});
await $imputer.generateAudioUrl("offer", {"amount": "тридцать шесть", "what": "гигаба+йт", "where": "Свердло+вской области"}, 2);
Пример использования
Например, для шаблона реплики {name: Алексей Викторович}, вы записаны завтра на {serviceName: диагностику двигателя}. Подтверждаете запись?
с идентификатором confirmation
вызов метода может выглядеть следующим образом:
- ECMAScript 5
- ECMAScript 6
state: Confirm
q!: $regex</start>
# "Добрый день! Это автосервис."
audio: {{ $imputer.generateAudioUrl("helloPhrase", {}) }}
# "Ксения, вы записаны завтра на замену лампочки. Подтверждаете запись?"
audio: {{ $imputer.generateAudioUrl("confirmation", {"name": "Ксения", "what": "замену лампочки"}, 0.8) }}
В среде ECMAScript 6 метод является асинхронным:
state: Confirm
q!: $regex</start>
# "Добрый день! Это автосервис."
scriptEs6:
$reactions.audio(await $imputer.generateAudioUrl("helloPhrase", {}));
# "Ксения, вы записаны завтра на замену лампочки. Подтверждаете запись?"
scriptEs6:
$reactions.audio(await $imputer.generateAudioUrl("confirmation", {"name": "Ксения", "what": "замену лампочки"}, 0.8));
В этом примере реплика без переменных helloPhrase
также была использована в сценарии при помощи вызова метода $imputer.generateAudioUrl
.
Это было сделано, чтобы избежать разницы в звучании реплик:
c переменными и без.