From CCRMA Wiki
Jump to: navigation, search

Homework #2: Sound Peeking

Due Dates

  • Artful Design chapter 2 reading response: due Sunday (9/27) 11:59pm
  • design milestone: due Wednesday (9/30) 4pm: in-class critique
  • Artful Design chapter 3 reading response: due Sunday (10/4) 11:59pm
  • design "done!": due Wednesday (10/7) 4pm: final webpage/video + in-class presentation


In this assignment, you are to visualize sound in real-time, using Unity for the graphics programming, and ChucK (via Chunity) as a sound source. Your program will visualize: 1) live microphone input and 2) a designed sound narrative written in ChucK!

Specification (part 1 of 4): Tutorials + Readings

Specification (part 2 of 4): Real-time Sound Input in Unity

  • follow and do Ge and Kunwoo Artful Design TV tutorial "HelloAudioVisualizer" (do Roll-a-Ball and Chunity tutorials first)
  • Link => https://youtu.be/nMeF2W2gv7E
  • ChunityAudioVisualizer starter project => Unity Package | scripts only
  • end up with a usable Unity project as a starting point for your project
    • basic visualization of time-domain waveform and magnitude spectrum
    • test using the microphone input!

Specification (part 3 of 4): Visualizing the Spectrum History

  • design and implement a waterfall plot (like sndpeek), a real-time scrolling spectrogram, or another way to display spectrums over time
    • make it "read"!
    • feel free to experiment on how to represent the spectrum history visually

Specification (part 4 of 4): An Audio-Visual Narrative

  • using Chunity, create a ChucK program to run inside your visualizer
    • can use a combination of microphone (adc in ChucK) and sound synthesis
    • think about different "sections" or "movements", and how to transition between them
    • try to align the aesthetic of your visualizer and your ChucK program (give it personality)
    • (optional): can use keyboard input
  • aesthetic goal:
    • polish not important!
    • technical fanciness not important!
    • making the viewer/listener feel something: important!!


  • have fun with it!!!
  • comment your code!
  • you are welcome to work together, but you must do/turn in your own work


turn in all files through Canvas, with concise online documentation + readme

  • 0) reading responses, to Chapters 2 and 3 (send URLs to Ge/Kunwoo; upload URL to Canvas), as per usual
  • 1) webpage page for your project (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw2/). It should include:
    • a name and description of your visualizer design
    • a high-resolution video (screen capture or with camera) of your visualizer in action & narrative
      • (please upload to YouTube or Vimeo and embed the video from your webpage)
    • a few screenshots that capture great parts of your visualizer in action
    • instructions for using your visualizers, including any key/mouse control
    • links to your files of various kinds
    • a short text section that:
      • conveys your ideas/comments in constructing each program
      • describes any difficulties you encountered in the process
      • acknowledges help you received for this project
    • send URL to Ge and Kunwoo
  • 2) also submit to Canvas: source code to the project (please clean up project to remove unnecessary files + test before submitting)
  • 3) also submit to Canvas: a high-resolution (screen capture or with camera) video of your visualizer / audio-visual narrative
  • 4) also submit to Canvas: screenshots of your visualizer!
  • 5) also submit to Canvas: URL to webpage
  • 6) an additional README.txt file containing information on your Operating System and any instructions for running the project