After some experiments with machine learning and music, I also tried algorithmic composition.



According to Wikipedia [1],

Algorithmic composition is the technique of using algorithms to create music.

Algorithms (or, at the very least, formal sets of rules) have been used to compose music for centuries; the procedures used to plot voice-leading in Western counterpoint, for example, can often be reduced to algorithmic determinacy. The term can be used to describe music-generating techniques that run without ongoing human intervention, for example through the introduction of chance procedures. However through live coding and other interactive interfaces, a fully human-centric approach to algorithmic composition is possible.

Some algorithms or data that have no immediate musical relevance are used by composers as creative inspiration for their music. Algorithms such as fractals, L-systems, statistical models, and even arbitrary data (e.g. census figures, GIS coordinates, or magnetic field measurements) have been used as source materials.

So, I started with a simple self-made algorithm, implemented with python [4], in order to obtain from a single number, two series of values: pitch and duration of the generated melody.

Then, starting with the melody, I've added a pinch of Schoenberg's theory [2] and I made the other parts, all based on synthetic instruments.

I utilized this methodology in order to create a base melody starting from 4 numbers; the choice fell (in a completely random way) on atomic numbers of four transition metals [3]: Iron, Cobalt, Nickel and Copper.

The result it's weird and alienating but, in my opinion, definitely interesting.

You can listen "Elements" on major music streaming services, including Spotify:

https://open.spotify.com/album/5bHdpGw8RHnfiYobfV2Pw9


References

  1. Algorithmic composition - Wikipedia
  2. Twelve-tone technique - Wikipedia
  3. Transition metal - Wikipedia
  4. https://github.com/andreafortuna/pyscho