3D Tone Generator

3D Tone Generator

Screen Shot 2017-11-17 at 2.49.38 PM.png

A project completed in the Spring (2017) for Physical Computing Studio. I created an augmented virtual world that played a specific tone when a specific box was selected by the user, using an Arduino UNO.

The goal of the project was to create a custom Google Cardboard that fits our personal phone, create a Node.js server that was able to execute actuation through a Arduino or Raspberry Pi and to create a Three.js virtual reality world that could communicate with the server. 

An Arduino and speaker were used to create sound when a box was highlighted on in the virtual world.


I learned how to actuate a response from the 3-D world to the outside world by using Johnny-Five. I created my own server using Node.js and utilized three.js to code my virtual world. I modeled the cube matrix using Rhinoceros. I exported and imported over 300 cubes into my virtual world. Each cube was then coded to correspond to a certain tone that would be played using the Arduino. I laser cut the Google Cardboard and modeled a box to hold the speaker and Arduino.


I think the overall project was an overall success. I would have liked to generate an algorithm that generated a matrix of cubes, corresponding them to a sound instead of hardcoding each of them, but due to my lack of time I failed to do so. I also think that I could have made the virtual world more interactive. After around 3 minutes, users got bored of just selecting different cubes. To further my project, different sounds could be incorporated rather than monotonous 1 second tones.