Jump to content

256a-fall-2024/hw2

From CCRMA Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Homework #2: Sound Peeking

Due Dates

  • HW2 milestone: due Wednesday (10/09, 11:59:59pm Canvas); HW2 webpage updated with milestone video + in-class critique
  • HW2 final deliverable: due Monday (10/21, 11:59:59pm Canvas); HW2 final webpage/video + in-class presentation

In this assignment, you are to visualize sound in real-time, using ChuGL for the graphics programming, real-time audio, and as a programmable sound source. Your program will visualize: 1) live microphone input and 2) a designed sound narrative written in ChucK and visualized in your visualizer. This is a fun project but there are many moving parts; start early.

Specification (milestone): Design + Visualizing the Waveform, Spectrum, and Spectrum History

  • go over sndpeek-minimal.ck, and use sndpeek-minimal-guide.pdf as a guide resource.
  • explore sndpeek.ck, and its waterfall plot implementation (spectrum history). Ask questions on discord if anything needs to be clarified.
  • using our starter code (sndpeek.ck), design and prototype a basic visualization of time-domain waveform and magnitude spectrum.
  • test using the microphone input.
  • design and implement a waterfall plot (like sndpeek.ck), a real-time scrolling spectrogram, or another way to display spectrums over time.
    • feel free to experiment on how to represent the spectrum history visually.
    • "make it read"!

Milestone Deliverables (due: 10/09 Wed midnight)

  • HW2 project webpage (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw2/). It should include:
    • a name and description of your audio visualizer.
    • a few screenshots that capture various parts of your visualizer in action.
    • a short reflection on creating this milestone. (How did you feel as a designer?)
    • a video (0.5 - 2 minutes, with audio, screen capture or with camera) of your visualizer in action.
    • hint: capture your video in full-screen (GG.fullscreen(); will fullscreen ChuGL program)
      • upload to YouTube or Vimeo (or CCRMA) and embed the video from your webpage
      • we will take a look at this video together during our in-class critique milestone session (10/10 Thursday).

Specification (final deliverables): An Audio-Visual Narrative

  • create a sonic/musical narrative in ChucK to run inside your visualizer (Compose a computer-mediated music. Narratives that only use minutes of SndBuf pre-existing music is not allowed).
    • 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 to have "modes".
  • aesthetic goal:
    • technical fanciness not important!
    • making the viewer/listener feel something: important!!

Note

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

Final Deliverables (due: 10/21 Mon midnight)

  • HW2 project webpage (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw2/). It should include:
    • a name and description of your audio visualizer.
    • a few screenshots that capture various parts of your visualizer in action.
    • a polished high-resolution video (2-3 minutes, with audio, screen capture or with camera) of both your visualizer in action AND your narrative.
    • hint: capture your video in full-screen (GG.fullscreen(); will fullscreen ChuGL program).
      • upload to YouTube or Vimeo (or CCRMA) and embed the video from your webpage.
    • instructions for using your visualizers, including any keyboard/mouse control.
    • the production build of your visualizer (please specify the platform e.g., MacOS, Windows, or Linux).
    • all your ChucK code.
    • a final short text section that:
      • conveys your ideas/comments in constructing each program.
      • writes a short reflection on creating this visualizer (How did you feel as a designer?)
      • describes any difficulties you encountered in the process.
      • acknowledges help you received for this project.
    • feel free to include (or not include) your previous HW2 milestones. If you do, these previous milestones should appear AT THE BOTTOM of your HW2 webpage.
  • 2) submit to Canvas: URL to webpage and your ChucK code.