/MusicVisuals

A music visualiser made in Java for a 2nd year OOP module in TUD

Primary LanguageJavaMIT LicenseMIT

Music Visualiser Project

Description of the assignment

This group project involved using creative coding skills to create an abstract visual story of a chosen song. We analysed the audio of our song of choice, Primavera by Ludovico Einaudi and attempted to create a visually compelling, abstract representation of the song's mood, structure and theme.

This was accomplished using Processsing and its associated Minim audio library.

Collaborators

Name Student Number
David Corcoran D22126022
Kai Reid C21475961

Installation / How to Run

  1. Ensure you have JDK 17 or newer installed
  2. Ensure VSCode and the Extension Pack for Java are installed
  3. Clone this repository to your local machine
  4. Navigate to the Main file in the ie/tudublin package and press ctrl+f5 to run, or use the "Run Java" play button in the top right

How it works

The layers of land are generated randomly using Perlin noise on each run, and filled in with trees that spawn and grow according to the current intensity of song. The river, birds, moon and shooting stars also match the music in their own ways.

        if (mv.random(4) < mv.getSmoothedAmplitude()) {
            spawnTree();
        }
        for (PineTree tree : trees) {
            if (mv.random(19 ) < mv.getSmoothedAmplitude()) {
                tree.grow();
            }
        }

The rays of the sun are split into groups which react to different frequency bands.

What I am most proud of in the assignment

Initially we planned to create a typical EDM visualiser, however we were unable to agree on a song that we felt we could create realise in a unique way. Primavera appealed to both of us. Meaning "sprintime" in Italian, it inspired us to create a landscape that grows and becomes more complex alongside the music.

I am happy with the humble justice we were able to do to the theme and structure of such a grand and moving piece of music. The gently faded layers and small scale trees create a sense of scale. The slow transition from empty landscape to brimming forest fits the theme of springtime and the rise/build up of the song.

The sunset mirrors the anticipation before the crescendo, where the visualisation turns from slow bloom to excited apex.

References / Inspiration

Olly Moss' layered silhouette landscape art created for the game Firewatch was a perfect style fit for our intentions.

Firewatch Image Firewatch Image