Bmflat/Bm♭ is a program library in the C language for parsing BMS (Be-Music Source). BMS is a musical track format commonly used by rhythm games. This library can be useful when implementing games or analysis tools.

Two programs have been crafted to demonstrate its possible use cases. Flatspin, included in the source package, is an interactive playback and visualisation tool for BMS music tracks. BGA Compo🪐 is a utility that renders audio and background animation videos (BGAs) from BMS files, which may be useful for track previews — many tracks from the old times do not include complete video files and instead employs two layers of fast-changing still images superimposed to form the animation; but these retro-style technical limitations seem to be inspiring a lot of creativity!

A complex BMS track played by Flatspin (※ may contain flashing repetitive patterns)🎞Epilogue_Flatspin.mp4(7.0 MiB, 02:26, 800x450)
A still-image BGA rendered by BGA Compo🎞twinklesky.mp4(4.0 MiB, 02:04, 256x256)

Tracks in the videos:

  • 僕たちの旅とエピローグ。/Our Journey and Epilogue. —— music by ああああ
  • twinklesky —— music by fether; animation by むらたむうた

(Both are very cute, please have a look or a listen!)

permalink | by Ayu