超简单集成HMS Core声音识别服务,打造安全管理新体验

本文主要是介绍超简单集成HMS Core声音识别服务,打造安全管理新体验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

  最近看到新闻说麻省理工学院开发出可以识别新冠肺炎感染者咳嗽声的AI模型,通过分析咳嗽录音,可以将无症状感染者与健康的人区分开来。

  是不是感觉AI技术很神奇、很强大,仅通过咳嗽声音就可以区分无症状感染者和健康人。

  其实AI声音识别技术已经越来越多的应用于安全检测场景中。

  下面,就跟着小编来了解下华为声音识别服务吧。

服务介绍

  华为声音识别服务是通过在线(实时录音)的模式检测环境中的声音事件,并基于检测到的声音事件,帮助开发者进行后续指令动作,比如通过手机软件通知用户正在发生的事件,提醒用户做出相应的行为和反应。

  华为声音识别服务目前支持13个种类的声音事件检测,主要包括:

  • 笑声

  • 婴幼儿哭声

  • 打鼾声

  • 喷嚏声

  • 叫喊声

  • 猫叫声

  • 狗叫声

  • 流水声(包括水龙头流水声、溪流声、海浪声等)

  • 汽车喇叭声

  • 门铃声

  • 敲门声

  • 火灾报警声(包括火灾报警器警报、烟雾报警器警报等)

  • 警报声(包括消防车警报、救护车警报、警车警报声、防空警报等)

应用场景

  华为声音识别服务可应用于听力障碍辅助、健康统计、婴幼儿照顾等场景,应用广泛,能够提升用户体验、安全性等。

  比如,听力障碍者借助声音识别服务,可以迅速获知周围正在发生的事件,能够快速对周围发生的火灾、警报声、尖叫声、流水声等危险环境作出反应。

  婴幼儿父母可以通过声音识别服务,随时得知婴幼儿状态,当接收到手机应用关于婴幼儿哭声的通知后,可以短时间内到婴幼儿身边照料,不用时刻守在婴幼儿身边。

  此外,我们还可以通过声音识别服务,实时检测记录打鼾声、喷嚏声等数据,分析统计健康状况。

  华为声音识别服务操作简单,提供API接口和SDK包。开发者通过简单调用接口,就可以进行后续开发。

开发步骤

1 配置AppGallery Connect。

  在开发应用前,需要在AppGallery Connect中配置相关信息。

  具体操作步骤,详见下方链接:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/config-agc-0000001050990353-V5

2 配置HMS Core SDK的Maven仓地址,并完成本服务的SDK集成。

2.1 打开Android Studio项目级“build.gradle”文件。
在这里插入图片描述

2.2 添加HUAWEI agcp插件以及Maven代码库。

  • 在“allprojects > repositories”中配置HMS Core SDK的Maven仓地址。

  • 在“buildscript > repositories”中配置HMS Core SDK的Maven仓地址。

  • 如果App中添加了“agconnect-services.json”文件则需要在“buildscript > dependencies”中增加agcp配置。

buildscript {repositories {google()jcenter()maven {url 'https://developer.huawei.com/repo/'}}dependencies {...classpath 'com.huawei.agconnect:agcp:1.4.1.300'}
}allprojects {repositories {google()jcenter()maven {url 'https://developer.huawei.com/repo/'}}
}
3 创建声音识别实例。
MLSoundDector soundDector = MLSoundDector.createSoundDector();
4 创建声音识别结果回调,用于获取检测结果,并将回调传入声音识别实例。
private MLSoundDectListener listener = new MLSoundDectListener() {@Override    public void onSoundSuccessResult(Bundle result) {//识别成功的处理逻辑,识别结果为:0-12(对应MLSoundDectConstants.java中定义的以SOUND_EVENT_TYPE开头命名的13种声音类型)。int soundType = result.getInt(MLSoundDector.RESULTS_RECOGNIZED);    }@Override    public void onSoundFailResult(int errCode) {//识别失败,可能没有授予麦克风权限(Manifest.permission.RECORD_AUDIO)等异常情况。}
};
soundDector.setSoundDectListener(listener);
5 启动识别。
boolean isStarted = soundDector.start(context); //context 是上下文
//isStared 等于true表示启动识别成功、isStared等于false表示启动识别失败(原因可能是手机麦克风被系统或其它三方应用占用)
6 停止识别。
soundDector.stop();
7 识别结束,释放资源。
soundDector.destroy();

DEMO演示

在这里插入图片描述

欲了解更多详情,请参阅:

华为开发者联盟官网:https://developer.huawei.com/consumer/cn/hms

获取开发指导文档:https://developer.huawei.com/consumer/cn/doc/development

参与开发者讨论请到Reddit社区:https://www.reddit.com/r/HMSCore/

下载demo和示例代码请到Github:https://github.com/HMS-Core

解决集成问题请到Stack Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


原文链接:
https://developer.huawei.com/consumer/cn/forum/topic/0201411999326170397?fid=18
作者:say hi

这篇关于超简单集成HMS Core声音识别服务,打造安全管理新体验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/696324

相关文章

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”