跳到主要内容

音频分类

1.功能简介

音频分类(Audio Classification)是音频信号处理与人工智能交叉领域的核心技术。它利用深度学习算法,让计算机通过“听”来识别声音的属性、来源或内容,并将其归入预设的标签。简单来说,它赋予了计算机“辨音识物”的能力——将复杂的音频波形转化为结构化的类别信息。

音频分类技术已经深入到我们生活与工业的各个角落,以下是一些常见的应用场景:

  • 环境音识别: 智能家居或安防系统通过识别“玻璃破碎声”、“婴儿哭声”或“火警警报声”来触发报警。在生态保护中,专家利用它在大自然中自动监测“鸟鸣”或“电锯声”(防范非法盗砍)。
  • 语音指令与意图识别: 这是智能音箱的核心。系统会实时分类音频,判断其中是否包含特定的“唤醒词”(如“小爱同学”、“Hey Siri”)或者简单的控制指令(如“开灯”、“关门”)。
  • 音乐流派分类: 音乐播放软件利用算法自动分析音频的节奏、频率和旋律特征,将歌曲归类为“流行”、“爵士”、“摇滚”或“古典”,从而实现精准的个性化推荐。
  • 工业异常检测: 在工厂中,通过采集机器运转的声音并进行分类,判断设备处于“正常运行”还是“故障预警”状态(如轴承磨损的异常尖锐声),实现预测性维护。
  • 语音情感识别:分析说话人的语调、语速和能量变化,判断其情绪是“愤怒”、“快乐”、“悲伤”还是“平静”。这在智能客服评价和心理健康监测中具有重要价值。

image-20260325174923960

2.核心原理

音频分类本质上是将“声音”转化为“图片”,再用处理图片的方式来识别声音。计算机无法直接理解声音的“韵味”,它需要通过数学转换将音频信号变成可见的特征,以下是其核心运行原理与操作流程的详细拆解:

数字化采样:通过麦克风将声波转换为数字信号。

傅里叶变换:这是最关键的一步。系统利用短时傅里叶变换,将随时间变化的音频波形拆解为不同频率的强度。

生成频谱图:将音频转化为一张“频率-时间”的热力图。纵轴代表频率(高音或低音),横轴代表时间,颜色深浅代表能量(音量)。对于 AI 来说,识别“猫叫声”就变成了识别频谱图中特定的线条和斑点模式。

迁移学习:我们的音频分类并不是从零开始学习。它内置了一个已经在海量语音数据上预训练过的卷积神经网络 (CNN),当你录入自己的声音时,它只是在已有模型的基础上,学习如何区分你提供的这几个新标签。

image-20260325175016786

3.功能加载

如果仅需体验模型训练与测试,可通过KZone人工智能教育平台进入,在【AI体验馆】下的【AI学习】板块中找到【文本分类】的功能,点击后进入即可,跳转链接如下:

https://kzone2.kittenbot.cn/ai-lab

image-20260325175050787

如果想在Kittenblock图形化编程平台中进一步使用训练好的模型,则通过左下角的【添加拓展】进入拓展界面,在【角色拓展】中添加【可视化机器学习】。添加后回到编程界面,在相关插件下点击【模型训练工具】即可选择【音频分类】,Kittenblock跳转链接如下:

https://kblock.kittenbot.cn/

image-20260325175112448

在KZone上训练好的模型,也可以通过下载与导入的方式,在Kittenblock中使用,具体使用方法在下面会进行说明。

4.实验流程

a.收集与分类

首先,你需要定义想要识别的“标签”,也就是创建不同的“类”(Classes),随后为每个类添加音频样本。

背景噪声:这是音频项目特有的,你必须先录制一段环境安静时的声音(通常需 20 秒以上),让 AI 知道什么是“无信号”状态。相当于给 AI 设置一个“静音基准”,让它学会过滤环境杂音,从而更准确地分辨出目标声音。

添加分类:创建你想要识别的标签(如“击掌”、“口哨”)。

样本添加:每个分类录制多次(建议每类至少 8-15 秒)。系统会自动将长录音切分为 1 秒钟 的片段进行学习。

image-20260325175209835

b.模型训练

点击【模型训练】后,系统将利用本地算力(CPU/GPU/NPU)进行实时的频域特征提取与参数调优。模型会自动学习声谱图中的声音特征、能量分布与时间模式,通过反复迭代优化,在后台构建出一套专属的分类逻辑,确保能够快速、准确地识别您定义的各种声音类别。点击【数据图表】,可以查看学习数据。

Epochs(周期数):模型完整查看一遍所有数据次数。

image-20260325175248465

c.测试与调整

训练完成后,你可以在输入框中输入一段模型从未见过的文字。

反馈:模型会给出一个置信度评分(例如:94% 击掌,6% 背景噪声)。

重叠系数:决定了系统对实时音频采样的频率平滑度。重叠系数高,系统采样频繁,更灵敏(不易漏识别短暂声音)且预览更流畅,但消耗更多算力(CPU/GPU);重叠系数低,系统采样间隔长,更省算力,但对短暂声音反应迟钝(易漏识别)且预览看起来卡顿不连续。

image-20260325175319175

d.导出与应用

训练好的模型可以直接与积木块或代码逻辑挂钩,通过简单的代码调用这个模型。

应用: 当模型识别出特定的类别时,你可以触发后续动作。无论你是在KZone训练还是在Kittenblock训练,都可以直接下载模型,方便下一次使用。

在Kittenbkock中,在相关插件下点击【模型训练工具】即可选择【导入训练项目】,此时可导入之前下载好的模型。如果需要调整模型,则可以点击【编辑训练】

image-20260325175412786

模型导入后或者你是在Kittenblock中直接训练完模型,则可以点击【使用模型】,跳转编程界面。

image-20260325175435538

积木功能
image-20260325175601839打开后,实时分析音频,可以直观看到识别结果,
并且在接下来的结果积木块中获取数据
image-20260325175643572模型判断输入音频是否属于特定分类标签
(返回truefalse,用于在程序中判断是否识别到对应分类名称)
image-20260325175853249模型判断当前输入属于哪种分类标签
image-20260325175905324获取当前分类的可信度
(虽然被识别到的分类只取可信度最高的,但其他分类也存在可信度且可以被获取。例如只有2个分类的时候,识别A的分类可信度是80%,那么B一定是20%)
image-20260325175935014这是一个事件类型,当识别到特定分后就触发一次,帽子下面的程序会被运行一次。
(优势在于某些应用场景下,不需要复杂逻辑程序,使用更方便)

基础应用1

显示当前的分类标签与可信度,识别到击掌后发出声音提示

image-20260325180004773

基础应用2

识别到特定音频后发出对应提示,包含两种识别方式:循环中识别与事件类型的识别。

image-20260325180016641

综合案例

image-20260325180031994