治愈音乐分类器是一个基于机器学习的音乐分析工具,能够自动评估音乐的治愈潜力。该项目使用先进的音频特征提取技术和随机森林算法,对音乐的治愈属性进行量化分析。
你可以直接通过以下链接使用我们的在线演示版本: Healing Music Classifier App
- 🎵 支持多种音频格式(MP3、WAV)
- 🎼 专业的音频特征提取(MFCC、频谱特征等)
- 🤖 基于随机森林的机器学习分类
- 📊 直观的治愈指数可视化
- 🌐 便捷的Web界面
- ☁️ 支持在线部署
项目使用了以下关键特征:
- MFCC(梅尔频率倒谱系数)- 13个系数
- 色度特征(Chroma Features)- 12个特征
- 统计特征(均值和方差)
- 使用随机森林分类器
- 特征标准化处理
- 交叉验证确保模型稳定性
- Python 3.8+
- pip包管理器
- 克隆仓库
git clone https://github.com/githubcookies/healing-music-classifier.git
cd healing-music-classifier
- 安装依赖
pip install -r requirements.txt
- 准备数据
- 创建
healing_music
文件夹存放治愈音乐样本 - 创建
non_healing_music
文件夹存放非治愈音乐样本
- 训练模型
python train_model.py
- 启动Web应用
streamlit run app.py
-
数据准备
- 收集治愈音乐和非治愈音乐样本
- 将音频文件分别放入对应文件夹
-
特征提取
- 使用librosa库提取音频特征
- 包括MFCC、色度特征等
-
模型训练
- 数据预处理和标准化
- 使用随机森林算法训练
- 进行交叉验证评估
-
模型保存
- 保存训练好的模型
- 保存特征缩放器
- 访问在线演示
- 点击"Choose an audio file..."上传音乐文件
- 等待分析完成
- 查看治愈指数和分析结果
- 治愈指数 >= 75%: 强治愈效果
- 治愈指数 50-75%: 中等治愈效果
- 治愈指数 < 50%: 治愈效果有限
healing-music-classifier/
├── app.py # Streamlit Web应用
├── predict.py # 预测功能模块
├── train_model.py # 模型训练模块
├── requirements.txt # 项目依赖
├── models/ # 模型文件夹
│ ├── model.joblib # 训练好的模型
│ └── scaler.joblib # 特征缩放器
├── healing_music/ # 治愈音乐样本
└── non_healing_music/ # 非治愈音乐样本
- 添加更多音频特征支持
- 优化模型性能
- 添加批量处理功能
- 支持更多音频格式
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 提交 Pull Request
该项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
- 项目链接:https://github.com/githubcookies/healing-music-classifier
- HuggingFace空间:https://huggingface.co/spaces/404Brain-Not-Found-yeah/healing-music-classifier-app
感谢改变世界的力课程团队,在课程大作业的push下,我们完成了这个项目。 特别感谢以下开源项目:
- librosa
- streamlit
- scikit-learn
- HuggingFace Spaces