智能语音交互--声音事件检测Quick Start

简介: 智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕等场景,在金融、司法、电商等多个领域均有应用。在新增的语音分析产品中声音事件检测可通过一段声音来对环境音(包括语音、短视频等)里面的事件类型进行检测分类,其主要任务是检测识别音频中诸如背景音乐、哭声、笑声、爆炸声之类的声音,并标注出声音的起止时间,适用于家庭安全监护、音视频剪辑等。本文将使用Java SDK演示声音事件检测服务的调用以供参考。

使用前提与环境准备:服务开通并购买


操作步骤:

1.添加pom依赖

<dependency>
    <groupId>com.alibaba.nls</groupId>
    <artifactId>nls-sdk-recognizer</artifactId>
    <version>2.2.1</version>
</dependency>
<dependency>
  <groupId>com.alibaba.nls</groupId>
  <artifactId>nls-sdk-common</artifactId>
  <version>2.2.1</version>
</dependency>
<dependency>
  <groupId>com.alibaba.nls</groupId>
  <artifactId>nls-sdk-request</artifactId>
  <version>2.2.1</version>
</dependency>

2.Code Sample

import com.alibaba.nls.client.protocol.NlsClient;
import com.alibaba.nls.client.protocol.commonrequest.CommonRequest;
import com.alibaba.nls.client.protocol.commonrequest.CommonRequestListener;
import com.alibaba.nls.client.protocol.commonrequest.CommonRequestResponse;
import java.io.InputStream;
import java.util.Arrays;
//声音事件检测
public class AudioEventDetectionDemo {

    public static final String TOKEN = "XXXXXXXXXX";

    public static final String APPKEY = "XXXXXXXXXX";

    private static final String NAMESPACE = "AudioEventDetection";

    private static final String URL = "wss://nls-gateway.cn-shanghai.aliyuncs.com/ws/v1";

    private static final int SAMPLE_RATE = 16000;

    private static final int CHUNK_DURATION = 200;

    public static void main(String[] args) throws Exception {
        NlsClient client = new NlsClient(URL, TOKEN);

        //InputStream stream = AudioEventDetectionDemo.class.getResourceAsStream("/test.pcm");
        FileInputStream stream = new FileInputStream("D:\\download\\test.pcm");

        CommonRequestListener listener = getListener();
        CommonRequest request = new CommonRequest(client, listener, NAMESPACE);
        request.setAppKey(APPKEY);
        request.addCustomedParam("format", "pcm");
        request.addCustomedParam("sample_rate", 16000);
        request.start();
        int chunkSize = SAMPLE_RATE * 2 / 1000 * CHUNK_DURATION;
        byte[] data = new byte[chunkSize];
        while (true) {
            int len = stream.read(data);
            if (len < 0) {
                break;
            }
            if (len > 0) {
                request.send(Arrays.copyOf(data, len));
            }
            Thread.sleep(CHUNK_DURATION / 10);
        }
        request.stop();

        client.shutdown();
    }

    private static CommonRequestListener getListener() {
        CommonRequestListener listener = new CommonRequestListener() {
            @Override
            public void onStarted(CommonRequestResponse response) {
                System.out.println(
                        "onStarted, taskId: " + response.getTaskId() + ", header: " + response.header + ", payload: "
                                + response.payload);
            }

            @Override
            public void onEvent(CommonRequestResponse response) {
                System.out.println(
                        "onEvent, taskId: " + response.getTaskId() + ", header: " + response.header + ", payload: "
                                + response.payload);
            }

            @Override
            public void onStopped(CommonRequestResponse response) {
                System.out.println(
                        "onStopped, taskId: " + response.getTaskId() + ", header: " + response.header + ", payload: "
                                + response.payload);
            }

            @Override
            public void onFailed(CommonRequestResponse response) {
                System.out.println(
                        "onFailed, taskId: " + response.getTaskId() + ", header: " + response.header + ", payload: "
                                + response.payload);
            }
        };
        return listener;
    }
}

3.测试结果

onFailed, taskId: f0d669851a1a40e8804d1e11651b756c, header: {namespace=Default, name=TaskFailed, message_id=80455ce2482748b1b85260a4634f5c93, task_id=f0d669851a1a40e8804d1e11651b756c, status_text=Gateway:FREE_TRIAL_EXPIRED:The free trial has expired!, status=40000010}, payload: {}

  • 目前由于语音分析服务并不支持免费试用版,需要控制台开通商用版才可正常试用

image.png

4.升级商用后再次测试结果


onEvent, taskId: f06635cda4624969850a314ab99fc6db, header: {namespace=AudioEventDetection, name=TaskResult, message_id=de21af540281426e8c6cd573fb92c15e, task_id=f06635cda4624969850a314ab99fc6db, status_text=Gateway:SUCCESS:Success., status=20000000}, payload: {result=[{"start_time":0,"event_type":"Music","confidence":0.8432333469390869,"end_time":1970}], number=1}

更多参考

开发指南
声音事件检测

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
目录
相关文章
|
7月前
|
Web App开发 机器学习/深度学习 语音技术
在ModelScope-FunASR中,语音识别系统中的声音活动检测
在ModelScope-FunASR中,语音识别系统中的声音活动检测【4月更文挑战第3天】
318 1
|
自然语言处理 监控 BI
智能语音交互控制台项目服务用量查看Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。目前云上的许多企业客户在使用该服务后,往往有想查看具体某个项目的消费账单等需求。这一需求,目前是无法直接查看到的。但是在控制台监控统计功能页可以分项目查看调用量。再结合费用中的账单明细能计算下具体的消费。本文以12月的项目调用为例,为您介绍如何查看监控报表页面项目用量详情。
214 0
智能语音交互控制台项目服务用量查看Quick Start
|
自然语言处理 人机交互 语音技术
智能语音交互账单及用量明细查看Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。目前云上的许多企业客户在使用该服务后,往往有查看消费账单以及具体的调用明细等需求。针对客户的这一需求,官网在产品计费中有详细文档介绍,但是由于客户对于产品官网文档的不了解,通常还是会遇到问题。本文以12月的消费为例,为您介绍如何查看账单流水及具体的用量详情。
428 0
智能语音交互账单及用量明细查看Quick Start
|
自然语言处理 Java 人机交互
阿里云智能语音交互--实时语音识别服务Java SDK Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。实时语音识别服务可对不限时长的音频流做实时识别,达到“边说边出文字”的效果,内置智能断句,可提供每句话开始结束时间。可用于视频实时直播字幕、实时会议记录、实时法庭庭审记录、智能语音助手等场景。本文将使用Java SDK演示实时语音识别服务的快速调用以供参考。
783 0
|
自然语言处理 Java 人机交互
阿里云智能语音交互--长文本语音合成Java SDK Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。长文本语音合成服务可以将超长文本(十万字)合成为接近真人的语音服务,包含男女童音、多语言和方言(且拥有音频重复使用权),适用于文学伴读、新闻阅读等场景。本文将使用Java SDK演示长文本语音合成服务的快速调用以供参考。
1068 0
|
7月前
|
机器学习/深度学习 自然语言处理 算法
基于深度学习的语音识别技术应用与发展
在当今数字化时代,语音识别技术已经成为人机交互领域的重要组成部分。本文将介绍基于深度学习的语音识别技术在智能助手、智能家居和医疗健康等领域的应用与发展,同时探讨该技术在未来的潜在应用和发展方向。
218 4
|
5月前
|
机器学习/深度学习 自然语言处理 算法
未来语音交互新纪元:FunAudioLLM技术揭秘与深度评测
人类自古以来便致力于研究自身并尝试模仿,早在2000多年前的《列子·汤问》中,便记载了巧匠们创造出能言善舞的类人机器人的传说。
12407 116
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
1月前
|
机器学习/深度学习 自然语言处理 搜索推荐
智能语音交互技术:构建未来人机沟通新桥梁####
【10月更文挑战第28天】 本文深入探讨了智能语音交互技术的发展历程、当前主要技术框架、核心算法原理及其在多个领域的应用实例,旨在为读者提供一个关于该技术全面而深入的理解。通过分析其面临的挑战与未来发展趋势,本文还展望了智能语音交互技术如何继续推动人机交互方式的革新,以及它在未来社会中的潜在影响。 ####
99 0
|
1月前
|
机器学习/深度学习 搜索推荐 人机交互
智能语音交互技术的突破与未来展望###
【10月更文挑战第27天】 本文聚焦于智能语音交互技术的最新进展,探讨了其从早期简单命令识别到如今复杂语境理解与多轮对话能力的跨越式发展。通过深入分析当前技术瓶颈、创新解决方案及未来趋势,本文旨在为读者描绘一幅智能语音技术引领人机交互新纪元的蓝图。 ###
90 0