Multi-Track Music Generation with the Transfomer and the Johann Sebastian Bach Chorales dataset

Related tags

Audio MMM-JSB
Overview

MMM: Exploring Conditional Multi-Track Music Generation with the Transformer and the Johann Sebastian Bach Chorales Dataset.

Implementation of the paper "MMM: Exploring Conditional Multi-Track Music Generation with the Transformer" (paper). Uses OpenAI's GPT-2 to compose music.

Contact.

Find me on LinkedIn and say hello.

If you find and issue or have a feature request, report either here on GitHub.

Please be so kind and star the repository if you find it useful.

Acknowledgements.

This repository has been created in cooperation with Pyoneer. I am very grateful!

About.

This repository allows you to train GPT-2 on the Johann Sebastian Bach chorale dataset. You can train both MMMTrack and MMMBar from the paper.

How to run.

Requirements:

pip install transformers
pip install tokenizers
pip install torch
pip install music21
pip install note_seq

Training:

  1. Clone this repository git clone https://github.com/AI-Guru/MMM-JSB.git.
  2. Train MMMTrack with python train_jsb_mmmtrack.py.
  3. Train MMMBar with python train_jsb_mmmbar.py.

Sampling: Run the jupyter notebook.

Training should take roughly one hour on a GPU per model for the JSB dataset.

Pretrained checkpoint.

A pretrained network can be found here: https://ai-guru.s3.eu-central-1.amazonaws.com/mmm-jsb/mmm_jsb_checkpoints.zip

What is missing?

  • TensorFlow support is rudimentary.
  • Data preprocessing and training on the Lakh dataset.
  • Implementation as a tool or a DAW plugin.

License.

Released under the Apache-2.0 License.

You might also like...
Music player - endlessly plays your music
Music player - endlessly plays your music

Music player First, if you wonder about what is supposed to be a music player or what makes a music player different from a simple media player, read

SU Music Player — The first open-source PyTgCalls based Pyrogram bot to play music in voice chats

SU Music Player — The first open-source PyTgCalls based Pyrogram bot to play music in voice chats Note Neither this, or PyTgCalls are fully

Oliva music bot  help to play vc music
Oliva music bot help to play vc music

OLIVA V2 🎵 Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.7+ PyTgCalls Commands 🛠 For all in group /play - reply to youtube url or song file

This Is Telegram Music UserBot To Play Music Without Being Admin

This Is Telegram Music UserBot To Play Music Without Being Admin

Noinoi music is smoothly playing music on voice chat of telegram.
Noinoi music is smoothly playing music on voice chat of telegram.

NOINOI MUSIC BOT ✨ Features Music & Video stream support MultiChat support Playlist & Queue support Skip, Pause, Resume, Stop feature Music & Video do

XA Music Player - Telegram Music Bot
XA Music Player - Telegram Music Bot

XA Music Player Requirements 📝 FFmpeg (Latest) NodeJS nodesource.com (NodeJS 17+) Python (3.10+) PyTgCalls (Lastest) MongoDB (3.12.1) 2nd Telegram Ac

Muzic: Music Understanding and Generation with Artificial Intelligence
Muzic: Music Understanding and Generation with Artificial Intelligence

Muzic is a research project on AI music that empowers music understanding and generation with deep learning and artificial intelligence.

Music generation using ml / dl

Data analysis Document here the project: deep_music Description: Project Description Data Source: Type of analysis: Please document the project the be

Anki vector Music ❤ is the best and only Telegram VC player with playlists, Multi Playback, Channel play and more
Anki vector Music ❤ is the best and only Telegram VC player with playlists, Multi Playback, Channel play and more

Anki Vector Music 🎵 A bot that can play music on Telegram Group and Channel Voice Chats Available on telegram as @Anki Vector Music Features 🔥 Thumb

Comments
  • PIECE_END token

    PIECE_END token

    Hi Tristan,

    This is amazing! Thanks for sharing it. I was looking at the code and I was wondering about the PIECE_END token. I cannot find it. Do you have it somewhere? Also, it is the PIECE_START token placed at the start of each song? I think it is at the start of every partition based on the window_size_bars, hop_length_bars but wanted to confirm with you.

    Thank again for this great code!

    opened by juancopi81 3
  • How to save generated_sample to MIDI ?

    How to save generated_sample to MIDI ?

    Hi, I want to save generated_sample to a MIDI file and save to my computer to play with my prefered MIDI player, how can I do that ?

    I currently at this step:

    generated_sample = generate(model, tokenizer, priming_sample)
    

    My sample variable looks like this:

    PIECE_START TRACK_START INST=1 DENSITY=0 BAR_START NOTE_ON=61 TIME_DELTA=4.0 NOTE_OFF=61 BAR_END BAR_START NOTE_ON=66 TIME_DELTA=4.0 NOTE_OFF=66 NOTE_ON=65 TIME_DELTA=4.0 NOTE_OFF=65 NOTE_ON=66 TIME_DELTA=4.0 NOTE_OFF=66 NOTE_ON=66 TIME_DELTA=4.0 NOTE_OFF=66 BAR_END TRACK_END TRACK_START INST=2 DENSITY=1 BAR_START NOTE_ON=58 TIME_DELTA=4.0 NOTE_OFF=58 BAR_END BAR_START NOTE_ON=61 TIME_DELTA=4.0 NOTE_OFF=61 NOTE_ON=61 TIME_DELTA=4.0 NOTE_OFF=61 NOTE_ON=61 TIME_DELTA=4.0 NOTE_OFF=61 NOTE_ON=61 TIME_DELTA=2.0 NOTE_OFF=61 NOTE_ON=59 TIME_DELTA=2.0 NOTE_OFF=59 BAR_END TRACK_END TRACK_START INST=3 DENSITY=0 BAR_START NOTE_ON=54 TIME_DELTA=4.0 NOTE_OFF=54 BAR_END BAR_START NOTE_ON=54 TIME_DELTA=4.0 NOTE_OFF=54 NOTE_ON=49 TIME_DELTA=4.0 NOTE_OFF=49 NOTE_ON=54 TIME_DELTA=4.0 NOTE_OFF=54 NOTE_ON=51 TIME_DELTA=4.0 NOTE_OFF=51 BAR_END TRACK_END TRACK_START INST=0 DENSITY=0 BAR_START NOTE_ON=66 TIME_DELTA=4.0 NOTE_OFF=66 BAR_END BAR_START NOTE_ON=70 TIME_DELTA=4.0 NOTE_OFF=70 NOTE_ON=68 TIME_DELTA=4.0 NOTE_OFF=68 NOTE_ON=70 TIME_DELTA=4.0 NOTE_OFF=70 NOTE_ON=71 TIME_DELTA=4.0 NOTE_OFF=71 BAR_END TRACK_END [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD]...
    

    And I want to save that generated_sample.

    opened by GunGunGun 1
  • ImportError: fluidsynth() was called but pyfluidsynth is not installed.

    ImportError: fluidsynth() was called but pyfluidsynth is not installed.

    Running notebook on both Kaggle notebooks and colab gets me this error.

    Tried installing fuildsynth via apt-install, done pip install pyfluidsynth ... Nothing worked.

    opened by maroxtn 3
Owner
null
NovaMusic is a music sharing robot. Users can get music and music lyrics using inline queries.

A music sharing telegram robot using Redis database and Telebot python library using Redis database.

Hesam Norin 7 Oct 21, 2022
Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.

Okaeri-Music is a telegram bot project that's allow you to play music on telegram voice chat group

Wahyusaputra 1 Dec 22, 2021
Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.

??️ PROJECT MUSIC,THIS IS MAINTAINED Okaeri-Music is a telegram bot project that's allow you to play music on telegram voice chat group Features ?? Th

Okaeri-Project 2 Dec 23, 2021
A small project where I identify notes and key harmonies in a piece of music and use them further to recreate and generate the same piece of music through Python

A small project where I identify notes and key harmonies in a piece of music and use them further to recreate and generate the same piece of music through Python

null 5 Oct 7, 2022
Music player and music library manager for Linux, Windows, and macOS

Ex Falso / Quod Libet - A Music Library / Editor / Player Quod Libet is a music management program. It provides several different ways to view your au

Quod Libet 1.2k Jan 7, 2023
Just-Music - Spotify API Driven Music Web app, that allows to listen and control and share songs

Just Music... Just Music Is A Web APP That Allows Users To Play Song Using Spoti

Ayush Mishra 3 May 1, 2022
We built this fully functioning Music player in Python. The music player allows you to play/pause and switch to different songs easily.

We built this fully functioning Music player in Python. The music player allows you to play/pause and switch to different songs easily.

null 1 Nov 19, 2021
Royal Music You can play music and video at a time in vc

Royals-Music Royal Music You can play music and video at a time in vc Commands SOON String STRING_SESSION Deployment ?? Credits • ??ᴏᴍʏᴀ⃝??ᴇᴇᴛ • ??ғғɪ

null 2 Nov 23, 2021
This is an OverPowered Vc Music Player! Will work for you and play music in Voice Chatz

VcPlayer This is an OverPowered Vc Music Player! Will work for you and play music in Voice Chatz Telegram Voice-Chat Bot [PyTGCalls] ⇝ Requirements ⇜

null 1 Dec 20, 2021
Xbot-Music - Bot Play Music and Video in Voice Chat Group Telegram

XBOT-MUSIC A Telegram Music+video Bot written in Python using Pyrogram and Py-Tg

Fariz 2 Jan 20, 2022