Ответы на навыки Alexa на разных языках

Возможно ли, и если да, то как ответить в рамках навыка на разных языках? Например, я разрабатываю навык для немецкого магазина навыков, который читает различные тексты из Интернета. Это может быть любой язык, и я могу определить язык, когда собираюсь отправить ответ.

Из того, что я вижу, подмножество SSML, которое реализует Alexa, не указывает язык, на котором дается ответ. Но собственный навык Kindle от Алексы позволяет мне читать электронные книги на немецком или английском языке (возможно, собственные навыки Amazon особенные).


person Jens Kohl    schedule 14.04.2017    source источник
comment
Запрос функции на сайте alexa.uservoice.com: alexa.uservoice.com/forums/ Вы можете проголосовать за запрос, и, возможно, он будет реализован в будущем   -  person Alex Fire    schedule 20.09.2018


Ответы (3)


Как сказано в других ответах, правильный способ - использовать тег <lang> в SSML. Однако, поскольку английский голос не говорит по-немецки, это довольно странно. Правильное решение - изменить голос с помощью тега <voice>.

Вот пример на немецком языке

<speak>
 <voice name="Hans"><lang xml:lang="de-DE">Ich bin ein Berliner</lang></voice>.
I am a Berliner.
</speak>

Это описано в этом документе https://developer.amazon.com/fr/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html#examplefrench-content-in-an.-english-skill

person wayglem    schedule 21.08.2019

Похоже, сейчас это невозможно: https://forums.developer.amazon.com/questions/55086/specify-output-language-per-intent.html

person Jens Kohl    schedule 14.04.2017

Для этого можно использовать тег <lang> в SSML.
Вот пример на немецком языке.

<speak>
 <lang xml:lang="de-DE">Mein Luftkissenfahrzeug ist voller Aale</lang>.
Hello in the default language.
</speak>

Вот список языков, поддерживаемых Amazon Polly для Alexa.

person M Sandler    schedule 18.05.2018
comment
Теперь это работает? Это было не в последний раз, когда я проверял. - person Jens Kohl; 18.05.2018
comment
Когда вы в последний раз проверяли, по состоянию на вчерашний день (18 мая 2018 г.) все работало. - person M Sandler; 19.05.2018
comment
Итак, я попробовал это сегодня. Он все еще не работает, да, он читает предложение на немецком, но с английским голосом (а это хуже, чем настоящий американец пытается говорить по-немецки). Таким образом, тег <lang> просто игнорируется. Вы можете попробовать сами. Опустите тег <lang>, и вы услышите тот же голос. - person Jens Kohl; 22.05.2018
comment
это правильно. Акцент будет изменен с помощью тега lang, и он будет произноситься немного лучше, но реальный голос (тег сейчас находится в стадии бета-тестирования) останется неизменным. - person M Sandler; 23.05.2018