Skip to content

Convert bms charts into song stems/multitracks.

Notifications You must be signed in to change notification settings

Qrael/bmx2stems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

bmx2stems: BMS stem/multitrack extractor

This script renders bms chart formatted songs into a stem pack, with each instrument in their own audio track.

It relies on the samples that come with the chart being named with their instruments. Therefore charts like B.B.K.K.B.K.K. wouldn't work with this script without extensive renaming of the samples.

Currently songs with bpm change are supported, and those with randomness more than 1 are not supported.

Usage

First install the dependencies by

npm install

Use this script by having .bms file and their supporting audio files in the same directory, then providing the .bms file path to the script with:

node main.js [options] [--] /path/to/chart.bms

Available options:

  • -f, --format: output format, wav or ogg. Default wav.
  • -s, --separator: regular expression for separating instrument name from numbering in the audio file names. Default "_".
    all that comes before the regexp is regarded as instrument name, and the remaining string is unused, therefore no need to worry about not matching the numbering.
    e.g. "_" for Chronostasis, and "\s\#|\s?\(|\s[A-G]\#?\d" for GOODTEK.
  • -o, --outDir: output directory. Default stems/ under the same directory as the .bms file.
  • --log: log level, error, warn, info, verbose. Default info.
  • -v, --verbose: equivalent to --log verbose.

Test suite

  • 立秋 - 竹
    • separator "\_\d\d\d\_|\_\d\."
    • bpm changes on channels 03 and 08
  • LeaF - Aleph-0
    • separator "\_\d\d\d\_|\_\d\."
    • bpm changes on channels 03 and 08
    • has stops on channel 09
    • if-else blocks with randomness 1
  • DOT96 - MAKE IT FUNKY NOW
    • has mono channel samples

References

About

Convert bms charts into song stems/multitracks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published