"Every" Composition Tool (2018)
html, css, javascript, php, lilypond
react.js, webaudio
view the website
This is an app I created in 2018 to help me finish composing my guitar piece Every, which I started in 2013. Every is around 10 minutes in length and is "a compendium of almost every playable guitar chord of 1-6 notes solely containing the note E and consisting only of fingered pitches or natural harmonics (up to the 5th partial)".
There are 319 possible chords that fit this criteria, and given the number of possible permutations, it became essential to build a tool that would allow an exploration of this combinatorial space in a way that was iterative and interactive, in order to ensure the output was playable and interesting to listen to. The rhythm of the piece is fixed - based on waves that gradually ebb in intensity - and so each ordering should attempt to find an ordering that suits this rhythm.
This interface shows all of the possible chords, and allows a user to drag and drop them into any order. A sythesized version of the re-ordered piece (algorithmically spliced together from samples) can then be played back by clicking the play and stop buttons in the bottom right of the window.
When the user has settled on an ordering they are happy with, they can export their result out as musical notation in lilypond code.
As well as being a tool for me, the composer, it could be used by guitar-players to create their own personalised version of the work, optimallly suited to their playing. When you open the website, the ordering given is my preferred ordering of the piece, however I like the idea of a performer making fine-tuning adjustments to the order of chords in the piece in order to aid playability, and personalize and shape the work according to the idiosyncracies of their playing and instrument.
Additionally, by making this code available online, I hope that it might be useful in helping other composers and performers to build similar interfaces for their musical projects.


