超简单集成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

相关文章

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配