写点什么

使用 Amazon Polly 提供实时家居监控警报

  • 2019-10-11
  • 本文字数:1573 字

    阅读完需:约 5 分钟

使用 Amazon Polly 提供实时家居监控警报

这是 Y-cam Solution 高级开发人员 Siva K. Syamala 撰写的客座博客文章。用她自己的话说,“Y-cam 是高质量安保视频解决方案提供商,我们的愿景是让智能家居安防系统变得简单,方便所有人使用。” | 原文链接


家居安防是家庭自动化和物联网的重要组成部分。Y-cam Solutions Limited 在 Amazon 的大力支持下,提供了一个智能安防系统,该系统可通过智能手机在世界任何地方进行监视和控制。为了改进警报、通知和系统控制方式,Y-cam 使用 Amazon Polly 提供一流的 AI 服务。利用该服务,用户可通过语音与安防系统进行交互。

我们的服务的工作方式

当触发报警时,我们通过 Twilio 以语音电话的方式通知客户。在建立呼叫后,Twilio 将逐步执行 TwiML 指令,并使用从 Amazon Polly 检索的合成语音开始向客户传送信息。电话接听方通过按手机键盘上的按钮 (DTMF 代码) 来做出回应。根据具体的 DTMF 代码,我们的服务会采取指定的操作,并返回从 Amazon Polly 检索的合成语音所对应的 TwiML 指令。为了让用户听起来像一个真实的对话,Amazon Polly 必须快速做出回应。延迟和等待会让人不满,并更有可能会导致接听方挂断电话。


下面是触发警报时向客户拨打的电话的示例音频剪辑。


##架构


呼叫 Amazon Polly

以下 Java 代码说明了从 Amazon Polly 请求合成语音并将其存储在 S3 存储桶中的过程。


public String convertTextToSpeech(final String text, final String polyVoiceId) {  log.info("Converting " + text + " to speech");  // Create speech synthesis request.  SynthesizeSpeechRequest synthesizeSpeechRequest = new SynthesizeSpeechRequest()  .withText(text)  .withVoiceId(polyVoiceId)  .withOutputFormat(OutputFormat.Mp3);
// Get the synthesized speech audio stream. SynthesizeSpeechResult synthesizeSpeechResult = awsPollyClient.synthesizeSpeech(synthesizeSpeechRequest); // store audio stream of Polly to S3 as an MP3 file byte[] bytes = null; try { bytes = IOUtils.toByteArray(synthesizeSpeechResult.getAudioStream()); } catch (IOException e) { log.error("Could not get bytes from the audio stream " + e.getMessage()); } ObjectMetadata omd = new ObjectMetadata(); omd.setContentType(synthesizeSpeechResult.getContentType()); omd.setContentLength(bytes.length); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes); String fileName = getRandomString(); final PutObjectRequest s3Put = new PutObjectRequest(pollySpeechBucket, fileName, byteArrayInputStream, omd).withCannedAcl(CannedAccessControlList.PublicRead);
amazonS3Client.putObject(s3Put);
return S3URL;}
复制代码

为什么选择 Amazon Polly?

在使用 Amazon Polly 之前,我们使用过另一家 TTS 提供商,该提供商提供的语音不真实,并且存在可扩展性问题。很显然,机器人的声音不会带来良好的客户体验。我们希望声音更加自然,更加接近人类声音。Amazon Polly 为我们提供了一个非常简单、灵活、自然和可扩展的文本到语音的解决方案,而且成本非常低。另外,Amazon Polly 还支持不同的语音和语言。Amazon Polly 可以在数毫秒内处理数据,这样我们的客户不需要长时间等待回应。

未来的发展

我们计划在未来使用 Amazon Lex,以便客户可以向自己的家居安防系统发出控制命令,而不是输入 DTML 代码。Amazon Lex 提供了自动语音识别 (ASR) 的深度学习功能,可将语音转换为文本;并且提供了自然语言理解 (NLU) 来识别文本的意思。我们的目标是为用户提供全语音用户接口。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/using-amazon-polly-to-provide-real-time-home-monitoring-alerts/


2019-10-11 11:19780
用户头像

发布了 1926 篇内容, 共 154.1 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

MySQL备份与恢复场景示例

Simon

MySQL

物理实现(Physical Implementation)

老壳有点爽

芯片 集成电路 IC 物理设计 PI

数字电路后端设计流程

老壳有点爽

设计 flow 集成电路 IC

芯片行业的主要生意模式

老壳有点爽

芯片 集成电路 IC

Linux指令简述&vim引入(1)

老壳有点爽

vim Linux 脚本

看门狗 | 分布式锁架构设计方案-01

九叔(高翔龙)

redis 分布式锁 RedLock WatchDog

魅力非凡的半导体电路行业

老壳有点爽

芯片 集成电路 IC 芯片营销

模拟电路设计工程师发展九段

老壳有点爽

集成电路 IC 芯片设计 模拟电路

Vim小技巧(2)

老壳有点爽

vim Linux 脚本语言

集成电路工艺基础介绍

老壳有点爽

芯片 集成电路 IC 工艺 制程

世界集成电路发展概况

老壳有点爽

芯片 集成电路 IC 芯片营销

半导体行业个人理解

老壳有点爽

芯片 半导体 集成电路 IC

IC设计流程及工具

老壳有点爽

芯片 集成电路 IC IC设计流程及工具

商业计划书制作(2):商业计划书的完成阶段

老壳有点爽

创业 财富自由 商业计划书

看门狗 | 分布式锁架构设计方案-02

九叔(高翔龙)

redis 分布式锁 Jedis RedLock

Python 核心技术与实践 input&output

Bonaparte

强势入局,区块链专利将成为银行下一个战场?

CECBC

区块链 金融 银行

商业计划书制作(1):商业计划书的信息需求

老壳有点爽

创业 商业计划书 信息需求

2020深圳站-GIAC全球互联网架构大会PPT分享

九叔(高翔龙)

架构 分布式系统 服务治理 大型网站演变 全链路压测

数字后端工程师发展六阶段

老壳有点爽

芯片 集成电路 IC 数字电路工程师

sed 语言学习技巧(2)

老壳有点爽

vim sed 脚本语言

Verilog 的debug技巧(1)

老壳有点爽

芯片 集成电路 IC Verilog 电路

最初芯片国产化是怎么来的?

老壳有点爽

芯片 集成电路 国产化 替代

芯片行业基本生态:设计生产封装的行业分工

老壳有点爽

芯片 集成电路 IC

sed语言学习技巧(1)

老壳有点爽

vim 编程语言 sed 脚本语言

PySpark RDD 基础运算和操作总结

是老郭啊

spark pyspark RDD

区块链之物流产业上链解决痛点

CECBC

区块链 供应链

中国大陆芯片行业发展概况

老壳有点爽

芯片 集成电路 IC

成都信息工程大学的区块链工程成全国首个区块链工程本科专业

CECBC

区块链技术 区块链工程

MySQL DDL详情揭露

Simon

MySQL

集成电路设计概括

老壳有点爽

芯片 集成电路 IC

使用 Amazon Polly 提供实时家居监控警报_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章