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.
git-02/01src/readme.txt

30 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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