All Projects β†’ djosix β†’ Performance Rnn Pytorch

djosix / Performance Rnn Pytorch

Licence: mit
Event-based music generation with RNN using PyTorch

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
Patter
speech-to-text in pytorch
Stars: ✭ 71 (-7.79%)
Mutual labels:  rnn
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
Ieasemusic
η½‘ζ˜“δΊ‘ιŸ³δΉη¬¬δΈ‰ζ–Ή
Stars: ✭ 8,572 (+11032.47%)
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
Evoradio
Music Player App for iOS
Stars: ✭ 72 (-6.49%)
Mutual labels:  music

generated-sample-sheet-music

Performance RNN - PyTorch

License: MIT

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'
  • A sample on C Minor Scale [MIDI, MP3]
    • control option: -c '1,0,1,1,0,1,0,1,1,0,0,1;4'
  • 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'
  • 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'

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
    

    training-figure

  • 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
    

    generated-sample-1

    generated-sample-2

Pretrained Model

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].