/magenta_session

:musical_keyboard: Music Session with Google Magenta

Primary LanguageJavaScriptMIT LicenseMIT

magenta session

The code to session with magenta.
Do you have any MIDI instrument? If then, you can do call & response with magenta!
(You don't have such instruments? Of course, you can play this without it!)

You can see the sample play from here

(Sorry about my poor keyboard play!)

You can deploy your own Magenta Session to Heroku by following button.

Deploy

Architecture

architecture.PNG

The model is ported from ai-duet.

How to use

  1. Install magenta_session
  2. Run python server/server.py
  3. Access the Server(localhost:8080)
  4. Session Now! (please refer following image).

gui.PNG

Additional Usage

Install

magenta_session depends on TensorFlow and magenta.
Please refer magenta installation guide.

Miniconda

Install the Miniconda (Miniconda3 is also ok), and create the Magenta environment.

conda create -n magenta numpy scipy scikit-learn matplotlib jupyter pyyaml

(If you use Miniconda3, please set python=2.7 additionaly when create magenta environment. Because Magenta only works on Python2!)

Then activate the magenta environment, and install the dependencies.

source activate magenta
pip install -r requirements.txt

CAUTION

  • pyenv user will have the trouble with source activate magenta. To avoid this, configure your environment by pyenv versions, and use pyenv local to set the magenta environment that you created.
  • TensorFlow does not support Windows except the Python3.5 version (and Magenta does not work on Python3.5!). So If you want to run it on Windows, you have to use bash on Windows.

Docker

Docker is an open-source containerization software which simplifies installation across various OSes.Once you have Docker installed, you can just run:

$ docker run -it --rm -p 80:8080 asashiho/magenta_session

If you want to build DockerImage yourself, you can just run:

$ docker build -t magenta_session .
$ docker run -it --rm -p 80:8080 magenta_session

Tips! Docker to automatically clean up the container and remove the file system when the container exits, you can add the --rm

You can now play with magenta_session at http://<docker-server-ipaddress>/.

Session Now and Enjoy Music!

Dependencies

Python

JavaScript

CSS