AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

使用 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:19760
用户头像

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

关注

评论

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

Solana流支付协议Zebec完成850万美元融资,CircleVentures等参投

股市老人

一文读懂隐私公链Findora生态布局

鳄鱼视界

MySQL常见面试题

浅羽技术

MySQL 数据库 面试 后端 8月月更

面对数字化转型,金融ITer要补的第一堂课:运营

王和全

数字化转型 运营 数据运营 金融业cio指南 证券行业

后端面试必备知识点

浅羽技术

Java 面试 后端 8月月更

1个理念4个步骤,快速上手客户体验管理

创意时空

头脑风暴:二叉搜索树中的众数

HelloWorld杰少

算法 LeetCode 8月月更

Solana流支付协议Zebec完成850万美元融资,CircleVentures等参投

小哈区块

想要达到阿里P6?最少啃完这本500页Java并发多线程源码笔记

收到请回复

Java 程序员 架构 技术管理 语言 & 开发

拆解实体门店转型升级中的体验思维

创意时空

[JS真好玩] InfoQ创作者必备: 监控每天是谁取关了你?

HullQin

CSS JavaScript html 前端 8月月更

云原生(二十七) | Kubernetes篇之自建高可用k8s集群前置概念与操作

Lansonli

云原生 k8s 8月月更

乐观锁和悲观锁各自应用场景

浅羽技术

Java 乐观锁 悲观锁 8月月更

Mysql大法-Mysql索引失效VS Mysql存储引擎

知识浅谈

8月月更

每日一R「16」实践课之 kv-server(二)

Samson

学习笔记 8月月更 ​Rust

开源一夏 | React对于生命周期的深入研究

恒山其若陋兮

开源 8月月更

索信达控股上半年成绩出炉:核心业务收入大幅增长75.3%

索信达控股

vim设置go语法高亮

程序员欣宸

vim 8月月更

J-Tech Talk | 编写Dockerfile的最佳实践

Jina AI

Docker J-Tech Talk

如何快速地学习东西(上篇)

宇宙之一粟

学习 成长 8月月更

一文读懂隐私公链Findora生态布局

股市老人

购物体验值急转直下?消费体验的症结和解药在这里!

创意时空

Solana流支付协议Zebec完成850万美元融资,CircleVentures等参投

西柚子

英特尔推出数据中心GPU Flex系列,以开放式软件堆栈助力开发者

科技之家

一文读懂隐私公链Findora生态布局

BlockChain先知

Hash算法详细介绍与实现(一)

迷彩

hash算法 8月月更

什么是数据结构

乌龟哥哥

8月月更

史上秋招最全500道Java面试题:JVM+分布式+算法+锁+MQ+微服务+数据库

退休的汤姆

Java 程序员 社招 Java工程师 秋招

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