Created by Jono Brandel (aka jonobr1), Carolina is an experimental musical landscape composed of vocals, guitars, bass and mellotrons made in collaboration with music artist Kimbra for her album release, The Golden Echo. Part of the just launched Android Experiments website by Google, ThreeJs made app allows you to change the perspective, pinch-to-zoom in and out and take in all the layers of this song with colourful and abstract environments. Each item on the trip represents a specific sound in the song. Together they create a road to Carolina.
While Carolina is a native Android Application, it’s actually a packaged website. The project was developed on Google Chrome and then deployed using the Mobile Chrome Apps Command Line Interface, CCA. This made development smooth because as Jono was able to develop and debug using Chrome Developer Tools, then deploy as an Android Application for final proofing.
The contents of the app itself is divided into two different parts. There is the introduction and the music visualization. The introduction serves two purposes. First, I wanted a way to introduce the interactions and concept. Then as an added benefit I needed a loading screen while all the geometry was created and the song was loaded. Despite all the files being local on the device it takes about 10 seconds to load everything. The perfect amount of time for an introduction! The introduction is made up of a Two.js scene, a two-dimensional drawing api that I author.
The music visualisation uses Three.js and the camera in the world is moved along a spline. There are number of different types of shapes for the various instruments in the track. As the song plays each shape has specific triggers. When one of these triggers occurs the shape is placed in the impending field of view of the camera. As the camera moves the shape flies by as if we were in a car or a train passing through a landscape.
For further information including all the code you can check out the project’s github page.