Chorest: your personal Chord Forest

by Jack Atherton

running chorest | how to use chorest | the design of chorest | chorest in action

Running Chorest

Mac users: Download the application and unzip it. Then run it right away!

Everyone else: coming soon...

How to use Chorest

In your Chorest, you control a small square avatar by using the arrow keys. As you move through the hex grid, you can plant seeds and grow them into trees.

Planting new seeds (s) changes the chord that is planted — the intervals are chosen by the type / color of seeds, and the bass note is chosen to make the chord fit in best with the surrounding chords. You can grow seeds into trees by signaling your intent to grow the trees (hold down spacebar) and giving them food (noisy voice activation). Stroking your laptop where its microphone is located may also be a good way to grow your seeds. Plants need a loving touch.

To hear your trees rustle in the wind, activate them with your voice. You can either choose to do so by blowing on them (noisy voice activation) or singing to them (harmonic voice activation). Toggle between the two modes with (n). You may find that your trees like to sing so much that they continue after you are gone, fueled only by their own song.

At any time, you can display in-app help (h) or quit the chorest (q).

The Design of Chorest

Chorest was, at its core, motivated by two central ideas:
  (1) Blowing on glowing strings to play their sound, like a wind harp.
  (2) Making the experience as relaxing and peaceful as possible.

I wanted Chorest to have a pretty minimalistic, but also bright and colorful feel. I developed the concept of a glowing, vibrating string from the idea of taking a wind harp into a calm, retro, and minimalist space. Expanding the strings to an entire forest came next; segmenting the forest into a hex grid with self-contained chords was a logical next step for adding a bit more structure to the experience.

I also wanted to make the experience as personal and frictionless as possible, so I developed three different ways of viewing the forest: map mode, third-person mode, and first-person mode. I envision that the map mode will be useful for getting a bird's-eye view of what's going on, and for finding one's way when one gets lost in the chorest. The third-person view makes the chorest more cinematic, showing it in three-dimensional space instead of on a flat plane. And, the first-person view allows for a more intimate and immersive experience than the other two. Depending on what experience the user wants, they can pick their favorite view and stick to it, or move between them effortlessly.

Using the voice to control the chorest came very naturally from the motivation for a calming experience. When I sing, or breathe out over extended periods of time, I become much calmer than if I simply breathe normally. (There is a biological / psychological explanation for this, but I don't have a reference for it right now.) So, I designed the sonic activation of the trees to encourage processes of breathing out. The trees are very sensitive, activated plenty by low volume signals. And, they fade out slowly after you stop breathing / singing, to reinforce the feeling of calm even as the user stops to breathe in more air. To further calm the user, the trees glow brighter the more they are activated, in a peacefully pulsating sort of way. I let users choose whether to activate the trees by blowing on them (noisy sound) or singing to them (harmonic sound), so that users can interact with the trees in whatever way is most comfortable. For the amount of feedback between my computer's microphone and speakers, using the harmonic activation allows for the strings to "play themselves" indefinitely, which is calming in its own way.

Allowing the growth of trees allows users to feel more connected to their chorest. In order to tie the visual representation of the trees with the sound design, I made the timbre of the trees much richer as they grow larger. It's necessary to both hold the spacebar and input a noisy signal to the microphone to grow a tree. The keyboard input makes sure that users don't ever accidentally grow seeds they didn't want to grow. And, the vocal input makes the user feel much more responsible for the growth of the trees. On my computer, I am able to grow a tree simply by stroking the area near the microphone. To me, this creates a very intimate connection to the trees I grow. It's possible to grow trees to be very tall, or leave the entire forest as seeds — whichever the user thinks sounds and looks best!

To add a little more nuance and emotion to the overall Chorest experience, I also show users recordings of their previous experiences in the chorest, as ghosts elsewhere within the chorest. The ghost chorests remember all of the trees they contain, but only display the few around the ghosts, to add to the illusion that the ghost is walking through another world. As the user gets close to a ghost, they can hear the chords that the ghost is near, but activated with the user's own current mic input. This connects the user to the past, in a literal and poetic sort of way. Furthermore, users cannot activate the trees of the past themselves; they may only listen to where the ghost has been.

Many of the design decisions in this project were in part due to technical limitations of scale. For example, the trees were originally sonified with a physically modeled sound of a resonance being blown, somewhat like a wind harp might sound like. However, it was not possible to play hundreds of those at once in real time, so I switched to sine and square oscillators. Along a similar vein, I originally had plans to show six complete ghost grids in a ring around the user, fully animated. Unfortunately, my graphics card was not able to render that many textures at once! This limitation gave rise to the idea that only a few spaces around a ghost would display at once, which I believe is actually a better aesthetic experience. Even so, I still only have the processing power to show two ghosts at once! Future work should look into more efficient ways to animate and sonify the chorest, so that it can be experienced at a grander scale.

Thanks to Ge Wang and the entire 256A class, who were instrumental to my success in this project for their aesthetic feedback (big and small) at various stages of the project.

Chorest in Action

Here's a brief look into the experience of Chorest:

I hope you enjoy building your own Chorest!