A web-based visual editor for creating beat maps for music-based VR games developed by the MRR Group.

The Music Map Editor is a browser-based tool designed to streamline the creation of beat maps for our rhythm-based VR games. It leverages the Web Audio API for sophisticated audio analysis, including beat detection, to automatically generate a baseline map that can be manually fine-tuned.
This tool was built to provide an intuitive and efficient workflow for level designers.
- WAV File Support: Load and process
.wavaudio files directly in the browser. - Automatic Beat Detection: Uses DSP to analyze the audio and automatically place panels on detected beats.
- Interactive Visualizers: Real-time frequency and panel visualizers that are synced with audio playback.
- Timeline Viewer: A responsive timeline that displays multiple boards at once, allowing for quick navigation.
- Panel & Board Editing:
- Manually add, remove, or nudge panels to perfectly sync with the music.
- An interactive 2x4 grid editor for modifying the state of each panel.
- Import/Export: Save your work to a custom
.txtformat and load it back in later. - Keyboard Shortcuts: Control playback, navigate panels, and adjust timestamps with keyboard controls.
To get a local copy up and running, follow these simple steps.
You need to have Bun installed on your machine.
- Clone the repo
git clone https://github.com/MRR-Group/music-map-editor.git
- Navigate to the project directory
cd music-map-editor - Install dependencies
bun install
- Run the development server
The application will be available at
bun dev
http://localhost:5173.
- Load an Audio File: Drag and drop a
.wavfile onto the dropzone, or click to select a file. - Wait for Analysis: If you loaded a WAV file, the application will process the audio to detect beats and generate frequency data. A loading indicator will show the progress.
- Edit the Map:
- Use the Audio Player to play, pause, and seek through the song.
- Click on a panel in the Board Timeline or use the arrow keys to navigate.
- Use the Current Board Editor to change the state of the cells for the active panel.
- Use the Add Panel, Remove Panel, and Move buttons to fine-tune the map. Hold
ShiftorCtrlwhile moving for finer adjustments.
- Import/Export:
- Click Export to save your map as a
music-map.txtfile. - Click Import to load a previously saved map file.
- Click Export to save your map as a
The exported music-map.txt file has a simple, human-readable format. Each panel is represented by a block of 3 lines, with blocks separated by a blank line.
0.46
1100
0000
1.07
0000
0011
- Line 1: The timestamp of the panel in seconds.
- Line 2: The state of the top row of the 2x4 board.
- Line 3: The state of the bottom row of the 2x4 board.
Cell states are represented by numbers: 0 (blank), 1 (black), 2 (purple).
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License.
MRR Group - https://github.com/MRR-Group Project Link: https://github.com/MRR-Group/music-map-editor