Tho*_* R. 6 alexa aws-lambda amazon-polly
是否有可能在Alexa技能中使用亚马逊Polly在翻译或其他多语言环境中提供例如2种语言的回应?如果是,谁有从lambda函数使用此服务的经验?
简短的回答,不,现在不可能直接使用亚马逊Polly的alexa技能.对于alexa技能,Polly mp3不是必需的比特率.
然而,您可以转换mp3文件Polly为您提供48kbps的正确比特率,然后在音频ssml标签中使用它,根据这个开源项目alexa-meets-polly.
来自alexa-meets-polly:
用户对Alexa设备说话并询问例如"Good Morning"在波兰语中的含义是什么?"
Alexa服务将话语映射到Translate-intent,并传入一个语言槽,其值为Polish,一个term-slot,其值为Good Morning.AWS Lambda函数,其代码包含在此Repo中,捕获Speechlet.
在进行翻译文本的过程之前,该技能首先查看其存储所有先前翻译的字典.如果它在数据库中找到波兰语早安记录,则会跳过整个往返(步骤4到9)并立即使用Dynamo记录中提到的S3音频文件.
但是,如果在技能实施之前没有用波兰语请求早安,则可以通过利用Microsoft Translator API(或与Google Translate互换)将Good Morning一词翻译成波兰语.
然后,生成的翻译将传递给AWS Polly,为其提供所需的VoiceId.Polly返回带有翻译术语的MP3流.
该流作为MP3文件保存在AWS S3中.不幸的是,由于Alexa中SSML音频所需的音频设置不同,它尚未准备好返回并在Alexa中播放.
因此,MP3-Url被提供给AWS EC2服务器实例中托管的自定义服务端点.在FFMPEG的帮助下,该服务根据Alexa的要求将比特率转换为48Khz.即使用他们的韵律设定提高音量,波莉的声音也不像Alexa的声音那么响亮.这就是为什么这种转换也会使音量增加10dB.
生成的MP3会在S3中覆盖其原点.
该文件的URL(根本没有改变)被返回给Lambda中的调用speechlet处理程序.
最后,在Dynamo词典中为波兰语的早安创建了一条记录.为用户创建引用该词典条目的单独记录,因此Alexa记住为用户进行的最后一次翻译.这是用户可以请求Alexa重复最新翻译的方式.
该技能创建输出语音文本并使用MP3-url压缩音频SSML标记.
输出语音返回给设备.Alexa用Polly的一个声音回复并播放翻译的术语.此外,卡片将返回Alexa应用程序,提供可能对用户非常有用的书面翻译.
| 归档时间: |
|
| 查看次数: |
1030 次 |
| 最近记录: |