当前位置: 首页 > news >正文

《基于Pytorch实现的声音分类 :网页解读》

《基于Pytorch实现的声音分类 :网页解读》
在这里插入图片描述

解读这个网页 https://blog.csdn.net/qq_33200967/article/details/119830756
该网页是一篇关于基于PyTorch实现声音分类项目的技术博客,详细介绍了项目的相关信息、使用方法及技术细节,以下是具体解读:

一、项目概述

  • 项目目标:实现对各种环境声音、动物叫声和语种的识别。
  • 支持内容:提供了多种声音分类模型,如EcapaTdnn、PANNS、ResNetSE等;还提供了常用的Urbansound8K数据集测试报告和一些方言数据集的下载及使用例子。
  • 应用场景:可用于室外环境监测、野生动物保护、语音识别等领域,同时鼓励用户探索更多场景。
  • 源码地址:AudioClassification-Pytorch。

二、使用准备

  • 所需环境:Anaconda 3、Python 3.11、Pytorch 2.0.1,支持Windows 11或Ubuntu 22.04系统。

三、项目特性

  • 支持模型:包括EcapaTdnn、PANNS、TDNN、Res2Net、ResNetSE、CAMPPlus、ERes2Net等。
  • 支持池化层:有AttentiveStatsPool(ASP)、SelfAttentivePooling(SAP)、TemporalStatisticsPooling(TSP)、TemporalAveragePooling(TAP)。
  • 支持预处理方法:MelSpectrogram、Spectrogram、MFCC、Fbank。
  • 模型论文:每个模型都对应有相关的论文,如EcapaTdnn对应《ECAPA-TDNN: Emphasized Channel Attention, Propagation and Aggregation in TDNN Based Speaker Verification》等。

四、模型测试情况

在UrbanSound8K数据集(包含10个类别)上,使用Flank预处理方法时,各模型的参数(Params(M))和准确率如下:

模型Params(M)准确率
ResNetSE7.80.98863
CAMPPlus7.10.97727
ERes2Net6.60.96590
PANNS(CNN10)5.20.96590
Res2Net5.00.94318
TDNN2.60.92045
EcapaTdnn6.10.91876

五、安装与使用步骤

  1. 安装环境
    • 安装Pytorch的GPU版本(若已安装可跳过),命令为conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
    • 安装macls库,可使用pip安装(python -m pip install macls -U -i https://pypi.tuna.tsinghua.edu.cn/simple)或源码安装(先克隆仓库,再进入目录执行python setup.py install)。
  2. 准备数据
    • 将音频数据集存放在dataset/audio目录下,每个文件夹存放一个类别的音频数据,每条音频数据长度在3秒以上。
    • 执行create_data.py生成数据列表,格式为“音频路径\t音频对应的类别标签”。以Urbansound8K为例,需下载并解压到dataset目录下,再修改生成数据列表的代码。
  3. 修改预处理方法(可选):在配置文件中修改,默认使用Fbank,可根据需求选择其他方法,并设置相关参数。
  4. 提取特征(可选):执行extract_features.py提取特征并保存,然后修改配置文件中数据列表的路径,以加快训练速度。
  5. 训练:根据实际情况调整配置文件中的分类大小、批次大小等参数,然后执行单卡或多卡训练命令。
  6. 训练可视化:在项目根目录执行visualdl --logdir=log --host=0.0.0.0,并通过网页访问查看。
  7. 评估:执行python eval.py --configs=configs/bi_lstm.yml,输出准确率并保存混淆矩阵图片。注意中文类别标签在Ubuntu系统需安装字体。
  8. 预测:使用训练得到的模型参数文件,执行python infer.py --audio_path=音频路径进行预测。

六、其他功能

  • 提供录音程序record_audio.py,用于录制采样率16000、单通道、16bit的音频。
  • infer_record.py可不断进行录音识别,实现实时录音识别功能,可应用于如识别鸟叫并触发拍照等场景。

七、参考资料

列出了多个相关的GitHub仓库,如PaddleSpeech、PaddlePaddle-MobileFaceNets等。

http://www.lryc.cn/news/617439.html

相关文章:

  • YOLOv8 训练报错:PyTorch 2.6+ 模型加载兼容性问题解决
  • 【JavaEE】(12) 创建一个 Sring Boot 项目
  • 第二届机电一体化、机器人与控制系统国际会议(MRCS 2025)
  • 34-Hive SQL DML语法之查询数据-3
  • 2025世界机器人大会,多形态机器人开启商业化落地浪潮
  • [4.2-2] NCCL新版本的register如何实现的?
  • GAI 与 Tesla 机器人的具体联动机制
  • 记录一下通过STC的ISP软件修改stc32的EEPROM值大小
  • VoxCraft-生数科技推出的免费3D模型AI生成工具
  • uni-app app端安卓和ios如何申请麦克风权限,唤起提醒弹框
  • 设计模式笔记_结构型_组合模式
  • 5G NTN 卫星测试产品
  • 5G NR 非地面网络 (NTN) 5G、太空和统一网络
  • 用Python实现Excel转PDF并去除Spire.XLS水印
  • 深度剖析 Linux 信号:从基础概念到高级应用,全面解析其在进程管理与系统交互中的核心作用与底层运行机制
  • 电力仿真系统:技术革新与市场格局的深度解析
  • 【CV 目标检测】①——目标检测概述
  • 【Oracle】如何使用DBCA工具删除数据库?
  • 低延迟RTSP|RTMP视频链路在AI驱动无人机与机器人操控中的架构实践与性能优化
  • 排序与查找,简略版
  • 简单清晰的讲解一下RNN神经网络
  • 常用设计模式系列(十九)- 状态模式
  • EI检索-学术会议 | 人工智能、虚拟现实、可视化
  • 揭开内容分发网络(CDN)的神秘面纱:互联网的隐形加速器
  • 武汉火影数字|VR大空间是什么?如何打造VR大空间项目
  • 【线性基】 P3857 [TJOI2008] 彩灯|省选-
  • 第16届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2024年10月20日真题
  • 【14-模型训练细节】
  • 基于Android的小区车辆管理系统
  • 让AI应用开发更简单——蚂蚁集团推出企业级AI集成解决方案