djosix / Performance Rnn Pytorch
Licence: mit
Event-based music generation with RNN using PyTorch
Stars: β 77
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Performance Rnn Pytorch
Stylenet
A cute multi-layer LSTM that can perform like a human πΆ
Stars: β 187 (+142.86%)
Mutual labels: rnn, music
Lstm Music Genre Classification
Music genre classification with LSTM Recurrent Neural Nets in Keras & PyTorch
Stars: β 166 (+115.58%)
Mutual labels: rnn, music
Audioowl
Fast and simple music and audio analysis using RNN in Python π΅οΈββοΈ π₯
Stars: β 151 (+96.1%)
Mutual labels: rnn, music
Deepjazz
Deep learning driven jazz generation using Keras & Theano!
Stars: β 2,766 (+3492.21%)
Mutual labels: rnn, music
Karmabot
π€ A Multipurpose Discord Bot with a Music System & Utility commands used by 160K+ users!
Stars: β 73 (-5.19%)
Mutual labels: music
Redoflacs
Parallel BASH commandline FLAC compressor, verifier, organizer, analyzer, and retagger
Stars: β 71 (-7.79%)
Mutual labels: music
Musicdownloader
Material design YouTube mp3/mp4 downloader
Stars: β 70 (-9.09%)
Mutual labels: music
Gru Svm
[ICMLC 2018] A Neural Network Architecture Combining Gated Recurrent Unit (GRU) and Support Vector Machine (SVM) for Intrusion Detection
Stars: β 76 (-1.3%)
Mutual labels: rnn
Google Play Music Desktop Player Unofficial
A beautiful cross platform Desktop Player for Google Play Music
Stars: β 8,459 (+10885.71%)
Mutual labels: music
Codegan
[Deprecated] Source Code Generation using Sequence Generative Adversarial Networks
Stars: β 73 (-5.19%)
Mutual labels: rnn
Yukiko
powerful Discord bot that includes XP system, Leaderboard, Music, Welcome and farewell message, Moderation, and much more!
Stars: β 72 (-6.49%)
Mutual labels: music
Omg Music
Music making, remixing, and collaborating tools for the web
Stars: β 74 (-3.9%)
Mutual labels: music
Spotifycurrentlyplaying.js
Display your currently playing Spotify song(s) using Last.fm scrobbling.
Stars: β 71 (-7.79%)
Mutual labels: music
Compactd
Remote music player that supports adding more content
Stars: β 75 (-2.6%)
Mutual labels: music
Infinite gnossienne
An endless version of Erik Satie's Gnossiennes No. 1
Stars: β 71 (-7.79%)
Mutual labels: music
Bitwig Community Presets
β€οΈ It's time for the community to come together to make some awesome sounds/effects
Stars: β 73 (-5.19%)
Mutual labels: music
Distube
A Discord.js v12 module to simplify your music commands and play songs with audio filters on Discord without any API key. Support YouTube, SoundCloud, Bandcamp, Facebook, and 700+ more sites
Stars: β 73 (-5.19%)
Mutual labels: music
Performance RNN - PyTorch
PyTorch implementation of Performance RNN, inspired by Ian Simon and Sageev Oore. "Performance RNN: Generating Music with Expressive Timing and Dynamics." Magenta Blog, 2017. https://magenta.tensorflow.org/performance-rnn.
This model is not implemented in the official way!
Generated Samples
- A sample on C Major Scale [MIDI, MP3]
- control option:
-c '1,0,1,0,1,1,0,1,0,1,0,1;4'
- control option:
- A sample on C Minor Scale [MIDI, MP3]
- control option:
-c '1,0,1,1,0,1,0,1,1,0,0,1;4'
- control option:
- A sample on C Major Pentatonic Scale [MIDI, MP3]
- control option:
-c '5,0,4,0,4,1,0,5,0,4,0,1;3'
- control option:
- A sample on C Minor Pentatonic Scale [MIDI, MP3]
- control option:
-c '5,0,1,4,0,4,0,5,1,0,4,0;3'
- control option:
Directory Structure
.
βββ dataset/
β βββ midi/
β β βββ dataset1/
β β β βββ *.mid
β β βββ dataset2/
β β βββ *.mid
β βββ processed/
β β βββ dataset1/
β β βββ *.data (preprocess.py)
β βββ scripts/
β βββ *.sh (dataset download scripts)
βββ output/
β βββ *.mid (generate.py)
βββ save/
β βββ *.sess (train.py)
βββ runs/ (tensorboard logdir)
Instructions
-
Download datasets
cd dataset/ bash scripts/NAME_scraper.sh midi/NAME
-
Preprocessing
# Preprocess all MIDI files under dataset/midi/NAME python3 preprocess.py dataset/midi/NAME dataset/processed/NAME
-
Training
# Train on .data files in dataset/processed/MYDATA, and save to save/myModel.sess every 10s python3 train.py -s save/myModel.sess -d dataset/processed/MYDATA -i 10 # Or... python3 train.py -s save/myModel.sess -d dataset/processed/MYDATA -p hidden_dim=1024 python3 train.py -s save/myModel.sess -d dataset/processed/MYDATA -b 128 -c 0.3 python3 train.py -s save/myModel.sess -d dataset/processed/MYDATA -w 100 -S 10
-
Generating
# Generate with control sequence from test.data and model from save/test.sess python3 generate.py -s save/test.sess -c test.data # Generate with pitch histogram and note density (C major scale) python3 generate.py -s save/test.sess -l 1000 -c '1,0,1,0,1,1,0,1,0,1,0,1;3' # Or... python3 generate.py -s save/test.sess -l 1000 -c ';3' # uniform pitch histogram python3 generate.py -s save/test.sess -l 1000 # no control # Use control sequence from processed data python3 generate.py -s save/test.sess -c dataset/processed/some/processed.data
Pretrained Model
-
ecomp.sess
- default configuration
- dataset: International Piano-e-Competition, recorded MIDI files
-
ecomp_w500.sess
- window_size: 500
- control_ratio: 0.7
- dataset: International Piano-e-Competition, recorded MIDI files
Requirements
- pretty_midi
- numpy
- pytorch >= 0.4
- tensorboardX
- progress
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].