Polyrhythmical
An experiment on Web MIDI and polyrhythms written in Javascript. Try the online demo.
Demo
If you have a recent Chrome version you can try the online demo or watch a video recording of Polyrhytmical in action on YouTube:
Features
With Polyrhythmical you can create several step sequencers and generate patterns with different step lengths to achieve odd polyrhythms. Each sequencer can be attached to a different MIDI output and channel. You can control both external and internal MIDI capable devices. Here is a simple tutorial on how to create a virtual MIDI device on OSX.
Notes
This is an experiment written just for fun. Do not expect this to be a full-featured MIDI sequencer in your browser.
The goal of this project is to explore the current limitations of the Web MIDI API and to have fun with MIDI sequencing in the browser.
Unfortunately until Web Workers don't get access to the MIDI API, accurate timing will stay a dream.
Please note that Web MIDI API is currently only supported by Chrome and Opera.
Development
Requirements
- a recent version of Chrome
- Node 5
- npm
- a MIDI interface (virtual OR physical)
- a MIDI capable synthesizer (hardware OR software)
To start the development environment:
git clone etc
npm install
npm start
to build for production:
npm build
cd build
php -S localhost:8181 # or any other http server
License
Licensed under an MIT License.
Credits
Thanks to WebMidi and Web Audio Scheduler. Based on Create React App and MUI CSS.