Web-based BRSTM and BFSTM player
Just open the demo in a modern browser, select a .brstm or .bfstm file, and enjoy!
Use Select folder… to show the .brstm and .bfstm files in a folder and its subfolders. Click a file row, or focus it and press Enter or Space, to play it. Folder selection requires a browser with directory upload support; files stay on your device. Each file follows the loop control; with looping off, playback advances to the next file.
Use Tab and Shift+Tab to move between controls. Enter or Space activates playback, loop, mute, and help buttons; Space toggles audio track checkboxes. On the playback position and volume sliders, use arrow keys to adjust and Home/End to jump to the minimum/maximum. Escape closes the help dialog and returns focus to its button.
The player announces loading, playback changes, folder results, and errors. Elapsed time is available without continuous live announcements.
BRSTM is a file format that contains audio data that's being used for some Nintendo consoles. One of the differences with the usual audio format (MP3, etc) is that this format can contain a loop point, making it suitable for usage in games.
.brstm file is not included in the repository.
Some places to look for BRSTM files:
Smash Custom Music[dead link]- Smash Custom Music Archive (the audio player in this site is using the "brstm" package from this repo!)
There are no polyfill included in the demo.
Browser needs to support the following features without any vendor prefix:
- Web Audio API
- Audio Worklet API
<script type="module">- Custom Elements
- ES2015 in general
- ES2015 class
- WiiBrew, for BRSTM file description.
- BrawlLib codes, on how to decode BRSTM.
- OpenRevolution, for the BFSTM container layout.
- My journey of building this (April 2019)
- My talk in Geekcamp Singapore 2019 (October 2019)