A simple HTML5 app to generate evolving polyrhythms on the fly. This is still an alpha version with a few bugs, but I have used it many times to get ideas for drum patterns. Runs on the Chrome browser.
The app is not currently working due to a Google Chrome update.
Pattern Degenerator is a configurable musical instrument to perform generative music.
A pattern is a group of circles connected by lines
. Each circle has an associated sound which is activated by a trigger that runs along the lines of the pattern at constant speed. When the trigger reaches a circle with several outgoing links it will randomly select one of them, otherwise it will bounce back. The position of a circle in the screen affects its sound as follows:
- the pitch increases from left to right;
- the volume increases from bottom to top.
Clicking in the provided link will open a configured instrument. You can click and drag the circles around to change the duration of the patterns and the characteristics of the sounds (while being dragged the perimeter of a circle becomes red).
When you click on a circle and hold (don’t move the mouse), the perimeter of the circle will become blue and you enter the drawing mode: drag the mouse to draw lines that join existing patterns (this feature is still experimental).
This area in on the bottom left part of the screen. When you click on an asset, its sound will be triggered for reference. You can drag and drop it anywhere to add it to the canvas. Then you’ll be able to link it with another pattern as described above.
This area in on the bottom right part of the screen. For now there is just one button: it resets everything without any warning but lets all the sounds play until they end.
This program turned out to be much more complex than I initially intended and there are still a few bugs. I have started a new version from scratch using a library to handle some of the UI stuff (Guido) but it’s not ready yet.
If you drop a circle in the menu area you won’t be able to remove it from there anymore.
Sometimes, when 2 patterns are joined, some of the following non intended behaviors mays occur:
- two triggers appear on the same pattern;
- the two patterns just vanish;
- the line connecting two patterns vanishes, but the trigger still follows it;
- the images from one of the patterns are not drawn, but the pattern still plays;
- the line doesn’t connect the circles and just hangs there; if this happens click on the circle from where the line spawns.