音频分类
1.功能简介
音频分类(Audio Classification)是音频信号处理与人工智能交叉领域的核心技术。它利用深度学习算法,让计算机通过“听”来识别声音的属性、来源或内容,并将其归入预设的标签。简单来说,它赋予了计算机“辨音识物”的能力——将复杂的音频波形转化为结构化的类别信息。
音频分类技术已经深入到我们生活与工业的各个角落,以下是一些常见的应用场景:
- 环境音识别: 智能家居或安防系统通过识别“玻璃破碎声”、“婴儿哭声”或“火警警报声”来触发报警。在生态保护中,专家利用它在大自然中自动监测“鸟鸣”或“电锯声”(防范非法盗砍)。
- 语音指令与意图识别: 这是智能音箱的核心。系统会实时分类音频,判断其中是否包含特定的“唤醒词”(如“小爱同学”、“Hey Siri”)或者简单的控制指令(如“开灯”、“关门”)。
- 音乐流派分类: 音乐播放软件利用算法自动分析音频的节奏、频率和旋律特征,将歌曲归类为“流行”、“爵士”、“摇滚”或“古典”,从而实现精准的个性化推荐。
- 工业异常检测: 在工厂中,通过采集机器运转的声音并进行分类,判断设备处于“正常运行”还是“故障预警”状态(如轴承磨损的异常尖锐声),实现预测性维护。
- 语音情感识别:分析说话人的语调、语速和能量变化,判断其情绪是“愤怒”、“快乐”、“悲伤”还是“平静”。这在智能客服评价和心理健康监测中具有重要价值。

2.核心原理
音频分类本质上是将“声音”转化为“图片”,再用处理图片的方式来识别声音。计算机无法直接理解声音的“韵味”,它需要通过数学转换将音频信号变成可见的特征,以下是其核心运行原理与操作流程的详细拆解:
数字化采样:通过麦克风将声波转换为数字信号。
傅里叶变换:这是最关键的一步。系统利用短时傅里叶变换,将随时间变化的音频波形拆解为不同频率的强度。
生成频谱图:将音频转化为一张“频率-时间”的热力图。纵轴代表频率(高音或低音),横轴代表时间,颜色深浅代表能量(音量)。对于 AI 来说,识别“猫叫声”就变成了识别频谱图中特定的线条和斑点模式。
迁移学习:我们的音频分类并不是从零开始学习。它内置了一个已经在海量语音数据上预训练过的卷积神经网络 (CNN),当你录入自己的声音时,它只是在已有模型的基础上,学习如何区分你提供的这几个新标签。

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

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

在KZone上训练好的模型,也可以通过下载与导入的方式,在Kittenblock中使用,具体使用方法在下面会进行说明。
4.实验流程
a.收集与分类
首先,你需要定义想要识别的“标签”,也就是创建不同的“类”(Classes),随后为每个类添加音频样本。
背景噪声:这是音频项目特有的,你必须先录制一段环境安静时的声音(通常需 20 秒以上),让 AI 知道什么是“无信号”状态。相当于给 AI 设置一个“静音基准”,让它学会过滤环境杂音,从而更准确地分辨出目标声音。
添加分类:创建你想要识别的标签(如“击掌”、“口哨”)。
样本添加:每个分类录制多次(建议每类至少 8-15 秒)。系统会自动将长录音切分为 1 秒钟 的片段进行学习。

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

c.测试与调整
训练完成后,你可以在输入框中输入一段模型从未见过的文字。
反馈:模型会给出一个置信度评分(例如:94% 击掌,6% 背景噪声)。
重叠系数:决定了系统对实时音频采样的频率和平滑度。重叠系数高,系统采样频繁,更灵敏(不易漏识别短暂声音)且预览更流畅,但消耗更多算力(CPU/GPU);重叠系数低,系统采样间隔长,更省算力,但对短暂声音反应迟钝(易漏识别)且预览看起来卡顿不连续。

d.导出与应用
训练好的模型可以直接与积木块或代码逻辑挂钩,通过简单的代码调用这个模型。
应用: 当模型识别出特定的类别时,你可以触发后续动作。无论你是在KZone训练还是在Kittenblock训练,都可以直接下载模型,方便下一次使用。
在Kittenbkock中,在相关插件下点击【模型训练工具】即可选择【导入训练项目】,此时可导入之前下载好的模型。如果需要调整模型,则可以点击【编辑训练】

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

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

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

综合案例




