Android语音活动检测(VAD)技术文档

Android语音活动检测(VAD)技术文档

android-vad Android Voice Activity Detection (VAD) library. Supports WebRTC VAD GMM, Silero VAD DNN, Yamnet VAD DNN models. android-vad 项目地址: https://gitcode.com/gh_mirrors/an/android-vad

Android VAD库旨在实时处理音频,识别含噪声的人声是否存在,适用于音频样本中的语音与噪音混合情况。本库提供三种不同的VAD模型,分别是基于GMM的WebRTC VAD,基于DNN的Silero VAD以及同样利用DNN并结合Mobilenet_v1架构的Yamnet VAD。下面将详细介绍这三种模型的安装与使用方法。

安装指南

添加依赖

通过JitPack添加此库到您的Android项目中,首先在项目的build.gradle文件的repositories部分添加JitPack仓库:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

然后,在app模块的build.gradle文件中添加对应依赖,并确保加入其他必要的依赖如ONNX Runtime和TensorFlow Lite(具体版本参照最新版本):

dependencies {
    implementation 'com.github.gkonovalov:android-vad:<latest-version>'
    implementation 'com.microsoft.onnxruntime:onnxruntime-android:1.15.1' // 对于Silero VAD
    implementation 'org.tensorflow:tensorflow-lite-task-audio:0.4.0' // 对于Yamnet VAD
}

替换 <latest-version> 为您实际查找得到的最新版本号。

项目的使用说明

WebRTC VAD

  • 初始化: 使用Vad.builder()设置所需参数,如采样率、帧大小和模式,之后调用.build()
  • 基本使用: 调用vad.isSpeech(audioData)来判断一段音频是否包含语音。
  • 连续监听: 设置setContinuousSpeechListener, 在用户说话或静音时触发回调。

Silero VAD

与WebRTC类似,但需注意适配ONNX Runtime环境,并且推荐参数有所不同。

Yamnet VAD

不仅能够执行VAD,还能分类音频事件。通过classifyAudio(audioData)获取声音类别,并可设置针对特定类别的连续监听器。

项目API使用文档

  • WebRTC VAD API

    • setSampleRate(SampleRate): 设置采样率,如SampleRate.SAMPLE_RATE_16K
    • setFrameSize(FrameSize): 设定帧大小,例如FRAME_SIZE_512
    • setMode(Mode): 配置模式,有NORMAL, LOW_BITRATE, AGGRESSIVE, VERY_AGGRESSIVE可选。
  • Silero VAD API

    • 包含相同的基本配置API,但采样率推荐为8kHz,框架尺寸为256。
  • Yamnet VAD API

    • 初始化需要上下文(setContext)以访问模型文件。
    • 分类功能支持更复杂的场景分析,返回结果包括声音类别和概率分数。

注意事项

  • 兼容性: 确保所选用的VAD模型与您的目标Android API层级兼容。
  • 资源管理: 不忘调用vad.close()释放资源。
  • 性能考量: 根据应用需求选择最合适的模型,平衡精度与性能。

通过遵循上述指导,开发者可以有效地集成Android VAD功能,提升其应用程序在处理语音交互时的准确性和响应速度。

android-vad Android Voice Activity Detection (VAD) library. Supports WebRTC VAD GMM, Silero VAD DNN, Yamnet VAD DNN models. android-vad 项目地址: https://gitcode.com/gh_mirrors/an/android-vad

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗梓惠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值