Jump to content

256a-fall-2025/hw2: Difference between revisions

From CCRMA Wiki
Ge (talk | contribs)
Created page with "= Homework #2: Sound Peeking = === Due Dates === * HW2 milestone: '''due Tuesday (10/7, 11:59:59pm); HW2 webpage updated with milestone video''' * HW2 final deliverable: '''due Tuesday (10/14, 11:59:59pm); HW2 final webpage/video''' <div style="text-align: left;">Image:waves-bw.jpg</div> In this assignment, you are to visualize sound in real-time, using ChucK/ChuGL for the graphics programming, real-time audio, and as a programmable sound source. Your program wil..."
 
Ge (talk | contribs)
No edit summary
 
Line 2: Line 2:


=== Due Dates ===
=== Due Dates ===
* HW2 milestone: '''due Tuesday (10/7, 11:59:59pm); HW2 webpage updated with milestone video'''
* (please update HW1 to use your CCRMA webpage or Medium by Sunday 11:59pm 10/5)
* HW2 final deliverable: '''due Tuesday (10/14, 11:59:59pm); HW2 final webpage/video'''
* HW2 milestone: '''due Tuesday (10/7, 11:59pm); HW2 webpage updated with milestone video'''
* HW2 final deliverable: '''due Tuesday (10/14, 11:59pm); HW2 final webpage/video'''


<div style="text-align: left;">[[Image:waves-bw.jpg]]</div>
<div style="text-align: left;">[[Image:waves-bw.jpg]]</div>

Latest revision as of 21:34, 29 September 2025

Homework #2: Sound Peeking

Due Dates

  • (please update HW1 to use your CCRMA webpage or Medium by Sunday 11:59pm 10/5)
  • HW2 milestone: due Tuesday (10/7, 11:59pm); HW2 webpage updated with milestone video
  • HW2 final deliverable: due Tuesday (10/14, 11:59pm); HW2 final webpage/video

In this assignment, you are to visualize sound in real-time, using ChucK/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

  • 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. (DO NOT USE GOOGLE DRIVE)
    • 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

  • 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.