Skip to content

asigalov61/Optimus-VIRTUOSO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimus-VIRTUOSO

"Music never allows falsehoods for even the deaf hear flat notes!" ---OV



SOTA GPT3-based Multi-Instrumental MIDI Music AI Implementation

Now featuring TMIDIX improved reproduction of the MuseNet multi-instrumental TXT encoding


ORIGINAL BASE-LINE PERFORMANCE MUSIC AI IMPLEMENTATION: Optimus-VIRTUOSO

This is an auto-regressive implementation (char-based approach) which has its benefits but also drawbacks However, this is the most interesting, flexible, and versatile implementation that allows to try many different things

For SOTA, non-auto-regressive, token-based implementation see Optimus VIRTUOSO: Relative Global Attention Edition below

Open In Colab


ORIGINAL MUSIC COMPOSITION: Optimus-VIRTUOSO Compound Music Composer with custom MIDI option

This is basically an improved reproduction of OpenAI's MuseNet. With large enough dataset, you should get comparable(or better) results

And no, you do not really need Sparse Attention/Transformers here unless you want to train on gigabytes of data

Open In Colab


BEST OF BOTH WORLDS: Optimus-VIRTUOSO: Relative Global Attention Edition

GPT3 + RGA(RPR) = AWESOME

If OpenAi's MuseNet and Google's Piano Transformer could have a baby, that would be it :)

Open In Colab


[NEW] Optimus-VIRTUOSO: Multi-Instrumental Relative Global Attention Edition

Now featuring a pre-trained Piano-Violin duo model and Endlesss Violin Carousel MIDI dataset!

This is the same awesome RGA implementation as above but with full multi-instrumental support, continuation options, and other cool features. Check it out! :)

Open In Colab


Output Samples:

🥰❤️🎁 Optimus-VIRTUOSO: RGA Edition SOTA Output Demo Sample 🎁❤️🥰

NOTE: Do not forget to unmute the player below or you will not hear the music

Optimus-VIRTUOSO-RGA-Demo-Composition.mp4

Click to download the whole thing as a MIDI (1.5 hour long performance)

SoundCloud:

https://soundcloud.com/aleksandr-sigalov-61/sets/exclusive-preview-optimus-virtuoso


Some specs/stats:

  1. Multi-instrumental MIDI implementation

  2. Human-readable TXT Encoding with only 3 (three) to 5 (five) UTF-8 chars per any MIDI note (5 x 4bytes/char == 20 bytes max)

  3. MuseNet-like MIDI events representation

  4. Composition-level MIDI events representation

  5. Single-epoch/one-shot training/learning

  6. GPT3 tweaks/improvements

  7. Relative Global Attention (RPR)

  8. Much much more...


FAQ:

Q) What Optimus-VIRTUOSO can do for me?

A) Optimus-VIRTUOSO can virtuosly play you any MIDI music you will train it upon


Q) What Optimus-VIRTUOSO can't do for me?

A) Optimus-VIRTUOSO can't compose fully original music for you because it is a regular Music AI (not AGI) implementation


Q) Is there any way to compose original music with Optimus-VIRTUOSO?

A) Yes! Try Optimus-VIRTUOSO Composer! It can compose compound music for you, similar to how MuseNet does it. It is not going to be fully original but it is not going to be a complete plagiarism either :)


Q) What are the possible useful practical applications for this technology?

A) Great question! Here are the major ones in order of importance and ability:

  1. Music Performance: Think talented AI Music Protege or an AI Music partner for a musician or a composer
  2. Music Composition: Think of it as an AI Music collaborator for musicians and composers
  3. Music Classification: This is most profitable and useful application at the moment, but this would be a rather simple and crude use of such great tech
  4. Music Exploration: This is also very interesting application, especially if it would be somehow tied with the #1 and #2 above
  5. Many more other incredible uses, so definitely give the Optimus VIRTUOSO a try :)

Citation

@inproceedings{lev2021optimusvirtuoso,
    title       = {Optimus-VIRTUOSO},
    author      = {Aleksandr Lev},
    booktitle   = {GitHub},
    year        = {2021},
}

Project Los Angeles

Tegridy Code 2021