Skip to main content

๐Ÿ‘พ Made with Mercury

Below is some inspiration of awesome things made by the Mercury community.

Made something with Mercury? I'm very happy to add it to the list! So please edit this file by adding a URL here and send a pull request! ๐Ÿ˜Ž Read Contribute to find out more about editting files on github.

๐Ÿ” Further readingโ€‹

On my website you can find projects I'm working on that involve Mercury and live coding

I published a paper at the International Conference on Live Coding in Madrid in 2019. The paper is a bit outdated now tho, but you can still read it!

โœจ Inspiration & Bibliographyโ€‹

This project is inspired by the composition techniques named Serialism and Total Serialism. The technique approaches the parameters that make up a piece of music as individual series of values. These parameters are (but not limited to) pitch, duration/rhythm and velocity/dynamics.

Serialism originated from the twelve-tone technique, described in 1919 by Josef Hauer in his published work "Law of the twelve tones". This technique starts out with a randomly ordered set of the twelve chromatic notes. From there on out you can apply transformations on this set, such as reverse/retrograde, inverse, transpose, and combinations between those.

For many of the functions programmed much inspiration was gained from Laurie Spiegels paper on "Manipulation of Musical Patterns" (1981) in which she suggests to "extract a basic "library" consisting of the most elemental transformations which have consistently been successfully used on musical patterns, a basic group of "tried-and-true" musical manipulations." Specifically the stretch and expand methods were inspired by Laurie Spiegels writings in this paper. Stretch is a method that is "inserting a smooth ramp between discretely separated values" and expand is an interpretation of "Extension beyond that which already exists in such a way as to preserve continuity with it, to project from it"

The euclidean rhythm generator was inspired by the famous paper by Godfried Toussaint.

The clave rhythm generator was inspired by another paper by Godfried Toussaint.

Inspiration for the sequencing also came from the Live Coding scene and current programming languages available such as Tidal, Extempore, SonicPi and more. In Live Coding the Serialism technique is very common when programming music. In many cases the rhythms, melodies, and other musical expressions are expressed in arrays that are iterated based on the timing of the system.

The inspiration for usage of Integer Sequences came from composers such as Iannis Xenakis, who used the fibonacci formula in his piece Nomos Alpha and referred to the technique as Fibonacci Motion. Also Xenakis referred to the usuage of set theory for composition as Symbolic Music.

The Online Encyclopedia of Integer Sequences is a great resource for number sequences that can be derived from a wide variety of mathematical functions. A famous sequence is the Fibonacci sequence. An interesting approach used with integer sequences in algorithmic composition is applying a modulo operation. For the fibonacci sequence this results in the Pisano periods.

The Hexadecimal rhythm generator was inspired by a workshop by Steven Yi at the International Conference on Live Coding 2020 at the University of Limerick, Ireland.

Some methods from the Transformational and Stochastic library are inspired by objects or functions in the Max/MSP programming environment. Such as the urn, spread and spreadInclusive methods.

The collatz conjecture algorithm was inspired by a Numberphile and Coding Train video on youtube. The conjecture allows for very organic graphs when drawing the even-odd numbers in sequence as small rotations in angles of lines.

The Infinity Series is based on the work by composer Per Nรธrgรฅrd. The method takes its name from the endlessly self-similar nature of the resulting musical material, comparable to fractal geometry. Mathematically, the infinity series is an integer sequence. A great explanation can be found here:

Some other interesting resources and papers that have been used for some of the methods within this library.