MDAMAGER
Arp/TILT By M Damager Web based, gyroscope controlled musical instruments https://mikeydamager.github.io/TILT/ https://mikeydamager.github.io/ARP/ Introduction Arp/TILT are musical instruments that use touchscreen and mobile device gyroscope data to control synthesizer parameters. TILT was created as a novel method of musical expression for controlling synths. Arp is a development of this idea, which uses similar principles to create an instrument that can serve as accompaniment for TILT. Arp exists on the boundary between programmable electronic instruments, and traditional acoustic instruments that require a higher degree of embodied physicality in order to play. Concept and Background Research Much of my artistic practice involves creating electronic musical instruments and compositional tools, particularly tools that embrace aleatoric discrepancies, foster improvisational spirit and allow people with limited musical knowledge to intuitively approach making music. The initial inspiration for TILT came from the novel method of musical interaction associated with the Theremin. Theremins are electronic instruments that generate sound based on fluctuations of a magnetic field. Unlike the majority of electronic instruments, which are controlled by keyboards and modified with knobs and sliders, the theremin requires a unique form of physical interaction that is not based on kinetic energy being transferred into acoustic energy, but instead correlates gestural actions of the performer with a musical output. Theremins are relatively simple synthesizers in terms of sound and what parameters user gestures can control, but they are capable of producing very nuanced and human performances, and I wanted to create an electronic instrument that utilized fluid, rolling gestures as a method of controlling its output. I wanted to create a similar electronic instrument that included a programmable element, but that was also playable by a performer. Aesthetically, I wanted Arp to appear tactile, so I modified the buttons and sliders to have shadow for depth, and to appear as they were extruded from the surface of the sequencer. I achieved this with CSS styling. For TILT, I leaned into a liquid and bubble aesthetic, using animated bubbles to indicate the direction of tilt and a colour scheme that was influenced in equal measure by spirit levels and green monochrome dot matrix display screens. Technical Implementation TILT and Arp are web based instruments built using P5.JS and Tone.js and rely on twist and tilt data taken from mobile device gyroscopes. They were built using a number of reference sketches as starting points, particularly the Mobile Device Orientation sketch covered in term two. TILT is a solo monophonic instrument. The pitch is controlled by the forward and backwards tilt of a mobile device. Parameters for sculpting the sound are controlled by sliders, as well as left to right device twist, and touchscreen x and y axis, allowing for multiple different axis of control. Arp is intended to accompany TILT. It gives users an 8 row, 16 step monophonic sequencer. Each row of the sequencer corresponds to one of the seven degrees in a diatonic mode. Tilt data determines which mode is applied to the grid, which allows users to program melodic patterns and have them follow chord progressions in a particular key by tilting their device back and forth. Reflection and Future Development I feel that the synths are reasonably useful as instruments in their current state, but there are a number of shortcomings that I would like to address in future updates. The usefulness of the sketches would greatly increase if I included midi output capabilities, which would be relatively straightforward to do using webMIDI, but I opted against including it in this project as my intention was to create two standalone instruments. I initially intended for the instruments to be able to communicate with each other via websockets, as I hoped to centralise the sound engine on one sketch, and parameter controls on another. I wanted the instruments to work in tandem across two devices, as a two handed experience, so I hoped to sync them both to a global timecode and tried using websockets to this end, but I could not find a reliable application as the potential lag between communications was not be suitable for live performance, so I removed that functionality back, and instead focused on a creating one device with a timecode (Arp), and another that allowed for a looser, unquantized play style. When used in conjunction in the manner there is no need to syncronise the TILT to Arp, as this becomes the job of the performer. Other solutions would be to perhaps control multiple sketches using an external midi timecode, but this would be a more complicated solution that would require a degree of preparation and prior knowledge that would be alienating for anybody without external midi capabilities. As with most musical instruments, more stable results could be produced from working with technologies other than javascript, as javascript timing is not as reliable as other languages, but for the purposes of accessibility I chose to make Arp and TILT as web applications. Initially I hoped to also include a drum machine, but I abandoned this feature due to the aforementioned timing instabilities inherent in javascript. References Aston, B. (n.d.). Motion Device Orientation. [online] editor.p5js.org. Available at: https://editor.p5js.org/beckyaston/full/5wtxAxSpZ [Accessed 21 May 2024]. White, L. (n.d.). Step Sequencer. [online] editor.p5js.org. Available at: https://editor.p5js.org/lucwhite/sketches/HuPAIWpM1 [Accessed 21 May 2024]. asd0999 (n.d.). p5.js Drum Machine. [online] editor.p5js.org. Available at: https://editor.p5js.org/asd0999/sketches/r1od2atFQ [Accessed 21 May 2024]. Carpece (n.d.). p5.js Step Sequencer. [online] editor.p5js.org. Available at: https://editor.p5js.org/carpece/sketches/_tbrpjK3k [Accessed 21 May 2024]. Github.io. (2024). Tone.js. [online] Available at: https://tonejs.github.io/docs/ [Accessed 21 May 2024]. adamgiebl @gmail.com, A.G. (n.d.). CSS generator. [online] neumorphism.io. Available at: https://neumorphism.io/ [Accessed 21 May 2024].