256a-fall-2024/hw2

From CCRMA Wiki
Jump to: navigation, search

Homework #2: Sound Peeking

Due Dates

  • HW2 milestone: due Wednesday (10/09, 11:59:59pm Canvas); HW2 webpage updated with milestone video
  • HW2 final deliverable: due Monday (10/21, 11:59:59pm Canvas); HW2 final webpage/video
Waves-bw.jpg

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 + Visualize 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 your own 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)
      • Let your design speak itself ("Show, don't tell"). Don't include explanatory narrations or texts.
      • Use ChuGL UIs for development only. It should not be part of the design itself or the video.
    • 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 (The narrative should justify the medium of computer music. Simple playback of pre-recorded music 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!!

Final Deliverables (due: 10/21 Mon midnight)

  • 1) 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 (1.5-3 minutes, with audio, screen capture or with camera) of both your visualizer in action AND your narrative.
      • Please don't include ChuGL development UIs in your final video. They are for development purpose only.
      • 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.
      • Show, don't tell.
    • instructions for using your visualizers, including any keyboard/mouse control.
    • 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 creating your visualizer?)
      • 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.

Note

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