AlgoRhythm 是一个基于音频分析的音游谱面自动生成应用。通过上传音乐文件,系统自动分析音频特征并生成相应的音游关卡,让用户能够在浏览器中直接体验自己喜欢的音乐。
- 音频分析:系统能够分析音频的节奏、音调和能量特征
- 自动谱面生成:根据音频特征自动生成适合的音游谱面
- 在线游玩:在浏览器中直接游玩生成的谱面
- 多种难度:支持简单、普通和困难三种难度级别
- 实时得分反馈:游戏过程中提供即时得分和连击反馈
- Python:核心编程语言
- Flask:Web应用框架
- Librosa:音频分析库,用于提取音频特征
- NumPy:科学计算库,用于音频数据处理
- JavaScript:实现游戏逻辑和用户交互
- HTML5/CSS3:构建用户界面
- Web Audio API:处理音频播放和同步
音频分析器负责处理音频文件并提取关键特征,包括:
- 节拍检测
- 音高识别
- 音频分离(和声与打击乐)
- 强度分析
谱面生成器基于音频特征创建游戏谱面,包括:
- 根据音频强度分配音符
- 决定音符类型(点按、长按、滑动)
- 分配轨道和时间点
- 根据难度调整谱面复杂度
游戏引擎处理游戏逻辑和状态:
- 音符判定
- 分数计算
- 连击统计
- 游戏状态管理
- 首页:浏览应用介绍和功能
- 上传页面:上传音频文件并选择难度
- 游戏页面:使用键盘按键(D、F、J、K)点击对应轨道上的音符
- 使用 D, F, J, K 键点击对应轨道的音符
- 长按键盘按键可以处理长音符
- 按 空格键 暂停/继续游戏
- Perfect:精确击中,最高分
- Great:接近判定线
- Good:偏离判定线
- Miss:未击中或过早/过晚
- Python 3.8+
- pip (Python包管理器)
-
克隆项目仓库
git clone https://github.com/yourusername/AlgoRhythm.git cd AlgoRhythm
-
安装依赖
pip install -r requirements.txt
-
运行应用
python app.py
-
在浏览器中访问
http://localhost:5000
感谢使用 AlgoRhythm!希望你能享受这个由算法生成的音乐游戏体验。