GitPedia

Bemuse

⬤▗▚▚▚ Web-based online rhythm action game. Based on HTML5 technologies, React, Redux and Pixi.js.

From bemusic·Updated June 20, 2026·View on GitHub·

**Bemuse** is an open-source, online, web-based rhythm game. It plays songs in BMS format (See: [Introduction to BMS](https://www.youtube.com/watch?v=Guv1vRAKanY)). The project is written primarily in TypeScript, distributed under the GNU Affero General Public License v3.0 license, first published in 2014. It has gained significant community traction with 1,231 stars and 157 forks on GitHub. Key topics include: bms, bmson, docusaurus, hacktoberfest, html5.

Latest release: v54.0.1Bemuse v54.0.1 (2023-01-05)
January 5, 2023View Changelog →
<h1 align="center"><a href="https://bemuse.ninja/"><img src="website/static/img/logo.png" alt="Bemuse 〜beat☆music☆sequence〜" height="162" /></a></h1> <h2 align="center">open-source web-based online rhythm game</h2> <p align="center"> <a href="https://circleci.com/gh/bemusic/bemuse"><img src="https://img.shields.io/circleci/project/bemusic/bemuse/master.svg?style=flat" alt="CircleCI"></a> <a href="https://codecov.io/gh/bemusic/bemuse"><img src="https://codecov.io/gh/bemusic/bemuse/branch/master/graph/badge.svg" alt="Codecov" /></a> <a href="https://twitter.com/bemusegame"><img src="https://img.shields.io/badge/twitter-@bemusegame-blue.svg" alt="twitter" /></a> <br> <a href="https://sonarcloud.io/summary/new_code?id=bemusic_bemuse"><img src="https://sonarcloud.io/api/project_badges/measure?project=bemusic_bemuse&metric=alert_status" alt="Quality Gate Status" /></a> <a href="https://sonarcloud.io/summary/new_code?id=bemusic_bemuse"><img src="https://sonarcloud.io/api/project_badges/measure?project=bemusic_bemuse&metric=sqale_rating" alt="Maintainability Rating" /></a> <br> <a href="https://bemuse.ninja/project/"><img src="https://img.shields.io/badge/read%20the-docs-brightgreen.svg?style=flat" alt="Docs"></a> <a href="https://gitpod.io/#https://github.com/bemusic/bemuse" title="Develop in GitPod"><img src="https://img.shields.io/badge/develop%20in-gitpod-blue.svg?style=flat"></a> </p>

Bemuse is an open-source, online, web-based rhythm game. It plays songs in
BMS format (See:
Introduction to BMS).

It is recommended to play this game on Google Chrome.

Table of contents:

<!-- toc --> <!-- tocstop -->

Video Demo

<p align="center"> <a href="https://www.youtube.com/watch?v=EOgI37Myqvk"><img src="http://i.imgur.com/3sVRyGm.jpg" alt="Video Demo" width="754" /></a> </p>

Quick Tour

Music selection

  • You can play online songs instantly in your browser.

  • You can play custom songs by dragging a folder containing BMS files into
    this screen. There are over 5,000 songs published in BMS format by the
    community worldwide. You can find them using
    BMS Search.

  • There’s an online internet ranking system. You can compete with other
    players and see your rank online.

  • It has an insane tutorial.

Gameplay

  • Keyboard mode (7-keys). Play along the music with your keyboard.

  • Fully key-sounded. Each note has its own sound. The music will be affected
    by your game play.

  • Player together with friends using
    party mode. It helps you
    start the game at the exact same time.

  • Multiple difficulties. Each song has multiple difficulties to accommodate
    every player skill levels.

  • Adjustable speed. You can adjust the speed (spacing) of the notes to make
    it easy-to-sightread. This does not affect the speed of the song; lowering the
    speed causes notes to become more dense on-screen.

  • Scoring and grading system.
    Master the song to get the S grade (score over 500000).

Gameplay

  • BMS mode (7-keys + turntable). You can play using an
    IIDX controller or
    MIDI controller.

  • HD video support. Some songs will have a background animation in
    high-definition (720p).

  • Adjustable play area size. If the gameplay area is too long, you can
    adjust the cover it to make the play area more easy-to-sightread.

  • Early/Late indicator. Bemuse will tell you if you press the note too early
    or too late.

Options

  • Adjustable panel position. You can position the note panel on either side
    of the screen, or put it at the center.

  • Adjustable turntable position. You can put turntable on the left or on the
    right (BMS mode only).

  • Audio latency compensation. Some systems may have audio latency. Bemuse
    contains a calibration system to compensate for the audio latency.

Play now at https://bemuse.ninja/.

Technology

  • The web application is powered by React
    and Redux.

  • The game engine is powered by PixiJS.

Development

Install Node.js

# Install Rush
npm install --global @microsoft/rush

# Clone Bemuse
git clone https://github.com/bemusic/bemuse.git

# Enter the main repository
cd bemuse

# Install the dependencies
rush update

# Prepare all sub-projects
rush build --to-except bemuse

# Start development server
rush dev

For more information, check out the Developer Guide.

Note: Online ranking features are not available.

Sub-projects

This repository holds the code for other sub-projects, which are available for
use on npm.

Project nameBadgeDescription
bmsnpmJavaScript BMS parser
bmsonnpmJavaScript bmson parser
bemuse-toolsnpmTools for hosting your own music server.
bemuse-indexernpmLibrary for scanning a directory for BMS/bmson files and generate a metadata.
bemuse-notechartnpmLibrary for loading a notechart for use in game.

How to contribute

Our amazing contributors🌟

<a align="center" href="https://github.com/bemusic/bemuse/graphs/contributors"> <img src="https://contrib.rocks/image?repo=bemusic/bemuse&&max=817" /> </a>

License

AGPLv3. Note that this license only applies to the main Bemuse
project, not the sub-projects, which has its own license terms
(mostly MIT).

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from bemusic/bemuse via the GitHub API.Last fetched: 6/24/2026