Skip to content

asigalov61/Rock-Piano

Repository files navigation

Rock Piano

"When all is one and one is all, that's what it is to be a rock and not to roll." ---Led Zeppelin, "Stairway To Heaven"


Proof-Of-Concept Piano-Drums Music AI Model/Implementation

Open In Colab


Model Applications

  1. Semi-original Piano-Drums performance generation

  2. Semi-original Piano-Drums continuations generation

  3. Piano-conditioned Drums generation

  4. Drums-conditioned Piano generation

  5. Other possible uses


Model Details

  1. Trained upon ~500 Piano-Drums excerpts which were randomly selected from ~2392 western rock music masterpieces

  2. Model SEQ: [channel, delta-start-time, pitch, duration, EOS]

  3. Expanded Model SEQ: [channel(0,9), delta-start-time(ms)(0-500), pitch(0-127), duration(ms)(0-500), EOS(500)]

  4. MIDI Start time and duration in ticks is converted to milliseconds and then divided by 10

  5. Model timings are in milliseconds / 10


Model Use Tips:

  1. Piano-conditioned Drums generation can be invoked by [EOS, 9] sequence
  2. Drums-conditioned Piano generation can be invoked by [EOS, 0] sequence
  3. To generate a note at the same time point use i.e. [EOS, 9, 0] sequence
  4. To generate a note at the future time point use i.e. [EOS, 9, desired-delta-time] i.e. [EOS, 9, 7] sequence
  5. Just in case, EOS == 500, Piano channel == 0, Drums channel == 9

Citation

@inproceedings{lev2021rockpiano,
    title       = {Rock Piano},
    author      = {Aleksandr Lev},
    booktitle   = {GitHub},
    year        = {2021},
}

Project Los Angeles

Tegridy Code 2021