Skip to content

Applying Transformers to MIDI music for various tasks

Notifications You must be signed in to change notification settings

probablyabot/midiformers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MIDIformers

Table of Contents

DeepMixer

The project involves the usage of the open-source MusicBERT model to perform mask prediction tasks for MIDI task with customizability.

Installation

git clone https://github.com/tripathiarpan20/midiformers.git
cd midiformers/DeepMixer/models/musicbert
./setup.sh

Notebook

The live version of Colab notebook utilising the scripts in DeepMixer/models/musicbert can be accessed from this link :

Image

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.

Output samples

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

Support

There are many ways to support a project - starring⭐️ the GitHub repo is just one.

About

Applying Transformers to MIDI music for various tasks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%