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.
The model is ported from ai-duet.
- Install
magenta_session
- Run
python server/server.py
- Access the Server(localhost:8080)
- Session Now! (please refer following image).
magenta_session
depends on TensorFlow and magenta.
Please refer magenta installation guide.
Install the Miniconda (Miniconda3 is also ok), and create the Magenta environment.
conda create -n magenta numpy scipy matplotlib jupyter
(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 withsource activate magenta
. To avoid this, configure your environment bypyenv versions
, and usepyenv 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 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!
Python
JavaScript
- Tone.js
- MidiConvert
- jQuery (It's enough to such a simple application)
CSS