A neural network that finishes your piano riffs (from 2016)
Google Creative Lab's archived experiment lets you duet with a Magenta-trained model that continues whatever you play.

What it does You play a few notes on a virtual or MIDI keyboard; the app sends your input to a Flask backend running TensorFlow and Magenta, which generates a continuation and sends it back. The front-end, built with Tone.js, plays the response. It’s a browser-based call-and-response with a machine-learning partner.
The interesting bit The project is essentially a polished glue layer between mature pieces: Magenta does the musical heavy lifting, Tone.js handles audio, and the web stack handles interaction. The value is in the integration—turning a research model into something you can actually jam with in a browser, complete with multisampled piano audio and computer-keyboard fallback input.
Key highlights
- Supports real MIDI keyboards via Web MIDI API, or typing-keyboard input via AudioKeys
- Docker build available for easier setup across operating systems
- Uses open-source Salamander Grand Piano V3 samples and FluidR3 soundfonts
- Front-end builds with Node.js 6; back-end requires Python 2.7
- Archived by Google Creative Lab in read-only mode; explicitly welcomes community forks
Caveats
- Requires Python 2.7 and Node v6, both long past end-of-life
- Dependencies are outdated and no QA has been done; README warns “your mileage may vary”
- Repository is archived; no pull requests or bug fixes accepted by the original team
Verdict Worth a look if you’re studying how to productize ML research into interactive art, or want a concrete Magenta example to fork and modernize. Skip it if you need a maintained, production-ready generative music tool—this is a 2016 time capsule.