This repo contains a modified version of nanoGPT for fast and efficient generative MIDI drums. The nanoMPC model employs a simple technique of training a small transformer model with big data, leveraging extensive data augmentation to achieve generalization while maintaining a lightweight architecture. This approach ensures the model is not only powerful and coherent but also efficient for personalized training.
The model is capable of learning various styles of drumming and beat-making (finger drumming) with intricate detail, including humanized velocities, rhythm swings, and rudimental patterns. These results are largely made possible through a normalization process and the use of custom augmentation tools, ensuring the model is trained with sufficient examples of expressive drum notations. Additionally, the positional encodings and attention mechanism were slightly modified to improve accuracy.
Use colab_run.ipynb
to run a model with Gradio or generate bulk MIDI files.
Hip Hop: Generates beats in the style of boom bap, lo-fi, and other hip hop subgenres.
Trap: Generates simple trap beats.
Drumwave: Generates retro drum machine rhythms.
House: Generates basic house beats.
Pop Rock: Generates simple acoustic drum patterns in the style of pop-rock.
We welcome data contributions for research and future development of our drum models. Data contributors may be given access to our augmentation tools to generate large-scale datasets. Additionally, musicians can receive free MIDI files for rating content. By providing human feedback, you will help us improve the model and enhance its capabilities.
To inquire about training a custom model, contributing data or rating content, please contact us.
Our sincere appreciation to Andrej Karpathy for creating nanoGPT and his continuous support for the AI research community.