silero-vad 官方新增了java 的demo

VAD入门(基于Python) Silero VAD 是 Silero 语音模型系列中的语音活动检测(VAD)工具,基于深度学习实现,相比传统 VAD(如 WebRTC VAD),它在复杂噪声环境下的检测效果更好,且支持更灵活的输入格式。(1)安装 (2)依赖 Python 3.7+ PyTorch 1.10+ TorchAudio 0.10+(1) 语音段检测 输入音频波形,返回语音段的起止时间(单位:毫秒)。 (2) 实时语音检测 支持流式音频输入,逐帧判断是否包含语音。(1) 加载模型 (2)检测语音段 输出示例: (3) 提取语音 阅读详情
AI摘要

本文介绍了如何将AndroidGitHub上的SileroVADJava示例代码应用于Java中,简化了基于freeswitch获取PCM数据时的静音检测,利用OnnxRuntime执行模型预测。

原来参考android GitHub - gkonovalov/android-vad: Android Voice Activity Detection (VAD) library. Supports WebRTC VAD GMM, Silero VAD DNN, Yamnet VAD DNN models.的kt改写java demo 可费劲了 

上个月  https://github.com/snakers4/silero-vad/tree/master/examples/java-example 官方新增了例子  在java判断pcm 的静音简单了 

package org.example;

import ai.onnxruntime.OrtException;
import javax.sound.sampled.*;
import java.util.Map;

public class App {

    private static final String MODEL_PATH = "src/main/resources/silero_vad.onnx";
    private static final int SAMPLE_RATE = 16000;
    private static final float START_THRESHOLD = 0.6f;
    private static final float END_THRESHOLD = 0.45f;
    private static final int MIN_SILENCE_DURATION_MS = 600;
    private static final int SPEECH_PAD_MS = 500;
    private static final int WINDOW_SIZE_SAMPLES = 2048;

    public static void main(String[] args) {
        // Initialize the Voice Activity Detector
        SlieroVadDetector vadDetector;
        try {
            vadDetector = new SlieroVadDetector(MODEL_PATH, START_THRESHOLD, END_THRESHOLD, SAMPLE_RATE, MIN_SILENCE_DURATION_MS, SPEECH_PAD_MS);
        } catch (OrtException e) {
            System.err.println("Error initializing the VAD detector: " + e.getMessage());
            return;
        }

        // Set audio format
        AudioFormat format = new AudioFormat(SAMPLE_RATE, 16, 1, true, false);
        DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);

        // Get the target data line and open it with the specified format
        TargetDataLine targetDataLine;
        try {
            targetDataLine = (TargetDataLine) AudioSystem.getLine(info);
            targetDataLine.open(format);
            targetDataLine.start();
        } catch (LineUnavailableException e) {
            System.err.println("Error opening target data line: " + e.getMessage());
            return;
        }

        // Main loop to continuously read data and apply Voice Activity Detection
        while (targetDataLine.isOpen()) {
            byte[] data = new byte[WINDOW_SIZE_SAMPLES];

            int numBytesRead = targetDataLine.read(data, 0, data.length);
            if (numBytesRead <= 0) {
                System.err.println("Error reading data from target data line.");
                continue;
            }

            // Apply the Voice Activity Detector to the data and get the result
            Map<String, Double> detectResult;
            try {
                detectResult = vadDetector.apply(data, true);
            } catch (Exception e) {
                System.err.println("Error applying VAD detector: " + e.getMessage());
                continue;
            }

            if (!detectResult.isEmpty()) {
                System.out.println(detectResult);
            }
        }

        // Close the target data line to release audio resources
        targetDataLine.close();
    }
}

运行加下onnx的 dll git 下载下

System.load("F:\\jar\\onnxruntime-win-x64-1.16.3\\lib\\onnxruntime.dll");

对应基于freeswitch 获取到的pcm数据判断静音就简单了

vadDetector.apply(data, true); 主要方法就是get float值

// Call the model to get the prediction probability of speech
float speechProb = 0;
try {
    speechProb = model.call(new float[][]{audioData}, samplingRate)[0];
} catch (OrtException e) {
    throw new RuntimeException(e);
}

 

  有兴趣可以到https://item.taobao.com/item.htm?id=653611115230

智能外呼实战:如何用阿里/腾讯ASR + VAD降噪,低成本搭建一个能实时质检的FreeSwitch系统 本文详细介绍了如何利用FreeSwitch开源平台与阿里/腾讯云ASR服务,构建低成本、高可用的智能外呼系统。通过VAD端点检测、降噪处理和云ASR识别等技术组合,实现实时语音质检功能,显著提升客户服务与营销效率。方案特别适合中小团队快速验证业务模型,月成本可控制在千元以内。 阅读详情

相关推荐

神经网络实用工具(整活)系列---使用silero-vad标注语音中的人物对话

当我们使用神经网络来进行音频转文字的操作时,往往需要先把存在语音的音频片段筛选出来再送到音频转文字的神经网络中去筛选,否则总会出现奇奇怪怪的问题。在本篇文章中,我们介绍一种比较常用的做法,也就是用pytorch提供的silero-vad语音活性检测网络来标记出语音中存在人物对话的部分。废话不多说,直接上代码(代码的操作很简单,就是将一个名为1.mp3的音频文件进行语音活性检测,然后将检测到的语音片段存在一个叫做1的文件夹中,文件名包含了片段开始的时间戳。

weixinhum 7141

探索Silero VAD:高效语音活动检测库

是一个由Snakers4团队开发的开源项目,专注于实时和离线语音活动检测(Voice Activity Detection, VAD)。VAD是一种关键技术,在语音识别、通话质量监控、音频剪辑等领域发挥着重要作用。本文将深入解析Silero VAD的项目背景、技术实现、应用场景及核心特点,引导更多开发者了解并尝试这一优秀工具。 ## **项目简介** Silero VAD是一个基于深度学习模型

gitblog_00051的博客 4759

silero-vad:Silero VAD:经过培训的企业级语音活动和数字检测器

Silero VAD Silero VAD:经过培训的企业级语音活动检测器(VAD),数字检测器和语言分类器。 企业级语音产品变得非常简单(请参阅我们的模型)。 当前,除WebRTC语音活动检测器()外,几乎没有任何高质量/现代/免费/公共语音活动检测器。 WebRTC虽然开始显示其年龄,但遭受许多误报。 同样在某些情况下,能够使大型口语语料库匿名(即删除个人数据)也至关重要。 如果个人数据包含(i)名称(ii)某些私人ID,则通常被认为是私人/敏感的。 名称识别是一个非常主观的问题,它取决于语言环境和业务案例,但是语音活动和号码检测是非常常规的任务。 主要特点: 现代,便携; 低内存占用; 优于WebRTC的指标; 在庞大的语音语料库和噪音/声音库上受过训练; 比WebRTC慢,但对于IOT /边缘/移动应用程序足够快; 与WebRTC(大多数情况下会从声音中分辨出静

【亲测免费】 Silero VAD 安装和配置指南

### 项目介绍 Silero VAD 是一个预训练的企业级语音活动检测器(Voice Activity Detector, VAD)。它能够快速、准确地检测音频中的语音片段,适用于多种场景,如物联网、边缘计算、移动设备等。Silero VAD 具有高精度、快速处理、轻量级和高度便携等特点。 ### 主要编程语言 Silero VAD 主要使用 Python 编程语言进行开发和部署。 ## 2...

gitblog_07753的博客 3646

在LinuxMint 22.1(Ubuntu24.04)上安装使用同花顺远航版

Linux用户成功在LinuxMint22.1系统上通过Wine9.0运行同花顺远航版,解决了长期困扰的股票行情软件问题。此前Linux原生版同花顺功能简陋且停止更新,Wine版通达信存在显示问题。作者作为自由软件支持者,通过调整Wine配置文件解决了高分屏显示异常问题,实现了远航版的正常使用。期待同花顺能重启Linux原生版开发,支持更多处理器架构,完善国产软件生态。该方案为Linux股票软件用户提供了实用参考。

5129

【报错】sqli-labs靶场搭建出现“Unable to connect to the database: security”

搭建sqli-labs靶场时,“Unable to connect to the database: security”报错解决

九芒星的博客 2988

PaddleSpeech Runtime 部署 Silero VAD:C 接口、Linux/Android 构建与语音活动检测实践

本文以 PaddleSpeech 仓库的 `runtime/examples/vad` 示例为主线,系统讲解基于 FastDeploy 运行时的 Silero VAD(语音活动检测)在 CPU/GPU 与 Android 端上的完整落地流程。读者将掌握 VAD 的 C 级调用接口(创建、重置、分块前馈、状态机)、配置文件语义、Linux 编译选项与演示运行方法,并理解 RTF 指标与端侧部署要点,

gitblog_00711的博客 1053

Kali实战:构建安卓远程监控工具,实现拍照、定位与信息获取

本文详细介绍了如何使用Kali Linux构建安卓远程监控工具,实现拍照、定位与信息获取功能。通过Metasploit框架生成安卓载荷,部署到目标设备并建立连接,执行远程监控操作如获取位置信息、拍照和读取通讯录。文章还提供了进阶技巧与问题排查方法,强调法律与道德考量。

weixin_28716443的博客 239

零代码构建实时语音检测系统:用Silero VAD+Python实现企业级音频分析

你是否还在为语音交互产品中的背景噪音烦恼?是否因传统语音检测方案复杂的配置流程望而却步?本文将带你用3行核心代码实现工业级语音活动检测(VAD),无需深厚机器学习背景,10分钟即可完成从环境搭建到实时音频处理的全流程。 ## 为什么选择Silero VAD? Silero VAD(Voice Activity Detector,语音活动检测器)是一款预训练的企业级语音检测模型,其核心优势在于:

gitblog_00774的博客 882

【Labview】对连续采集数据的一种采样方法

图1如图1,想要对这样一个连续信号进行数据点的采集,我根据网上收集到的方法,在此分享一下最终的结果。可以拓展结合文件的写入,完成对连续信号的采集和输出。 已知: 一个连续信号,如图1. 目标: 设定一定采集点个数、采集点时间间隔、和采集周期次数,得到这条连续信号的数据点,如图2. 图2 方法如下: 主要利用的是队列的方法。 在连续信号生成的时候,不断的写入队列,并且清除队列。 ...

李时珍食疗志的博客 1万+

拆解一个800G光模块:手把手带你认识里面的MT插芯和光纤阵列(FA)

本文详细拆解了800G光模块中的关键组件MT插芯和光纤阵列(FA),揭示了并行光学技术如何实现高速数据传输。通过显微镜下的精密观察,展示了MT插芯的高精度构造和光纤阵列的连接奥秘,同时解析了高精度研磨工艺对光信号传输的重要性。这些微型组件是高速收发模块实现800Gbps带宽的核心技术。

weixin_30839881的博客 1540

Android端实时语音活动检测实战:基于Silero VAD的高效集成与性能优化

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960135的博客 861

YOLOv8人工智能与深度学习——强化学习

本文介绍了将YOLOv8目标检测模型与强化学习结合的方法。主要应用包括自适应目标检测(动态调整检测参数)、主动学习(智能选择标注样本)和多目标跟踪优化。实现方案采用深度Q网络策略,通过定义状态表示、动作空间和奖励函数,使检测系统能根据环境反馈优化性能。该方法具有自适应优化、资源高效、持续改进等优势,能构建更智能的计算机视觉系统。文章详细说明了强化学习环境的构建、策略网络的实现以及训练过程,并提供了代码示例。

u010117029的博客 259

Android端Silero VAD集成实战:从模型优化到边缘计算部署

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94959806的博客 465

C# 与欧姆龙 PLC 实战:通过 Ethernet/IP 协议进行设备控制与监控

本文介绍了如何通过C#和Ethernet/IP协议实现与欧姆龙PLC的通信。Ethernet/IP是基于以太网的工业协议,适用于工业设备间的实时数据交换。文章详细讲解了使用EthernetIPSharp库建立连接、读写数据的步骤,并提供了示例代码。此外,还探讨了实时监控、报警系统等高级功能,为工业自动化控制系统开发提供了实用指导。该方法简化了PLC通信开发,提高了系统可靠性和智能化程度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 811

【Cmder】--- Windows11 配置CMD神器 (超详细 持续更新中)

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

秋知叶i 1万+

PaddleSpeech Android VAD 实战:WebRTC GMM 实时语音活动检测的原理、参数与接入指南

本指南以 PaddleSpeech 仓库中 [vad-android-demo](https://link.gitcode.com/i/0ab7a2bac79dc699ab489b8211863d93) 的文档为骨架,系统讲解如何在 Android 端实现**离线、设备端实时**的语音活动检测(Voice Activity Detection, VAD):先吃透基于 WebRTC VAD(GMM)

gitblog_00225的博客 1091

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Android集成WebRTC与VAD实战指南:从环境搭建到语音活动检测优化

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960225的博客 637

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Android WebRTC与VAD高效集成实战:从选型到性能优化

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960081的博客 324

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

sherpa-onnx:离线语音识别与语音合成,12 种语言绑定的端侧 SDK

- **一句话定位**:sherpa-onnx 基于新一代 Kaldi + onnxruntime,把语音转文字(ASR)、文字转语音(TTS)、VAD 等功能搬进一个纯本地推理的跨平台 SDK,推理过程不需要联网。 - **适合谁用**:做隐私敏感业务的开发者、要在树莓派 / Android / iOS / HarmonyOS 上跑语音功能的应用工程师,以及想先尝鲜的新手——它提供 12 种编程

gitblog_00752的博客 189

sherpa-onnx 实战教程:10 分钟给应用加上离线语音识别与 TTS

你想给应用加一个不依赖网络的语音功能——会议实时字幕、离线语音输入、本地播报——可以直接用 sherpa-onnx。它是一套基于 ONNX Runtime 的本地语音工具链,识别(ASR)、合成(TTS)、说话人分离、VAD 全部在设备端运行,API 覆盖 C++、C、Python、Java、Kotlin、Swift、Rust、Go 等 12 种语言。下面用 Python 接口走一遍,从装包到出结

gitblog_06897的博客 215

sherpa-onnx 本地离线语音识别与合成:3 步跑通第一个 ASR 的完整指南

sherpa-onnx 是一个基于 ONNX Runtime 的开源本地离线语音处理库:它让语音识别(ASR)、语音合成(TTS)完全在你自己的设备 CPU 或 NPU 上运行,全程不联网、不上传,并且把 VAD(语音活动检测)、说话人分离、语音增强等能力打包在同一个库里,适合对"数据不出设备"有硬性要求的嵌入式、手机与桌面应用。 [![sherpa-onnx 本地 Web 语音识别界面,支持文

gitblog_00703的博客 349

Sherpa-ONNX 离线语音识别:本地 ASR 与 TTS 完整上手指南

Sherpa-ONNX 是一个完全离线的端侧语音处理库:基于 ONNX Runtime,把语音识别(ASR)、语音合成(TTS)、语音活动检测(VAD)等能力打包成一套跨平台 SDK,支持 12 种编程语言绑定。如果你的需求是数据不出设备、延迟可控的本地语音处理,它值得放进候选清单。 ## 🎬 场景切入:先看三类典型用法 **隐私敏感的语音转写。** 医疗、车载、金融场景里,录音不能上传第三

gitblog_01041的博客 328

树莓派到 x86 服务器:sherpa-onnx 离线语音识别与合成全链路拆解

音频上传云端,换来的是按量计费和数据出域风险。sherpa-onnx 基于 next-gen Kaldi 与 ONNX Runtime,是一个完全离线的语音识别与合成引擎,ASR、TTS、VAD、唤醒词全在本地跑。 - 音频全程留在设备,内网、弱网可用 - 同一模型配 12 种语言绑定 + WebAssembly - 原生对接 RK/QNN/Ascend/Axera/OpenVINO 五类 NP

gitblog_00104的博客 156

sherpa-onnx 离线语音识别与本地 TTS 完整部署指南

sherpa-onnx 是一个完全离线的本地语音处理 SDK,将语音识别(ASR)、文本转语音合成(TTS)、语音活动检测(VAD)等能力打包为跨平台库,模型直接跑在设备 CPU 或 NPU 上,全程不依赖网络。对需要数据不出设备、延迟可控的团队,它值得放进选型清单。 ## 当录音不能离开设备时 考虑这样一个场景:车载语音助手录到的对话包含乘客位置与隐私信息,医疗侧的问诊录音受合规约束不能上传

gitblog_00082的博客 396

Sherpa-Onnx 入门指南:5 分钟跑通离线语音识别与语音合成

想把语音助手装到树莓派上,又不想把用户语音传到云端?Sherpa-Onnx 解决的就是这个问题:离线语音识别、语音合成、说话人识别全部本地运行,全程不联网。一条 `pip install sherpa-onnx` 之后,对着麦克风说话就能出文字。 ## 快速上手:从安装到出声音的 3 步 你只需要 Python 环境。第一步 `pip install sherpa-onnx`,装完即可 `im

gitblog_01111的博客 666
上一篇: freeswitch 使用 silero-vad 静音拆分使用 fastasr 识别
下一篇: 开源客户沟通平台Chatwoot账号激活问题
java_lilin
博客等级 码龄14年 364粉丝 124原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值