Project Groover

Autonomous live music generator (2012)

Fig 1. The web-based control unit.

Project Groover was a service that autonomously composed, sequenced, mixed, and mastered musical microgrooves at 140 BPM into a nonstop radio stream. The public web interface allowed listeners to download grooves as individual files, and 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 real-time 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 publicly 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).

Key lessons from 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 than 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 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-commercially-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 44.1 kHz PCM audio stream
  • Streaming infrastructure implemented using ezstream, icecast, lame and ffmpeg
  • A precursor to what is nowadays 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!)
Interested in my earlier work? See more in Legacy Projects.