Skip to content

Repository files navigation

简体中文 · English

PhiAI-Player

PhiAI-Player

A browser-based player for Phigros-style rhythm charts.

License Play online


PhiAI-Player parses .pez / .pec / .json chart packs and renders the playthrough — falling notes, judgement lines, combo, scoring and hitsounds — on a <canvas> in real time. It runs in any modern browser; there is nothing to install.

Play online (GitHub Pages), or download the single-file build and open it locally.


Demo

A chart with an animated video background and hit particle effects:

Chart by WH_Constantinxx — release video
Chart by KNYORG "without colorful passion" — release video
Chart by 平方秒和立方吨 — release video

About the name

The project name comes from an early prototype, a quick chart-reading tool built with an LLM. The player itself has no AI — it runs fully locally, and your charts never leave your device.


Quick start

① Play online — open https://dvd1145.github.io/PhiAI-Player/.

② Get a chart — any .pez / .pec / .json chart file, or a folder of charts.

③ Play — drag and drop the file onto the page, or use the buttons on the load screen (选择文件 / 加载资源包 / 进入谱面文件夹), then hit 游玩. Autoplay is available.

Windows / macOS / Linux, desktop or phone.

For developers:

git clone https://github.com/DVD1145/PhiAI-Player.git
cd PhiAI-Player
python -m http.server 8000      # dev layout
# open http://localhost:8000
node build.js                   # → dist/rpe-player.html (single-file build)

Opening index.html directly by double-click also works, thanks to an embedded default resource pack.


Features

  • Judgement ladder — PERFECT / GOOD / BAD / MISS, combo, accuracy, live scoring
  • Play styles — keyboard (any key hits the nearest note), pointer / touch (tap, flick, drag, hold)
  • Formats — .pez / .pec / .json chart files, or a whole folder; Phi format is auto-detected and converted on load
  • Recording — record a playthrough and export it as a video (ffmpeg, loaded on demand)
  • Resource packs — .zip packs bring their own note skins, hitsounds, lyrics (.lrc / .ttml) and animated / video backgrounds (extra.json)
  • Effects — WebGL post-processing shaders and particle hit effects
  • Large .json charts (over 256 MB) are parsed in streaming mode to avoid blocking the UI

Project status

Status Details
✅ Working full play loop, scoring, recording, resource packs, effects
🚧 In progress demo GIF, more chart compatibility edge cases

The single-file build (dist/rpe-player.html) is the deployable artifact; this repository is a maintainable source-split of that file.

History: this project was formerly named AIRE-Player. The old play-UI editor has been retired — it was hard to maintain and could be used to fake play results (custom HUD hiding or replacing judgement). The source files remain in the repo for reference but are no longer loaded.


Contributing

Issues and pull requests are welcome. Ground rules:

  • keep the existing file layout (one concern per file in js/player/)
  • run node --check on changed JS
  • confirm node build.js still produces a working dist/rpe-player.html

License

GPL-3.0 — see LICENSE. Bundled libraries, fonts and resource-pack assets have separate licenses / copyright — see THIRD_PARTY.md.

About

Browser-based player for Phigros-style rhythm charts (.pez / .pec / .json), Canvas + WebGL

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages