The project involves the usage of the open-source MusicBERT model to perform mask prediction tasks for MIDI task with customizability.
git clone https://github.com/tripathiarpan20/midiformers.git
cd midiformers/DeepMixer/models/musicbert
./setup.sh
The live version of Colab notebook utilising the scripts in DeepMixer/models/musicbert
can be accessed from this link :
The notebook supports customisability on top of the original MusicBERT codebase, like masking chosen percentage of random notes from either whole MIDI stream/ notes from selected instruments based on user preference.
Other features include:
- Option to leaving notes from the beginning
min_bar_mask
masks out of the masking pool to provide more initial context for mask prediction. - Prediction modes with trade-off between speed and quality of predictions.
- Sampling strategies like Temperature, Top-k and Nuclues (Top-p) added for mask predictions.
- Filtering invalid prediction for more consistent results.
- Song segment selection and multi-program/ins masking.
Some of the samples from the above notebook along with the reference pieces can be found in a Drive folder , the songs are copyrighted by the respective owners.
A few of our favorites are embedded below:
- Shock (Attack on Titan):
- Original & Remix:
Shock_-_Attack_On_Titan.mp4
Shock_-_Attack_On_Titan_program0_40percentmaskpred.mp4
- Bohemian Rhapsody (Queen):
- Original & Remix:
BohemianRhapsody.mp4
bohemian_ckpt2_program128_92percentmaskpred_minbarmask4.mp4
- Unforgiven 2 (Metallica):
- Original & Remix:
Unforgiven2_track_filtered.1.mp4
Unforgiven2_program26_75percentmaskpred_minbarmask4_Vanilla.1.mp4
There are many ways to support a project - starring⭐️ the GitHub repo is just one.