MDAMAGER
Eukid/Polly is an interactive tool for generating rhythmic patterns. It plots beats around the edge of a circle and cycles a playhead around the circumference. When the playhead is above any of the the beats, a sound is triggered, either inside the sketch as an audio sample, or via MIDI. It has two main synchronisation modes: Euclidean and Polymeter. Euclidean mode utilises concepts discussed by Godfried Toussaint in The Geometry of Musical Rhythm(2013), whereby rhythms are created by subdividing discrete periods of time evenly between x beats. These rhythmic patterns can be represented as nodes plotted around the circumference of a circle, and visualised as polygons by connecting the nodes together with straight lines. Syncopation is created by simultaneously playing rhythmic patterns comprised of different numbers of beats. The second mode of operation is Polymeter Mode where the duration of one complete cycle is different for each generator, which allows for the creation of more complex polymetric patterns. Each generator can create between one and 12 beats and can load one of 12 audio samples. Currently, parameters are controlled by mouse input and slider, but I have included functionality for reading incoming midi CC messages and adjusting the slider values to match. Users have the ability to change the speed, placement, rotation and output sound for four generators and can quickly, easily and intuitively create and visualise rhythmic sequences by overlaying multiple patterns over the top of one another. A small section of samples are included within the sketch, which can be changed if necessary, as can the output midi note and channel for each generator. I have included two variations of the overall sketch to demonstrate the features, as while it was built with midi output in mind, I didnt want to restrict accessibility, so I also included a built in sample mode. - sketch.js begins in sample mode, and features a stripped down midi mode where the output channel cannot be selected. - Midimode.js has no built in samples, but includes an extra slider for the output channel. Controls - On the far right hand side of the screen is a master tempo slider At the bottom of the screen is a master transpose slider that only effects midi notes being sent out (except on channel 3 which i have designated as a drum channel) and does not effect selected samples. At the bottom right of the screen are three buttons: MIDI toggles between midi and sample mode RESET resets sliders and positions to zero POLY/EUCLID toggles between polymeter and Euclidian modes. The function of each slider differs slightly depending on which version is being used sketch.js - V - Volume S - Sample R - Rotation B - Beats MidiMode.js - V - Velocity C - Channel N - Note R - Rotation B - Beats