写点什么

使用 AWS Transcribe 配合物联网设备构建一套支持多语种的语音到文本通知系统

  • 2020-09-13
  • 本文字数:3079 字

    阅读完需:约 10 分钟

使用 AWS Transcribe 配合物联网设备构建一套支持多语种的语音到文本通知系统

Original URL: https://aws.amazon.com/cn/blogs/machine-learning/building-a-speech-to-text-notification-system-in-different-languages-with-aws-transcribe-and-an-iot-device/


您是否希望访客能在您不在家时给您留言?是否希望这样的解决方案能够支持您惯常使用的母语?其实很简单,我们可以轻松构建起这样一套具有成本效益的解决方案,而且只需要为实际使用的资源付费。


本文将向大家介绍如何构建一套通知系统,其能够检测造访人士、录制音频、将音频转录为文本、并通过您熟悉的语言将文本发送至移动设备端。这套解决方案中将用到以下服务:


先决条件

要完成本轮演练,您需要做好以下准备:


工作流与架构

当传感器检测到指定范围内的人员时,接入 Raspberry Pi 的扬声器会播放初始问候语,并提示用户录制一条语音消息。该录音将被发送至 Amazon S3,由后者触发 Lambda 函数以使用 Amazon Transcribe 将语音转录为文本。转录完成之后,用户将从 Amazon SNS 处接收转录的文本通知。


下图所示,为这套解决方案的工作流程。



Amazon Transcribe 使用的深度学习过程名为自动语音识别(ASR),能够按照您选定的语种将语音快速准确地转换为文本。它还能自动添加标点符号与格式,确保输出结果具有可与手动转录相媲美的准确度。您还可以使用自定义词汇表配置 Amazon Transcribe,以获取更准确的转录效果(例如,添加家中成员的姓名)。您也可以通过配置词汇表去删除转录结果中的某些特定词汇(例如亵渎或者冒犯性词语)。Amazon Transcribe 支持多种不同语言。关于更多详细信息,请参阅Amazon Transcribe是什么?

上传 CloudFormation 栈

本文将提供一套 CloudFormation 模板,该模板将创建一个输入 S3 存储桶,用于触发 Lambda 函数以将音频转录为文本,而后通过 SNS 通知将文本发送给用户。当然,模板中也包含完成上述流程所需要的权限。


  • 下载 CloudFormation模板

  • 在 AWS CloudForamtion 控制台上,选择 Upload a template file

  • 选择您已经下载完成的文件。

  • 选择 Next

  • Stack Name 部分,输入您的栈名称。

  • Parameters 下,使用以下输入对模板参数进行更新


参数默认说明
MobileNumber必填一个可接收SNS通知的有效手机号码。
LanguageCode必填音频文件的语言代码,例如English US。
SourceS3Bucket必填一个唯一的存储桶名称。


  • 选择 Next

  • Options 页面上,选择 Next

  • 在 Review 页面上,查看并确认各项设置。

  • 选定勾选框以确认由模板创建相关 IAM 资源。

  • 选择 Create


大家可以在 AWS CloudFormation 控制台上查看栈状态。您应该会在 5 分钟左右内看到状态转换为CREATE_COMPLETE


  • Outputs 中记录 BucketNameRaspberryPiUserName

下载欢迎消息

要下载欢迎消息,请完成以下步骤:


  • 在 Amazon Polly 控制台的 Plain text 选项卡上,输入您的欢迎信息。

  • Language and Region 部分,选择您的首选语言。

  • 选择 Download MP3



  • 将该文件重命名为greetings.mp3

  • 将文件移动至raspberrypi /home/pi/Downloads/文件夹。

设置 AWS IoT 凭证提供程序

设置 AWS IoT 凭证之后,我们才能安全地对物联网设备进行身份验证。关于具体操作说明,请参阅如何使用AWS IoT凭证提供程序消除设备中的AWS硬编码凭证需求。在该文第 3 步中添加以下策略,以将文件上传至 Amazon S3(而非更新 Amazon DynamoDB 表):


Json


             {                "Version": "2012-10-17",                "Statement": {                  "Effect": "Allow",                  "Action": [                    "s3:PutObject"                  ],                  "Resource": "arn:aws:s3:::<sourceS3Bucket>"                }              }
复制代码

设置 Raspberry Pi

要设置 Raspberry Pi,请完成以下操作步骤:


  • 在 Raspberry Pi 上,打开终端并安装AWS CLI

  • 为传感器创建一个 Python 文件与代码,以检测人员对象是否处于特定范围(例如 30 厘米到 200 厘米)之间。如果是,播放欢迎消息,在指定时段内(例如 20 秒)录制音频,而后将音频发送至 Amazon S3。具体请参见以下示例代码。


Json


 while True:        GPIO.setmode(GPIO.BOARD)       #Setting trigger and echo pin from ultrasonic sensor        PIN_TRIGGER = 7        PIN_ECHO = 11        GPIO.setup(PIN_TRIGGER, GPIO.OUT)        GPIO.setup(PIN_ECHO, GPIO.IN)        GPIO.output(PIN_TRIGGER, GPIO.LOW)
print ("Waiting for sensor to settle") time.sleep(2)
print ("Calculating distance") GPIO.output(PIN_TRIGGER, GPIO.HIGH) time.sleep(0.00001) GPIO.output(PIN_TRIGGER, GPIO.LOW) while GPIO.input(PIN_ECHO)==0: pulse_start_time = time.time() while GPIO.input(PIN_ECHO)==1: pulse_end_time = time.time() pulse_duration = pulse_end_time - pulse_start_time print(pulse_end_time) print(pulse_end_time) #Calculating distance in cm based on duration of pulse. distance = round(pulse_duration * 17150, 2) print ("Distance:",distance,"cm")

if 30 <= distance <= 200: cmd = "ffplay -nodisp -autoexit /home/pi/Downloads/greetings.mp3" print ("Starting Recorder") os.system(cmd) #Recording for 20 seconds, adding timestamp to the filename and sending file to S3 cmd1 ='DATE_HREAD=$(date "+%s");arecord /home/pi/Desktop/$DATE_HREAD.wav -D sysdefault:CARD=1 -d 20 -r 48000;aws s3 cp /home/pi/Desktop/$DATE_HREAD.wav s3://homeautomation12121212' os.system(cmd1)
else: print ("Nothing detected")
复制代码


  • 运行 Python 文件。


超声波传感器会不断寻找正接近您家附近的人员。当检测到有人时,扬声器会播放欢迎消息并要求访客开始录音。录音随后会被发送到 Amazon S3。


如果您的扬声器与麦克风接入多个设备,例如 HDMI 与 USB,请配置asoundrc文件。

测试解决方案

将 Raspberry Pi 放置在您家中能够感知到他人并录制音频的位置。


当该人出现在 Raspberyy Pi 面前时,他们应该听到欢迎消息。他们可以在录制音频后离开,而您能够收到由录制音频转录而成的文本短信。

总结

本文展示了如何使用 AWS 服务构建安全的语音到文本通知解决方案。如果您在未来的应用场景中需要使用多种不同语言,将语音内容转换为文本,则可以直接集成这套解决方案。如果您有任何问题或者意见,请在评论区中与我们交流。


作者介绍


Vikas Shah


Amazon Web Services 公司企业级解决方案架构师。他是一位技术爱好者,乐于帮助客户为复杂的业务挑战找到创新型解决方案。他对机器学习、物联网、机器人技术以及存储抱有浓厚兴趣。在业余时间,Vikas 喜欢组装机器人、远足和旅行。


Anusha Dharmalingam


Amazon Web Services 公司解决方案架构师。她对应用程序开发与大数据解决方案充满热情。Anusha 与企业客户合作,帮助他们设计、构建并扩展用于实现业务目标的应用程序。


本文转载自亚马逊 AWS 官方博客。


原文链接


使用 AWS Transcribe 配合物联网设备构建一套支持多语种的语音到文本通知系统


2020-09-13 10:001432

评论

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

IP65防水LED面板:户外显示首选

Dylan

广告 LED LED display LED显示屏 LED屏幕

如果要造硬件,最好在深圳,如果要在一场黑客松上造硬件,最好在……

声网

火山引擎重塑智能终端行业,推动国产AI普惠

新消费日报

spss是什么软件,SPSS主要用来做什么的 ? SPSS数据分析软件介绍 spss个人版和企业版区别

阿拉灯神丁

mac数据分析统计软件 spss数据统计 IBM SPSS Statistics中文 spss统计软件

项目管理利器:甘特图的全面解析与应用指南

敏捷开发

甘特图 #项目管理

天润融通AI助理重大更新!三大功能让新人客服成长周期缩短一半!

天润融通

甩开卡顿!HarmonyOS丢帧问题超详细拆解手册

Turing_010

用户案例分论坛议程发布!2025 IoTDB 用户大会揭秘全球标杆应用实例

Apache IoTDB

火山引擎×国产智能终端:「端云协同」共创AI落地“中国方案”

新消费日报

AI手机出货量逐年上扬,火山引擎助力国内厂商 “弯道超车”

新消费日报

掌握AI,驾驭未来!天润融通AI训练师精英计划报名火热进行中

天润融通

Golang基础笔记二之字符串及其操作

Hunter熊

golang 字符串 字符串处理

时序数据库 TDengine x Kepware:解决你最头疼的“设备接入”问题

TDengine

数据库 tdengine 时序数据库

底层架构剖析:国内 iPaaS 开发效率与稳定性双优,国外 ESB 为何落后?

谷云科技RestCloud

ESB 底层架构 集成平台 ipaas

大模型 RAG 进阶实战营 毕业总结

gigifrog

天润融通Agent已经成了最会卖货的员工

天润融通

Windows下版本控制器(SVN)- 配置版本库

刘大猫

人工智能 svn 大模型 tortoiseSVN 版本控制器

塞讯科技亮相 GTLC 全球科技领导力大会 · 全球总站,探讨 AI 驱动下的系统韧性新范式

塞讯科技

Sam Altman :无处不在的 AI 伴侣是理想产品形态;MiniMax Agent:一键直出图文音并茂作品丨日报

声网

《HarmonyOSNext性能暴击指南:3大避坑术+4维钻石法则,告别卡顿从入门到封神!》

Turing_010

【HarmonyOS 5】鸿蒙应用px,vp,fp概念详解

GeorgeGcs

HarmonyOS NEXT

【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解

GeorgeGcs

HarmonyOS NEXT

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

GeorgeGcs

HarmonyOS

【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解

GeorgeGcs

HarmonyOS

2025 企业级 AI Agent 推荐指南

Techinsight

生成式 AI 的发展方向,应当是 Chat 还是 Agent?

Techinsight

2025年的风口,聊聊AI Agent的新范式

Techinsight

HDC 2025直播盛宴来袭,鸿蒙生态精彩内容不容错过!

最新动态

FL Studio 24.2重要更新内容,FL Studio 24中文破解版下载,FL Studio免费序列号激活码分享

阿拉灯神丁

编曲软件 水果FL Studio FL Studio2024 音乐制作软件 音频软件

Java中高级核心知识全面解析(面试题及答案大全)!

程序员高级码农

程序员 Java 面试题

鸿蒙运动项目开发:封装超级好用的 RCP 网络库(下)—— 实战应用

王二蛋和他的张大花

使用 AWS Transcribe 配合物联网设备构建一套支持多语种的语音到文本通知系统_大数据_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章