Centricity is an audio visualizer and an exploration of how music is perceived over time. Experience the frequency spectrum from different perspectives: far away where music is shown in the context of its history, and then up close where the music moves with you.

Visualizer with thx Visualizer with short beats Visualizer with cymbal crash


Microphone input (Also sprach Zarathustra)

Running the visualizer

Use the arrow keys to control the camera movement, and press "N" to play the Chuck audio narrative. In order to avoid feedback, mute your computer (or the audio output in Unity). Wear headphones in order to hear the narrative while your computer is muted.

  • Unity project files (less laggy than the production build)
  • Production build for Mac OS with Intel 64
  • Reflection

    Overall, I'm proud of how this visualizer has turned out and am pretty amazed by all you can do with ChucK and Unity! It's been interesting to reflect on my own design process in relation to what we've been reading in Artful Design. Since the beginning of this project, I've been interested in an extended spectrum history and the use of perspective - and that has stayed constant. But my approach towards the form of the visualizer has changed a lot. At first, I was thinking of a rainbow wash of color that would rush past you, and then slow down as you zoomed away. And then I was thinking all about tree rings, and a reallllly slow spectrum history that could show an entire piece of music when you zoomed out. But, as I started coding up the rings in Unity, I started to get a better feel of the medium and what is possible. (For example, 32 rows of history already get laggy, even when I'm using lines instead of cubes.) Ultimately, designing the form of my visualizer was a very bottom-up process: seeing what lines in Unity could do and fine-tuning parameters until they looked just right.

    I did run into some frustrating moments near the end of the project, mostly around integrating ChucK files. I wish I'd started working on the ChucK program earlier, because I'm still not very comfortable with the language. I think I'm able to piece things together and mess around with examples, but it's much more difficult for me to make something from scratch. Anyway, hoping to get lots more ChucK practice over the rest of the quarter!


    Thank you to Ge Wang and Kunwoo Kim for the Chunity tutorial and starter package, and to Julia Mills for the many useful tutorial links and tips in the class discord! I also used a lot of ChucK examples (thx, follower, otf) and learned a ton from watching Youtube tutorials. I especially liked these:

  • Peer Play playlist for setting up circles and bins
  • Glow
  • Camera Control
  • Line Renderer playlist

  • Milestone 2

    Here is my in-progress audio visualizer.

    Right now it is all function and very little form. I want it to look like tree rings. I think my next step is to create larger bins so that the lines are less pointy, and add colors. I'm also thinking of adding some random perturbances, and varying the distance between circles to make it seem more organic.

    Tree rings

    Milestone 1

    I thought it was pretty cool to go through the tutorials and end up with a working game and audio visualizer! I'd never used Unity before, and it's surprisingly intuitive. I was impressed by how easy it was to apply physics to the ball and dictate how it should interact with other elements. When I use CAD to model 3D objects, it's much harder to get them to move properly. The Rollaball game also made me notice how the sound effects you use really affect how you percieve the weight and material of an object. The sound I found for the ball-to-wall collision made them both sound like they were made of metal (and I wanted it to sound like rubber on stone).

    I do think I have a long way to go to become totally comfortable with Chunity. I think I was mostly just following along through the tutorials, and now need to go back and process what I was doing at each step. I am excited to learn more!