This tool can be used to slice BMS samples and copy note data from the stems of a song using FL Studio. Mostly as an alternative to woslicerII.
Future version may include MIDI-support with some extra steps.
⚠️ Installation will be simpler in the future using PIP or an optional installer which includes a GUI tool
- Install python
- Install ffmpeg and make sure it's accessible from a terminal
- Clone the repo using git or download and extract the source code and navigate to the folder in a terminal
- Optionally create and activate a virtual environment
- Install packages using pip
$ pip install -r requirements.txt
- Export stems for your finished and mixed track by separating every sound that should be keysounded
- Create a new project and add your stems to each track
⚠️ You can also create a new arrangement in your song's project file, but the tool might encounter problems when loading it. The tool uses the current arrangement used when saving by default - Use the slice tool to slice every stem and delete silent parts
⚠️ The tool currently doesn't support trimming silence, so you're encouraged to do it manually in the project file - Optionally optimise your exported samples by re-using slices for your stems. Use this for repeated patterns/loops and percussion
- Enable every track you want to include as keysounds
🗣️ You can disable tracks for stems that you may want to keep in the background. This is useful if you've exceeded the limit of samples you can use in a BMS file. Simply move them to a disabled track, or disable the track entirely
- Save the file
Here's what your project file should look like. All stems in this one are enabled and will be exported by default.
Run the tool with a path to the FLP:
$ python3 -m flpslicer path/to/project.flp
The exported stems will be saved to the same folder as the FLP file. See Parameters for alternatives.
You can copy and paste the note data output into iBMSC-derived editors. See Parameters for alternatives.
Add the --output
parameter to export the files to a different folder:
$ python3 -m flpslicer path/to/.flp -o bms-samples
Add --to-file
to save the note data to a file, such as clipboard.txt
$ python3 -m flpslicer path/to/.flp --to-file clipboard.txt
If your samples can't be accessed using their original path (in case you're using WSL like I did), use --samples-dir
to point to a folder where the original samples are located:
$ python3 -m flpslicer path/to/.flp --samples-dir flp-samples
For other parameters, use the tool with --help
:
$ python3 -m flpslicer --help