智能语音交互--声音事件检测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>
AI 代码解读

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;
    }
}
AI 代码解读

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: {}
AI 代码解读

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

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}
AI 代码解读

更多参考

开发指南
声音事件检测

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
目录
打赏
0
0
0
0
18
分享
相关文章
在ModelScope-FunASR中,语音识别系统中的声音活动检测
在ModelScope-FunASR中,语音识别系统中的声音活动检测【4月更文挑战第3天】
401 1
智能语音交互控制台项目服务用量查看Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。目前云上的许多企业客户在使用该服务后,往往有想查看具体某个项目的消费账单等需求。这一需求,目前是无法直接查看到的。但是在控制台监控统计功能页可以分项目查看调用量。再结合费用中的账单明细能计算下具体的消费。本文以12月的项目调用为例,为您介绍如何查看监控报表页面项目用量详情。
242 0
智能语音交互控制台项目服务用量查看Quick Start
智能语音交互账单及用量明细查看Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。目前云上的许多企业客户在使用该服务后,往往有查看消费账单以及具体的调用明细等需求。针对客户的这一需求,官网在产品计费中有详细文档介绍,但是由于客户对于产品官网文档的不了解,通常还是会遇到问题。本文以12月的消费为例,为您介绍如何查看账单流水及具体的用量详情。
486 0
智能语音交互账单及用量明细查看Quick Start
阿里云智能语音交互--实时语音识别服务Java SDK Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。实时语音识别服务可对不限时长的音频流做实时识别,达到“边说边出文字”的效果,内置智能断句,可提供每句话开始结束时间。可用于视频实时直播字幕、实时会议记录、实时法庭庭审记录、智能语音助手等场景。本文将使用Java SDK演示实时语音识别服务的快速调用以供参考。
831 0
阿里云智能语音交互--长文本语音合成Java SDK Quick Start
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、司法、电商等多个领域均有应用。长文本语音合成服务可以将超长文本(十万字)合成为接近真人的语音服务,包含男女童音、多语言和方言(且拥有音频重复使用权),适用于文学伴读、新闻阅读等场景。本文将使用Java SDK演示长文本语音合成服务的快速调用以供参考。
1112 0
智能语音识别技术的最新进展与未来趋势####
【10月更文挑战第21天】 在当今这个信息爆炸的时代,人机交互方式正经历着前所未有的变革。本文深入探讨了智能语音识别技术的前沿动态,从深度学习模型的创新应用到跨语言、跨领域的适应性增强,揭示了该领域如何不断突破技术壁垒,提升用户体验的真实案例与数据支撑。通过对比分析当前主流算法的性能差异,本文旨在为研究者和开发者提供一幅清晰的技术演进蓝图,同时展望了多模态融合、情感识别等新兴方向的广阔前景。 ####
512 7
智能语音识别技术的深度剖析与应用前景####
本文深入探讨了智能语音识别技术的技术原理、关键技术突破及广泛应用场景,通过具体实例展现了该技术如何深刻改变我们的日常生活和工作方式。文章还分析了当前面临的挑战与未来发展趋势,为读者提供了一幅全面而深入的智能语音识别技术图景。 ####
智能语音识别技术在智能家居中的应用与挑战####
本文深入探讨了智能语音识别技术的基本原理、关键技术环节,以及其在智能家居领域的广泛应用现状。通过分析当前面临的主要挑战,如环境噪音干扰、方言及口音识别难题等,文章进一步展望了未来发展趋势,包括技术融合创新、个性化服务定制及安全隐私保护的加强。本文旨在为读者提供一个关于智能语音识别技术在智能家居中应用的全面视角,同时激发对该领域未来发展方向的思考。 ####
274 6
智能语音识别技术在多语言环境中的应用与挑战####
随着全球化的不断推进,跨语言交流的需求日益增长,智能语音识别技术成为连接不同语言文化的桥梁。本文旨在探索该技术在多语言环境中的应用现状、面临的挑战及未来发展趋势,通过深入分析技术瓶颈与创新策略,为促进全球无障碍沟通提供新视角。 ####
智能语音识别技术的现状与未来发展趋势####
本文旨在探讨智能语音识别技术的发展历程、当前主要技术特点、面临的挑战以及未来的发展趋势。通过综述该领域的最新研究进展和应用实例,本文为读者提供了一个关于智能语音识别技术的全面概览,并展望了其在未来可能的发展方向。 ####

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等