You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 months ago | |
|---|---|---|
| .. | ||
| sample | 2 months ago | |
| 75%25%.py | 2 months ago | |
| audio_classification.db | 2 months ago | |
| audio_classifier_gui_01.py | 2 months ago | |
| audio_classifier_gui_02.py | 2 months ago | |
| audio_classifier_gui_03.py | 2 months ago | |
| features.pkl | 2 months ago | |
| mat翻译(学习音频).py | 2 months ago | |
| mat翻译(测试音频).py | 2 months ago | |
| readme.txt | 2 months ago | |
| scaler.pkl | 2 months ago | |
| svm_model.pkl | 2 months ago | |
| train_cross_validated_model.py | 2 months ago | |
| train_model.py | 2 months ago | |
| 交叉验证.py | 2 months ago | |
| 生成feature_dataset.py | 2 months ago | |
readme.txt
系统简介 本系统是一个基于SVM机器学习的墙体声纹检测系统,支持通过录制或上传 WAV 格式音频文件,实现音频片段的自动切分、特征提取与分类,并将结果存储于本地数据库中,方便后续查看、管理与导出。主要应用场景包括对特定音频(如敲击声等)的分类识别,支持 "实心" 和 "空心" 两类标签的识别与管理。 核心功能 音频输入:支持两种输入方式 实时录音:通过麦克风采集音频,支持设备选择与录音时长监控 文件上传:上传本地 WAV 格式音频文件 音频处理与分类 自动切分:基于音频能量特征切分有效片段 特征提取:提取音频片段的 RMS、主频、频谱偏度等多维特征 模型预测:使用预训练的 SVM 模型进行分类,输出每个片段的标签(0/1)和概率值 数据管理 本地存储:采用 SQLite 数据库存储分类结果(含文件名、片段数、平均概率等)及片段详情 历史记录:支持查询、搜索、编辑、删除历史记录 片段管理:可查看、新增、编辑、删除特定记录的音频片段 可视化交互:通过直观的 GUI 界面操作,包括主菜单、输入界面、结果展示、历史管理等模块 配置环境 依赖库 本系统依赖以下 Python 库,建议使用 Python 3.9 + 版本: GUI 框架:PyQt5(用于构建图形界面) 音频处理:librosa(音频加载、特征提取)、pyaudio(录音功能) 数值计算:numpy(数组处理、特征矩阵运算) 机器学习:scikit-learn(SVM 模型、数据标准化) 模型存储:joblib(保存 / 加载训练好的模型) 数据库:sqlite3(本地数据库操作,Python 标准库) 可视化:matplotlib(特征可视化,可选) 数据序列化:pickle(特征数据存储与读取) SVM模型的开发依赖于Python下的Scikit-learn、Librosa、NumPy等一系列科学计算与音频处理库。这些库本身存在复杂的底层依赖,在不同操作系统上通过传统的pip安装方式极易出现依赖冲突、编译失败等问题。 为彻底解决环境配置的复杂性,建议选用Anaconda,预编译的二进制包和强大的环境管理功能,能够自动处理库与库之间的依赖关系