Skip to content
/ Psc2 Public

code used for collaborative musical improvisation with ML models

License

Notifications You must be signed in to change notification settings

psc-g/Psc2

Repository files navigation

Psc2

Psc2 combines the worlds of jazz, rock, classical music, and artificial intelligence via original compositions and arrangements.

the compositions are built around the interplay of jazz harmonies, complex rhythms and extensive improvisation; many of them are composed in the "long-form" compositional style of classical music.

the arrangements take well-known songs from pop, rock and jazz and re-build them in a manner similar to our original compositions. the arrangements include songs by michael jackson, guns n' roses, silvio rodriguez, duke ellington and others.

psc is a señor swesearcher in google brain, and is experimenting with using machine learning models (including generative models for music) as part of the live performance. most of the code used will be available in this repo.

the white paper explaining the solo setting is available here.

Installation

  1. Install SuperCollider

  2. Clone this repo.

  3. Create a virtualenv and activate it. We need Python2 (and not Python3) because pyosc is not compatible with Python3. This step is optional but recommended:

    virtualenv --system-site-packages -p python2 venv
    source venv/bin/activate
    cd Psc2
    pip install -r requirements.txt
    

    If the last command does not work, then:

    1. pip install absl-py

    2. pip install pyosc.

    3. pip install tensorflow Full instructions here.

    4. pip install magenta Full instructions here.

  4. Download Melody RNN attention_rnn model here, and update the base_models_path parameter in Psc2/modes/mlsplainer.py.

  5. Download DrumKit RNN model (for NeurIPS demo) here.

  6. Open SuperCollider, open Psc2/server.sc and run the main group (enclosed in parentheses).

  7. From the root directory, run:

    python setup.py install
    
  8. Start the python server:

    python Psc2/server.py
    

About

code used for collaborative musical improvisation with ML models

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published