Skip to content

An automatic rhythm game chart generation application

Notifications You must be signed in to change notification settings

hcxxxxxx/AlgoRhythm

Repository files navigation

AlgoRhythm

AlgoRhythm 是一个基于音频分析的音游谱面自动生成应用。通过上传音乐文件,系统自动分析音频特征并生成相应的音游关卡,让用户能够在浏览器中直接体验自己喜欢的音乐。

功能特点

  • 音频分析:系统能够分析音频的节奏、音调和能量特征
  • 自动谱面生成:根据音频特征自动生成适合的音游谱面
  • 在线游玩:在浏览器中直接游玩生成的谱面
  • 多种难度:支持简单、普通和困难三种难度级别
  • 实时得分反馈:游戏过程中提供即时得分和连击反馈

技术架构

后端技术

  • Python:核心编程语言
  • Flask:Web应用框架
  • Librosa:音频分析库,用于提取音频特征
  • NumPy:科学计算库,用于音频数据处理

前端技术

  • JavaScript:实现游戏逻辑和用户交互
  • HTML5/CSS3:构建用户界面
  • Web Audio API:处理音频播放和同步

核心组件

音频分析器 (AudioAnalyzer)

音频分析器负责处理音频文件并提取关键特征,包括:

  • 节拍检测
  • 音高识别
  • 音频分离(和声与打击乐)
  • 强度分析

谱面生成器 (ChartGenerator)

谱面生成器基于音频特征创建游戏谱面,包括:

  • 根据音频强度分配音符
  • 决定音符类型(点按、长按、滑动)
  • 分配轨道和时间点
  • 根据难度调整谱面复杂度

游戏引擎 (GameEngine)

游戏引擎处理游戏逻辑和状态:

  • 音符判定
  • 分数计算
  • 连击统计
  • 游戏状态管理

使用指南

  1. 首页:浏览应用介绍和功能
  2. 上传页面:上传音频文件并选择难度
  3. 游戏页面:使用键盘按键(D、F、J、K)点击对应轨道上的音符

游戏操作

  • 使用 D, F, J, K 键点击对应轨道的音符
  • 长按键盘按键可以处理长音符
  • 空格键 暂停/继续游戏

判定系统

  • Perfect:精确击中,最高分
  • Great:接近判定线
  • Good:偏离判定线
  • Miss:未击中或过早/过晚

安装与运行

前提条件

  • Python 3.8+
  • pip (Python包管理器)

安装步骤

  1. 克隆项目仓库

    git clone https://github.com/yourusername/AlgoRhythm.git
    cd AlgoRhythm
  2. 安装依赖

    pip install -r requirements.txt
  3. 运行应用

    python app.py
  4. 在浏览器中访问 http://localhost:5000


感谢使用 AlgoRhythm!希望你能享受这个由算法生成的音乐游戏体验。

About

An automatic rhythm game chart generation application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published