乐趣区

关于android:超简单集成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

退出移动版