Project Groover

Autonomous live music generator (2012)

Fig 1. The web-based control unit.

Project Groover was a service which autonomously composed, sequenced, mixed and mastered musical microgrooves at 140 BPM into a non-stop radio stream. The public web interface allowed listeners to download grooves as individual files, and to also train the composition AI through an instant feedback mechanism. The ultimate goal of Project Groover was the algorithmic generation of a music album-like set of songs with minimal human guidance.

In 2012 I sought to improve my understanding of realtime audio production and streaming and was particularly interested in better integration of scripting languages into the sequencing and mixing workflow. The study quickly evolved into an exploration of algorithmic composition. The core MVP project took approx. 100 hours to develop and reused pre-existing and publically available software libraries as much as possible, after which it served as a generative machine learning exploration testbed.

Fig 3. Listen to the Project Groover Remixes album on Soundcloud (50 min).

Some key lessons of this project:

  • Modularisation proved particularly effective for prototyping – e.g. as the sequencer took a stream of XML note data as input it became trivial to update the song generator or the underlying models without stopping the stream.
  • A significant amount of work was saved through integration of the VST standard, allowing the reuse of the existing collection of compressors, EQ etc. effect libraries for mixing and mastering.
  • The state of open source streaming software was a bit underdeveloped even in 2012, and required more tuning that I had expected in order to achieve good reliability.
Fig 2. How it sounded. Press play to hear a
five hour snippet of audio from the original
live generated broadcast.

This project also raised some interesting hypothetical legal questions in the field of copyright, such as whether or not e.g. a thousand servers streaming (essentially making available to the public) new generated music 24/7 could sooner or later infringe some existing music, or pre-empt some future yet to be commerically published music for that matter.

As a postscript, in the 2020s the legal questions surrounding such generated content are finally starting to be addressed by courts thanks to generative AI becoming a mainstream topic.

Specification:

  • One 8-core Xeon server with a 100 Mbit network connection and 32 GB of RAM
  • Song composer/generator (combining a simple neural network and Markov chains), producing a constant stream of note control data in XML
  • Basic UI controls – live listeners had the option to “Like” tracks, which was used for reinforcement learning input. Web listeners could also download MP3s of all recently generated microgrooves.
  • A custom C# sequencer and VST host for rendering the XML note sheet into a 44100 Kbps raw audio stream
  • Streaming infrastructure implemented using ezstream, icecast, lame and ffmpeg
  • A precursor to what is nowdays known as an MLOps pipeline retrained generative models and adjusted generation weights once every 24h (only done if and when the newly accumulated listener “Like” data exceeded 100 entries, so no updates on slower days!)